summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7110.txt
blob: ff8f6850aef364b71ed31e7fe7a9085c7f28e05b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
Internet Engineering Task Force (IETF)                           M. Chen
Request for Comments: 7110                                        W. Cao
Category: Standards Track                   Huawei Technologies Co., Ltd
ISSN: 2070-1721                                                  S. Ning
                                                     Tata Communications
                                                               F. Jounay
                                                               Orange CH
                                                               S. Delord
                                                            January 2014


          Return Path Specified Label Switched Path (LSP) Ping

Abstract

   This document defines extensions to the data-plane failure-detection
   protocol for Multiprotocol Label Switching (MPLS) Label Switched
   Paths (LSPs) known as "LSP ping".  These extensions allow a selection
   of the LSP to be used for the echo reply return path.  Enforcing a
   specific return path can be used to verify bidirectional connectivity
   and also increase LSP ping robustness.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7110.
















Chen, et al.                 Standards Track                    [Page 1]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ....................................................3
   2. Requirements Language ...........................................3
   3. Problem Statements and Solution Overview ........................3
      3.1. Limitations of Existing Mechanisms for Bidirectional LSPs ..4
      3.2. Limitations of Existing Mechanisms for Handling
           Unreliable Return Paths ....................................4
   4. Extensions ......................................................5
      4.1. Reply via Specified Path Mode ..............................6
      4.2. Reply Path (RP) TLV ........................................6
      4.3. Tunnel Sub-TLVs ............................................8
           4.3.1. IPv4 RSVP Tunnel Sub-TLV ...........................10
           4.3.2. IPv6 RSVP Tunnel Sub-TLV ...........................11
           4.3.3. Static Tunnel Sub-TLV ..............................12
      4.4. Reply TC TLV ..............................................12
   5. Theory of Operation ............................................13
      5.1. Sending an Echo Request ...................................14
      5.2. Receiving an Echo Request .................................14
      5.3. Sending an Echo Reply .....................................15
      5.4. Receiving an Echo Reply ...................................16
      5.5. Non-IP Encapsulation for MPLS-TP LSPs .....................16
   6. Security Considerations ........................................16
   7. IANA Considerations ............................................17
      7.1. TLVs ......................................................17
      7.2. New Target FEC Stack Sub-TLVs .............................17
      7.3. New Reply Mode ............................................17
      7.4. Reply Path Return Code ....................................18
   8. Contributors ...................................................19
   9. Acknowledgements ...............................................19
   10. References ....................................................19
      10.1. Normative References .....................................19
      10.2. Informative References ...................................20



Chen, et al.                 Standards Track                    [Page 2]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


1.  Introduction

   This document defines extensions to the data-plane failure-detection
   protocol for Multiprotocol Label Switching (MPLS) Label Switched
   Paths (LSPs) known as "LSP ping" [RFC4379] that can be used to
   specify the return paths for the echo reply message, increasing the
   robustness of LSP ping, reducing the opportunity for error, and
   improving the reliability of the echo reply message.  A new Reply
   Mode, which is referred to as "Reply via Specified Path", is added
   and a new Type-Length-Value (TLV), which is referred to as "Reply
   Path (RP) TLV", is defined in this memo.  The procedures defined in
   this document currently only apply to "ping" mode.  The "traceroute"
   mode is out of scope for this document.

   In this document, the term bidirectional LSP includes the co-routed
   bidirectional LSP defined in [RFC3945] and the associated
   bidirectional LSP that is constructed from a pair of unidirectional
   LSPs (one for each direction) that are associated with one another at
   the LSP's ingress/egress points [RFC5654].  The mechanisms defined in
   this document can apply to both IP/MPLS and MPLS Transport Profile
   (MPLS-TP) scenarios.

2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

3.  Problem Statements and Solution Overview

   MPLS LSP ping is defined in [RFC4379].  It can be used to detect
   data-path failures in all MPLS LSPs.

   LSPs are increasingly being deployed to provide bidirectional
   services.  The co-routed bidirectional LSP is defined in [RFC3945],
   and the associated bidirectional LSP is defined in [RFC5654].  With
   the deployment of such services, operators have a desire to test both
   directions of a bidirectional LSP in a single operation.

   Additionally, when testing a single direction of an LSP (either a
   unidirectional LSP or a single direction of a bidirectional LSP)
   using LSP ping, the validity of the result may be affected by the
   success of delivering the echo reply message.  Failure to exchange
   these messages between the egress Label Switching Router (LSR) and
   the ingress LSR can lead to false negatives where the LSP under test
   is reported as "down" even though it is functioning correctly.





Chen, et al.                 Standards Track                    [Page 3]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


3.1.  Limitations of Existing Mechanisms for Bidirectional LSPs

   With the existing LSP ping mechanisms, as defined in [RFC4379],
   operators have to enable LSP detection on each of the two ends of a
   bidirectional LSP independently.  This not only doubles the workload
   for the operators but may also bring additional difficulties when
   checking the backward direction of the LSP under the following
   condition:

      The LSR that the operator logged on to perform the checking
      operations might not have out-of-band connectivity to the LSR at
      the far end of the LSP.  That can mean it is not possible to check
      the return direction of a bidirectional LSP in a single operation
      -- the operator must log on to the LSR at the other end of the LSP
      to test the return direction.

   Associated bidirectional LSPs have the same issues as those listed
   for co-routed bidirectional LSPs.

   This document defines a mechanism to allow the operator to request
   that both directions of a bidirectional LSP be tested by a single LSP
   ping message exchange.

3.2.  Limitations of Existing Mechanisms for Handling Unreliable Return
      Paths

   [RFC4379] defines four Reply Modes:

   1. Do not reply
   2. Reply via an IPv4/IPv6 UDP packet
   3. Reply via an IPv4/IPv6 UDP packet with Router Alert
   4. Reply via application level control channel


   Obviously, the issue of the reliability of the return path for an
   echo reply message does not apply in the first of these cases.

   [RFC4379] states that the third mode may be used when the IP return
   path is deemed unreliable.  This mode of operation requires that all
   intermediate nodes support the Router Alert option and understand how
   to forward MPLS echo replies.  This is a rigorous requirement in
   deployed IP/MPLS networks, especially since the return path may be
   through legacy IP-only routers.








Chen, et al.                 Standards Track                    [Page 4]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


   In any case, the use of Reply Modes 2 or 3 cannot guarantee the
   delivery of echo responses through an IP network that is
   fundamentally unreliable.  The failure to deliver echo response
   messages can lead to false negatives, making it appear that the LSP
   has failed.

   Allowing the ingress LSR to control the path used for echo reply
   messages enables an operator to apply an extra level of deterministic
   process to the LSP ping test.  For example, when testing an LSP,
   Reply Mode 2 is used at the beginning but no echo reply is received.
   When failure of the return path is suspected, the operator can
   initiate another LSP ping with the Reply Mode defined in this
   document and specify a different return path that is deemed workable
   to complete the test.

   This document defines extensions to LSP ping that can be used to
   specify the return paths of the echo reply message in an echo request
   message.

4.  Extensions

   LSP ping, defined in [RFC4379], is carried out by sending an echo
   request message.  It carries the Forwarding Equivalence Class (FEC)
   information of the LSP being tested.  The FEC information indicates
   which MPLS path is being verified along the same data path as other
   normal data packets belonging to the FEC.

   LSP ping [RFC4379] defines four Reply Modes that are used to direct
   the egress LSR in how to send back an echo reply.  This document
   defines a new Reply Mode, the "Reply via Specified Path" mode.  This
   new mode is used to direct the egress LSR of the tested LSP to send
   the echo reply message back along the path specified in the echo
   request message.

   In addition, two new TLVs, the "Reply Path (RP) TLV" and "Reply
   Traffic Class (TC) TLV" [RFC5462], are defined in this document.  The
   Reply Path TLV contains one or more nested sub-TLVs that can be used
   to carry the specified return path information to be used by the echo
   reply message.












Chen, et al.                 Standards Track                    [Page 5]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


4.1.  Reply via Specified Path Mode

   A new Reply Mode is defined to be carried in the Reply Mode field of
   the echo request message.

   The value of the Reply via Specified Path mode is 5 (This has been
   allocated by IANA using early allocation and is to be confirmed by
   IANA).

       Value    Meaning
       -----    -------
           5     Reply via Specified Path

   The Reply via Specified Path mode is used to request that the remote
   LSR receiving the echo request message sends back the echo reply
   message along the specified paths carried in the Reply Path TLV.

4.2.  Reply Path (RP) TLV

   The Reply Path (RP) TLV is an optional TLV within the LSP ping
   protocol.  However, if the Reply via Specified Path mode requested,
   as described in Section 4.1, the Reply Path (RP) TLV MUST be included
   in an echo request message, and its absence is treated as a malformed
   echo request, as described in [RFC4379].  Furthermore, if a Reply
   Path (RP) TLV is included in an echo request message, a Reply Path
   (RP) TLV MUST be included in the corresponding echo reply message
   sent by an implementation that is conformant to this specification.

   The Reply Path (RP) TLV carries the specified return path that the
   echo reply message is required to follow.  The format of Reply Path
   TLV is as follows:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Reply Path TLV Type       |          Length               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    Reply Path return code     |           Flags               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                          Reply Path                           |
       ~                                                               ~
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Figure 1: Reply Path TLV






Chen, et al.                 Standards Track                    [Page 6]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


   Reply Path TLV Type:  It is 2 octets in length, and the type value is
      21.

   Length:  It is 2 octets in length.  It defines the length in octets
      of the Reply Path return code, Flags, and Reply Path fields.

   Reply Path return code:  The Reply Path return code field is 2 octets
      in length.  It is defined for the egress LSR of the forward LSP to
      report the results of Reply Path TLV processing and return path
      selection.  This field MUST be set to zero in a Reply Path TLV
      carried on an echo request message and MUST be ignored on receipt.
      This document defines the following Reply Path return codes for
      inclusion in a Reply Path TLV carried on an echo reply:

   Value         Meaning
   ------        ----------------------
   0x0000        Reserved, MUST NOT be used
   0x0001        Malformed Reply Path TLV was received
   0x0002        One or more of the sub-TLVs in the Reply Path TLV
                 were not understood
   0x0003        The echo reply was sent successfully using the
                 specified Reply Path
   0x0004        The specified Reply Path was not found, the echo
                 reply was sent via another LSP
   0x0005        The specified Reply Path was not found, the echo
                 reply was sent via pure IP forwarding (non-MPLS)
                 path
   0x0006-0xfffb Unassigned
   0xfffc-0xffff Experimental Use






















Chen, et al.                 Standards Track                    [Page 7]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


   Flags:  It is also 2 octets in length, it is used to notify the
      egress how to process the Reply Paths field when performing return
      path selection.  The Flags field is a bit vector and has following
      format:

           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |      MUST be zero         |A|B|
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                    Figure 2:  Flags

         A (Alternative path): the egress LSR MUST select a non-default
         path as the return path.  This is very useful when reverse
         default path problems are suspected that can be confirmed when
         the echo reply is forced to follow a non-default return path.
         Here, the default path refers to the path that the egress LSR
         will use to send the echo reply when Reply Mode 2 or 3 is used.
         If A bit is set, there is no need to carry any specific reply
         path sub-TLVs, and when received, the sub-TLVs SHOULD be
         ignored.

         B (Bidirectional): the return path is required to follow the
         reverse direction of the tested bidirectional LSP.  If B bit is
         set, there is no need to carry any specific reply path sub-
         TLVs, and when received, the sub-TLVs SHOULD be ignored.

         The A flag and B flag MUST NOT both be set, otherwise, an echo
         reply with the RP return code set to "Malformed Reply Path TLV
         was received" MUST be returned.

   Reply Path:  It is used to describe the return path that an echo
      reply will be send along.  It is variable in length and can
      contain zero, one or more Target FEC sub-TLVs [RFC4379].  In an
      echo request, it carries sub-TLVs that describe the specified path
      that the echo reply message is required to follow.  In an echo
      reply, the sub-TLVs describe the FEC Stack information of the
      return path (when the return path is an MPLS path) that the echo
      reply will be sent along.

4.3.  Tunnel Sub-TLVs

   [RFC4379] has already defined several Target FEC sub-TLVs, the Target
   FEC sub-TLVs provide a good way to identify a specific return path.
   The Reply Path TLV can carry any (existing and future defined) sub-
   TLV defined for use in the Target FEC Stack TLV to specify the return
   path.






Chen, et al.                 Standards Track                    [Page 8]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


   This document defines three new Target FEC sub-TLVs: IPv4 RSVP Tunnel
   sub-TLV, IPv6 RSVP Tunnel sub-TLV, and Static Tunnel sub-TLV.  One
   usage of these generic RSVP Tunnel sub-TLVs is when LSP ping is used
   to periodically verify the control plane against the data plane
   [RFC5884], using a Tunnel other than a particular LSP can avoid the
   impact of an LSP identifier changing when Make-Before-Break (MBB) is
   deployed.  These sub-TLVs also can be used in the Reply Path TLV to
   allow the operator to specify a more generic tunnel FEC other than a
   particular LSP as the return path.

   No assignments of sub-TLVs are made directly for TLV Type 21, the
   sub-TLV space and assignments for TLV Type 21 will be the same as
   that for TLV Type 1.  Sub-types for TLV Type 1 and TLV Type 21 MUST
   be kept the same.  Any new sub-type added to TLV Type 1 MUST apply to
   the TLV Type 21 as well.

   With the Return Path TLV flags and the sub-TLVs defined for the
   Target FEC Stack TLV and in this document, it could provide the
   following options for return paths specifying:

   1.  a particular LSP as return path

          - use those sub-TLVs defined for the Target FEC Stack TLV

   2.  a more generic tunnel FEC as return path
          - use the IPv4/IPv6 RSVP and Static Tunnel sub-TLVs defined in
            Sections Section 4.3.1, Section 4.3.2, and Section 4.3.3 of
            this document

   3.  the reverse path of the bidirectional LSP as return path

          - use B bit defined in Section 4.2 of this document.

   4.  Force return path to non-default path

          - use A bit defined in Section 4.2 of this document.















Chen, et al.                 Standards Track                    [Page 9]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


4.3.1.  IPv4 RSVP Tunnel Sub-TLV

   The format of the IPv4 RSVP Tunnel sub-TLV is as follows:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | IPv4 RSVP Tunnel sub-TLV Type |        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 IPv4 tunnel end point address                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              Flags            |     Tunnel ID                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Extended Tunnel ID                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   IPv4 tunnel sender address                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 3: IPv4 RSVP Tunnel Sub-TLV

   The IPv4 RSVP Tunnel sub-TLV is derived from the RSVP IPv4 FEC TLV
   that is defined in Section 3.2.3 of [RFC4379].  All fields have the
   same semantics as defined in [RFC4379] except that the LSP-ID field
   is omitted and a new Flags field is defined.

   The IPv4 RSVP Tunnel sub-TLV Type field is 2 octets in length, and
   the recommended type value is 26.

   The Flags field is 2 octets in length, it is used to notify the
   egress LSR how to choose the return path.  The Flags field is a bit
   vector and has following format:

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         MUST be zero      |S|P|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 4: Tunnel Flags

   P (Primary): the return path MUST be chosen from the LSPs that belong
   to the specified Tunnel and the LSP MUST be the primary LSP.

   S (Secondary): the return path MUST be chosen from the LSPs that
   belong to the specified Tunnel and the LSP MUST be the secondary LSP.
   Primary and secondary LSPs are defined in [RFC4872].







Chen, et al.                 Standards Track                   [Page 10]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


   P bit and S bit MUST NOT both be set, otherwise, an echo reply with
   the RP return code set to "Malformed Reply Path TLV was received"
   SHOULD be returned.  If P bit and S bit are both not set, the return
   path could be any one of the LSPs from the same Tunnel.

4.3.2.  IPv6 RSVP Tunnel Sub-TLV

   The format of the IPv6 RSVP Tunnel sub-TLV is as follows:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | IPv6 RSVP Tunnel sub-TLV Type |        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 IPv6 tunnel end point address                 |
   |                                                               |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              Flags            |     Tunnel ID                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Extended Tunnel ID                      |
   |                                                               |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   IPv6 tunnel sender address                  |
   |                                                               |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 5: IPv6 RSVP Tunnel Sub-TLV

   The IPv6 RSVP Tunnel sub-TLV is derived from the RSVP IPv6 FEC TLV
   that is defined in Section 3.2.4 of [RFC4379].  All fields have the
   same semantics as defined in [RFC4379] except that the LSP-ID field
   is omitted and a new Flags field is defined.

   The IPv6 RSVP Tunnel sub-TLV Type field is 2 octets in length, and
   the type value is 27.

   The Flags field is 2 octets in length and is identical to that
   described in Section 4.3.1.







Chen, et al.                 Standards Track                   [Page 11]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


4.3.3.  Static Tunnel Sub-TLV

   The format of the Static RSVP Tunnel sub-TLV is as follows.  The
   value fields are taken from the definitions in [RFC6370].

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Static Tunnel sub-TLV Type |        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Source Global ID                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Source Node ID                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Destination Global ID                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Destination Node ID                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Source Tunnel Num       |     Destination Tunnel Num    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              Flags            |     Must Be Zero              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 6: Static Tunnel Sub-TLV

   The Flags field is 2 octets in length and is identical to that
   described in Section 4.3.1.

   The sub-TLV type value is 28.

4.4.  Reply TC TLV

   Reply TOS Byte TLV [RFC4379] is used by the originator of the echo
   request to request that an echo reply be sent with the IP header TOS
   byte set to the value specified in the TLV.  Similarly, in this
   document, a new TLV, Reply TC TLV, is defined and MAY be used by the
   originator of the echo request to request that an echo reply be sent
   with the TC bits of the return path LSP set to the value specified in
   this TLV.  The Reply TC TLV is not limited to the Reply Mode
   specified in this document (Reply via Specified Path) but may be used
   in all the other Reply Modes as well.  The format of Reply TC TLV is
   as follows:









Chen, et al.                 Standards Track                   [Page 12]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Reply TC TLV type        |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | TC  |                    MUST be zero                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Figure 7: Reply TC TLV

   The Reply TC TLV Type field is 2 octets in length, and the type value
   is 22.

   The Length field is 2 octets in length, the value of length field is
   fixed 4 octets.

5.  Theory of Operation

   The procedures defined in this document currently only apply to
   "ping" mode.  The "traceroute" mode is out of scope for this
   document.

   In [RFC4379], the echo reply is used to report the LSP checking
   result to the LSP ping initiator.  This document defines a new Reply
   Mode and a new TLV (Reply Path TLV) that enable the LSP ping
   initiator to specify or constrain the return path of the echo reply.
   Similarly, the behavior of echo reply is extended to detect the
   requested return path by looking at a specified path FEC TLV.  This
   enables LSP ping to detect failures in both directions of a path with
   a single operation; of course, this cuts in half the operational
   steps required to verify the end-to-end bidirectional connectivity
   and integrity of an LSP.

   When the return path is an MPLS path, the echo reply MUST carry the
   FEC Stack information in a Reply Path TLV to test the return MPLS LSP
   path.  The destination IP address of the echo reply message MUST
   never be used in a forwarding decision.  To avoid this possibility
   the destination IP address of the echo reply message that is
   transmitted along the specified return path MUST be set to numbers
   from the range 127/8 for IPv4 or 0:0:0:0:0:FFFF:127.0.0.0/104 for
   IPv6, and the IP Time to Live (TTL) MUST be set 1, and the TTL in the
   outermost label MUST be set to 255.

   When the return path is a pure IP forwarding path, the procedures
   defined in [RFC4379] (the destination IP address is copied from the
   source IP address) apply unchanged.





Chen, et al.                 Standards Track                   [Page 13]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


5.1.  Sending an Echo Request

   When sending an echo request, in addition to the rules and procedures
   defined in Section 4.3 of [RFC4379], the Reply Mode of the echo
   request MUST be set to "Reply via Specified Path", and a Reply Path
   TLV MUST be carried in the echo request message correspondingly.  The
   Reply Path TLV includes one or several reply path sub-TLV(s) to
   identify the return path(s) the egress LSR should use for its reply.

   For a bidirectional LSP, since the ingress LSR and egress LSR of a
   bidirectional LSP are aware of the relationship between the forward
   and backward direction LSPs, only the B bit SHOULD be set in the
   Reply Path TLV.  If the operator wants the echo reply to be sent
   along a path other than the reverse direction of the bidirectional
   LSP, the A bit SHOULD be set or another FEC sub-TLV SHOULD be carried
   in the Reply Path TLV instead, and the B bit MUST be clear.

   In some cases, operators may want to treat two unidirectional LSPs
   (one for each direction) as a pair.  There may not be any binding
   relationship between the two LSPs.  Using the mechanism defined in
   this document, operators can run LSP ping one time from one end to
   complete the failure detection on both unidirectional LSPs.  To
   accomplish this, the echo request message MUST carry (in the Reply
   Path TLV) a FEC sub-TLV that belongs to the backward LSP.

5.2.  Receiving an Echo Request

   "Ping" mode processing, as defined in Section 4.4 of [RFC4379],
   applies in this document.  In addition, when an echo request is
   received, if the egress LSR does not know the Reply Mode defined in
   this document, an echo reply with the return code set to "Malformed
   echo request received" and the Subcode set to zero will be send back
   to the ingress LSR according to the rules of [RFC4379].  If the
   egress LSR knows the Reply Mode, according to the Reply Path TLV, it
   SHOULD find and select the desired return path.  If there is a
   matched path, an echo reply with a Reply Path TLV that identifies the
   return path SHOULD be sent back to the ingress LSR, the Reply Path
   return code SHOULD be set to "The echo reply was sent successfully
   using the specified Reply Path".  If there is no such path, an echo
   reply with the Reply Path TLV SHOULD be sent back to the ingress LSR,
   the Reply Path return code SHOULD be set to the relevant code
   (defined in Section 4.2) for the real situation to reflect the result
   of Reply Path TLV processing and return path selection.  For example,
   if the specified LSP is not found, the egress then chooses another
   LSP as the return path to send the echo reply, the Reply Path return
   code SHOULD be set to "The specified reply path was not found, the
   echo reply was sent via another LSP", and if the egress chooses an IP
   path to send the echo reply, the Reply Path return code SHOULD be set



Chen, et al.                 Standards Track                   [Page 14]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


   to "The specified Reply Path was not found, the echo reply was sent
   via pure IP forwarding (non-MPLS) path".  If there is an unknown sub-
   TLV in the received Reply Path TLV, the Reply Path return code SHOULD
   be set to "One or more of the sub-TLVs in the Reply Path TLV were not
   understood".

   If the A bit of the Reply Path TLV in a received echo request message
   is set, the egress LSR SHOULD send the echo reply along a non-default
   return path.

   If the B bit of the Reply Path TLV in a received echo request message
   is set, the egress LSR SHOULD send the echo reply along the reverse
   direction of the bidirectional LSP.

   In addition, the FEC validate results of the forward path LSP SHOULD
   NOT affect the egress LSR continue to test return path LSP.

5.3.  Sending an Echo Reply

   As described in [RFC4379], the echo reply message is a UDP packet,
   and it MUST be sent only in response to an MPLS echo request.  The
   source IP address is a valid IP address of the replier, the source
   UDP port is the well-know UDP port for LSP ping.

   When the return path is an MPLS LSP, the destination IP address of
   the echo reply message is copied from the destination IP address of
   the echo request, and the destination UDP port is copied from the
   source UDP port of the echo request.  The IP TTL MUST be set to 1,
   the TTL in the outermost label MUST be set to 255.

   When the return path is a pure IP forwarding path, the same as
   defined in [RFC4379], the destination IP address and UDP port are
   copied from the source IP address and source UDP port of the echo
   request.

   When sending the echo reply, a Reply Path TLV that identifies the
   return path MUST be carried, the Reply Path return code SHOULD be set
   to relevant code that reflects results about how the egress processes
   the Reply Path TLV in a previous received echo request message and
   return path selection.  By carrying the Reply Path TLV in an echo
   reply, it gives the ingress LSR enough information about the reverse
   direction of the tested path to verify the consistency of the data
   plane against control plane.  Thus, a single LSP ping could achieve
   both directions of a path test.  If the return path is pure IP path,
   no sub-TLVs are carried in the Reply Path TLV.






Chen, et al.                 Standards Track                   [Page 15]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


5.4.  Receiving an Echo Reply

   The rules and process defined in Section 4.6 of [RFC4379] apply here.
   When an echo reply is received, if the Reply Mode is "Reply via
   Specified Path" and the Reply Path return code is "The echo reply was
   sent successfully using the specified Reply Path", and if the return
   path is an MPLS LSP.  The ingress LSR MUST perform FEC validation
   (based on the FEC Stack information of the return path carried in the
   Reply Path TLV) as an egress LSR does when receiving an echo request,
   the FEC validation process (relevant to "ping" mode) defined in
   Section 4.4.1 of [RFC4379] applies here.

   When an echo reply is received with return code set to "Malformed
   echo request received" and the Subcode set to zero.  It is possible
   that the egress LSR may not know the "Reply via Specified Path" Reply
   Mode, the operator may choose to re-perform another LSP ping by using
   one of the four Reply Modes defined [RFC4379].

   On receipt of an echo reply with Reply Path return code in the Reply
   Path TLV set to "The specified reply path was not found, ...", it
   means that the egress LSR could not find a matched return path as
   specified.  Operators may choose to specify another LSP as the return
   path or use other methods to detect the path further.

5.5.  Non-IP Encapsulation for MPLS-TP LSPs

   In some MPLS-TP deployment scenarios, IP addressing might not be
   available or the use of some form of non-IP encapsulation might be
   preferred.  In such scenarios, the Non-IP encapsulation defined in
   [RFC6426] applies here.  The LSP Ping Reply Mode in the echo request
   and echo reply is set to 5.  The return path of the echo reply is as
   specified in the Reply Path TLV.

6.  Security Considerations

   Security considerations discussed in [RFC4379] apply to this
   document.

   In addition, the extensions defined in this document may be used for
   potential "proxying" attacks.  For example, an echo request initiator
   may specify a return path that has a destination different from that
   of the initiator.  But normally, such attacks will not happen in an
   MPLS domain where the initiators and receivers belong to the same
   domain.  Even this, in order to prevent using the extension defined
   in this document for proxying any possible attacks, the return path
   LSP should have destination to the same node where the forward path
   is from.  The receiver may drop the echo request when it cannot
   determine whether the return path LSP has the destination to the



Chen, et al.                 Standards Track                   [Page 16]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


   initiator.  That means, when sending echo request, the initiator
   should choose a proper source address according the specified return
   path LSP to help the receiver to make the decision.

7.  IANA Considerations

7.1.  TLVs

   IANA has assigned the value 21 for the Reply Path TLV and assigned
   the value 22 for Reply TC TLV from the "Multiprotocol Label Switching
   Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters"
   registry, "TLVs" subregistry.

   Value   Meaning                           Reference
   -----   -------                           ---------
   21      Reply Path TLV                    this document (Section 4.2)
   22      Reply TC TLV                      this document (Section 4.4)

   The sub-TLV space and assignments for the Reply Path TLV will be the
   same as that for the Target FEC Stack TLV.  Sub-types for the Target
   FEC Stack TLV and the Reply Path TLV MUST be kept the same.  Any new
   sub-type added to the Target FEC Stack TLV MUST apply to the Reply
   Path TLV as well.

7.2.  New Target FEC Stack Sub-TLVs

   IANA has assigned three new sub-TLV types from the "Multiprotocol
   Label Switching Architecture (MPLS) Label Switched Paths (LSPs) Ping
   Parameters - TLVs" registry, "Sub-TLVs for TLV Types 1, 16, and 21"
   subregistry.

   Sub-Type      Sub-TLV Name             Reference
   -------       -----------             ---------
   26          IPv4 RSVP Tunnel        this document (Section 4.3.1)
   27          IPv6 RSVP Tunnel        this document (Section 4.3.2)
   28          Static Tunnel           this document (Section 4.3.3)


7.3.  New Reply Mode

   IANA has allocated (5 - Reply via Specified Path) from the "Multi-
   Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping
   Parameters" registry, the "Reply Modes" subregistry.

   Value    Meaning                      Reference
   -----    -------                      ----------
   5        Reply via Specified Path     this document (Section 4.1)




Chen, et al.                 Standards Track                   [Page 17]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


7.4.  Reply Path Return Code

   IANA has created a new subregistry for the "Multi-Protocol Label
   Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" for
   Reply Path return codes.

   This document (Section 4.2) defines the following return codes:

   Value         Meaning
   ------        ----------------------
   0x0000        No return code
   0x0001        Malformed Reply Path TLV was received
   0x0002        One or more of the sub-TLVs in the Reply Path TLV
                 were not understood
   0x0003        The echo reply was sent successfully using the
                 specified Reply Path
   0x0004        The specified Reply Path was not found, the echo
                 reply was sent via another LSP
   0x0005        The specified Reply Path was not found, the echo
                 reply was sent via pure IP forwarding (non-MPLS)
                 path
   0x0006-0xfffb Unassigned
   0xfffc-0xffff Reserved for Experimental Use

   The range of 0x0006-0xfffb is not allocated and reserved for future
   extensions and is allocated via Standard Action; the range of 0xfffc-
   0xffff is for Experimental Use.
























Chen, et al.                 Standards Track                   [Page 18]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


8.  Contributors

   The following individuals also contributed to this document:

   Ehud Doron
   Orckit-Corrigent
   EMail: ehudd@orckit.com

   Ronen Solomon
   Orckit-Corrigent
   EMail: RonenS@orckit.com

   Ville Hallivuori
   Tellabs
   Sinimaentie 6 C
   FI-02630 Espoo, Finland
   EMail: ville.hallivuori@tellabs.com

   Xinchun Guo
   EMail: guoxinchun@huawei.com

9.  Acknowledgements

   The authors would like to thank Adrian Farrel, Peter Ashwood-Smith,
   Sriganesh Kini, Gregory Mirsky, Eric Gray, Loa Andersson, Carlos
   Pignataro, and Tom Petch for their reviews, suggestions, and
   comments.

10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4379]  Kompella, K. and G. Swallow, "Detecting Multi-Protocol
              Label Switched (MPLS) Data Plane Failures", RFC 4379,
              February 2006.

   [RFC6370]  Bocci, M., Swallow, G., and E. Gray, "MPLS Transport
              Profile (MPLS-TP) Identifiers", RFC 6370, September 2011.










Chen, et al.                 Standards Track                   [Page 19]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


10.2.  Informative References

   [RFC3945]  Mannie, E., "Generalized Multi-Protocol Label Switching
              (GMPLS) Architecture", RFC 3945, October 2004.

   [RFC4872]  Lang, J., Rekhter, Y., and D. Papadimitriou, "RSVP-TE
              Extensions in Support of End-to-End Generalized Multi-
              Protocol Label Switching (GMPLS) Recovery", RFC 4872, May
              2007.

   [RFC5462]  Andersson, L. and R. Asati, "Multiprotocol Label Switching
              (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
              Class" Field", RFC 5462, February 2009.

   [RFC5654]  Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N.,
              and S. Ueno, "Requirements of an MPLS Transport Profile",
              RFC 5654, September 2009.

   [RFC5884]  Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow,
              "Bidirectional Forwarding Detection (BFD) for MPLS Label
              Switched Paths (LSPs)", RFC 5884, June 2010.

   [RFC6426]  Gray, E., Bahadur, N., Boutros, S., and R. Aggarwal, "MPLS
              On-Demand Connectivity Verification and Route Tracing",
              RFC 6426, November 2011.


























Chen, et al.                 Standards Track                   [Page 20]
^L
RFC 7110             Return Path Specified LSP Ping         January 2014


Authors' Addresses

   Mach(Guoyi) Chen
   Huawei Technologies Co., Ltd
   Q14 Huawei Campus, No. 156 Beiqing Road, Hai-dian District
   Beijing  100095
   China

   EMail: mach.chen@huawei.com


   Wei Cao
   Huawei Technologies Co., Ltd
   Q14 Huawei Campus, No. 156 Beiqing Road, Hai-dian District
   Beijing  100095
   China

   EMail: wayne.caowei@huawei.com


   So Ning
   Tata Communications

   EMail: ning.so@tatacommunications.com


   Frederic Jounay
   Orange CH
   4 rue caudray 1020 Renens
   Switzerland

   EMail: frederic.jounay@orange.ch


   Simon Delord

   EMail: Simon.delord@team.telstra.com














Chen, et al.                 Standards Track                   [Page 21]
^L