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
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
|
Internet Engineering Task Force (IETF) G. Swallow
Request for Comments: 7555 V. Lim
Category: Standards Track Cisco Systems
ISSN: 2070-1721 S. Aldrin
Huawei Technologies
June 2015
Proxy MPLS Echo Request
Abstract
This document defines a means of remotely initiating Multiprotocol
Label Switched Protocol (MPLS) Pings on Label Switched Paths. An
MPLS Proxy Ping Request is sent to any Label Switching Router along a
Label Switched Path. The primary motivations for this facility are
first to limit the number of messages and related processing when
using LSP Ping in large Point-to-Multipoint LSPs, and second to
enable tracing from leaf to leaf (or root).
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/rfc7555.
Copyright Notice
Copyright (c) 2015 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.
Swallow, et al. Standards Track [Page 1]
^L
RFC 7555 Proxy LSP Ping June 2015
Table of Contents
1. Introduction ....................................................3
1.1. Requirements Language ......................................4
1.2. Terminology ................................................5
2. Proxy Ping Overview .............................................5
2.1. Initiating Proxy Ping ......................................6
2.2. Handling at Proxy LSR ......................................6
2.2.1. Backward Compatibility ..............................6
3. Proxy MPLS Echo Request/Reply Procedures ........................7
3.1. Procedures for the Initiator ...............................7
3.2. Procedures for the Proxy LSR ...............................9
3.2.1. Proxy LSR Handling When It Is Egress for FEC .......11
3.2.2. Downstream Detailed Maps and Downstream
Maps in Proxy Reply ................................12
3.2.3. Sending an MPLS Proxy Ping Reply ...................12
3.2.4. Sending the MPLS Echo Requests .....................13
3.2.4.1. Forming the Base MPLS Echo Request ........13
3.2.4.2. Per-Interface Sending Procedures ..........14
4. Proxy Ping Request/Reply Messages ..............................15
4.1. Proxy Ping Request/Reply Message Formats ..................15
4.2. Proxy Ping Request Message Contents .......................15
4.3. Proxy Ping Reply Message Contents .........................16
5. TLV Formats ....................................................16
5.1. Proxy Echo Parameters TLV .................................16
5.1.1. Next Hop Sub-TLV ...................................20
5.2. Reply-to Address TLV ......................................21
5.3. Upstream Neighbor Address TLV .............................21
5.4. Downstream Neighbor Address TLV ...........................22
6. Security Considerations ........................................23
7. IANA Considerations ............................................24
7.1. Proxy Echo Parameters Sub-TLVs ............................24
7.2. Proxy Flags ...............................................25
7.3. Downstream Address Mapping Registry .......................25
7.4. Next Hop Sub-TLV Address Type Registry ....................25
8. References .....................................................26
8.1. Normative References ......................................26
8.2. Informative References ....................................27
Acknowledgements ..................................................27
Authors' Addresses ................................................28
Swallow, et al. Standards Track [Page 2]
^L
RFC 7555 Proxy LSP Ping June 2015
1. Introduction
This document is motivated by two broad issues in connection with
diagnosing Point-to-Multipoint (P2MP) Label Switched Paths (LSPs).
The first is scalability due to the automatic replication of
Multiprotocol Label Switching (MPLS) Echo Request messages as they
proceed down the tree. The second, which is primarily motivated by
LDP-based P2MP and Multipoint-to-Multipoint (MP2MP) LSPs [RFC6388],
is the ability to trace a sub-LSP from leaf node to root node.
When tracing from a source to a particular leaf in a P2MP or MP2MP
tree, nodes not along that path will need to process MPLS Echo
Request messages that are received. The number of MPLS Echo Replies
sent in response to an MPLS Echo Request quickly multiplies, as the
Label Switching Routers (LSRs), which are part of the tree but not
along the path of the trace, could be responding to the received MPLS
Echo Request as well. This could also overwhelm the source to
process all the MPLS Echo Reply messages it receives. It is
anticipated that many of the applications for P2MP/MP2MP tunnels will
require OAM that is both rigorous and scalable.
Suppose one wishes to trace a P2MP LSP to localize a fault that is
affecting one egress or a set of egresses. Suppose one follows the
normal procedure for tracing -- namely, repeatedly pinging from the
root, incrementing the Time to Live (TTL) by one after each three or
so pings. Such a procedure has the potential for producing a large
amount of processing at the P2MP-LSP midpoints and egresses. It also
could produce an unwieldy number of replies back to the root.
One alternative would be to begin sending pings from points at or
near the affected egress(es) and then work backwards toward the root.
The TTL could be held constant (say, two), limiting the number of
responses to the number of next-next-hops of the point where a ping
is initiated.
In the case of Resource Reservation Protocol Traffic Engineering
(RSVP-TE), all setup is initiated from the root of the tree. Thus,
the root of the tree has knowledge of all the leaf nodes and usually
the topology of the entire tree. Thus, the above alternative can
easily be initiated by the root node.
In [RFC6388], the situation is quite different. Leaf nodes initiate
connectivity to the tree, which is granted by the first node toward
the root that is part of the tree. The root node may only be aware
of the immediately adjacent (downstream) nodes of the tree.
Initially, the leaf node only has knowledge of the (upstream) node to
which it is immediately adjacent. However, this is sufficient
information to initiate a trace. First, the above procedure is
Swallow, et al. Standards Track [Page 3]
^L
RFC 7555 Proxy LSP Ping June 2015
applied by asking that node to ping across the final link. That is,
a message is sent from the leaf to the upstream node requesting it to
send an MPLS Echo Request for the Forward Equivalence Class (FEC) of
the tree in question on said link. The leaf node also requests the
identity of the upstream neighbor's upstream neighbor for that FEC.
With this information, the procedure can iteratively be applied until
the fault is localized or the root node is reached. In all cases,
the TTL for the request need only be at most 2. Thus, the processing
load of each request is small, since only a limited number of nodes
will receive the request.
This document defines protocol extensions to MPLS ping [RFC4379] to
allow a third party to remotely cause an MPLS Echo Request message to
be sent down an LSP or part of an LSP. The procedure described in
the paragraphs above does require that the initiator know the
previous-hop node to the one which was pinged on the prior iteration.
This information is readily available in [RFC4875]. This document
also provides a means for obtaining this information for P2MP and
MP2MP LSPs that are set up with LDP as described in [RFC6388].
While the motivation for this document came from multicast scaling
concerns, its applicability may be wider. The procedures presented
in this document are applicable to all LSP Ping FEC types where the
MPLS Echo Request/Reply are IP encapsulated and the MPLS Echo Reply
can be sent out of band of the LSP over IP. Remote pinging of LSPs
that involves the use of in-band control channels is beyond the scope
of this document.
Other uses of this facility are beyond the scope of this document.
In particular, the procedures defined in this document only allow
testing of a FEC stack consisting of a single FEC. The procedures
also do not allow the initiator to specify the label assigned to that
FEC, nor do the procedures allow the initiator to cause any
additional labels to be added to the label stack of the actual MPLS
Echo Request message.
1.1. 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].
The term "Must Be Zero" (MBZ) is used in TLV descriptions for
reserved fields. These fields MUST be set to zero when sent and
ignored on receipt.
Swallow, et al. Standards Track [Page 4]
^L
RFC 7555 Proxy LSP Ping June 2015
Based on context, the terms "leaf" and "egress" are used
interchangeably. "Egress" is used where consistency with [RFC4379]
was deemed appropriate. "Receiver" is used in the context of
receiving protocol messages.
1.2. Terminology
Term Definition
----- -------------------------------------------
LSP Label Switched Path
LSR Label Switching Router
mLDP Multipoint LDP
MP2MP Multipoint to Multipoint
MTU Maximum Transmission Unit
P2MP Point to Multipoint
TTL Time to Live
2. Proxy Ping Overview
This document defines a protocol interaction between a first LSR and
another LSR that is part of an LSP in order to allow the first LSR to
request that the second LSR initiate an LSP Ping for the LSP on the
first LSR's behalf. Since the second LSR sends the LSP Ping on
behalf of the first LSR, it does not maintain state to be able to
handle the corresponding LSP Ping response. Instead, the responder
to the LSP Ping sends the LSP Ping response to either the first LSR
or another LSR configured to handle it. Two new LSP Ping messages
are defined for remote pinging: the MPLS Proxy Ping Request and the
MPLS Proxy Ping Reply.
A remote ping operation on a P2MP LSP generally involves at least
three LSRs; in some scenarios, none of these are the ingress (root)
or an egress (leaf) of the LSP.
We refer to these LSRs with the following terms:
Initiator - the LSR that initiates the ping operation by sending
an MPLS Proxy Ping Request message
Proxy LSR - the LSR that is the destination of the MPLS Proxy Ping
Request message and the potential initiator of the MPLS Echo
Request
Receiver(s) - the LSR(s) that receive the MPLS Echo Request
message
Responder - A receiver that responds to an MPLS Proxy Ping Request
or an MPLS Echo Request
Swallow, et al. Standards Track [Page 5]
^L
RFC 7555 Proxy LSP Ping June 2015
We note that in some scenarios, the initiator could also be the
responder; in that case, the response would be internal to the LSR.
2.1. Initiating Proxy Ping
The initiator formats an MPLS Proxy Ping Request message and sends it
to the Proxy LSR, an LSR it believes to be on the path of the LSP.
This message instructs the Proxy LSR either to reply with Proxy
information or to send an MPLS Echo Request in-band of the LSP. The
initiator requests Proxy information so that it can learn additional
information it needs to use to form a subsequent MPLS Proxy Ping
Request. For example, during LSP traceroute, an initiator needs the
downstream map information to form an MPLS Echo Request. An
initiator may also want to learn a Proxy LSR's FEC neighbor
information so that it can form Proxy Ping Requests to various LSRs
along the LSP.
2.2. Handling at Proxy LSR
The Proxy LSR either replies with the requested Proxy information or
validates that it has a label mapping for the specified FEC and that
it is authorized to send the specified MPLS Echo Request on behalf of
the initiator.
If the Proxy LSR has a label mapping for the FEC and all
authorization checks have passed, the Proxy LSR formats an MPLS Echo
Request. If the source address of the MPLS Echo Request is not set
to the Proxy Request source address, the initiator MUST include a
Reply-to Address TLV containing the source address to use in the MPLS
Echo Request. It then sends the MPLS Echo Request in-band of the
LSP.
The receivers process the MPLS Echo Request as normal, sending their
MPLS Echo Replies back to the initiator.
If the Proxy LSR failed to send an MPLS Echo Request as normal
because it encountered an issue while attempting to send, an MPLS
Proxy Ping Reply message is sent back with a Return Code indicating
that the MPLS Echo Request could not be sent.
2.2.1. Backward Compatibility
As described in Section 4.4 of [RFC4379], if the packet is not well-
formed, LSR X SHOULD send an MPLS Echo Reply with the Return Code set
to "Malformed echo request received" and the Return Subcode to zero.
If there are any TLVs not marked as "Ignore" that the Proxy LSR does
not understand, the Proxy LSR SHOULD send an MPLS "TLV not
understood" (as appropriate), and the Return Subcode is set to zero.
Swallow, et al. Standards Track [Page 6]
^L
RFC 7555 Proxy LSP Ping June 2015
In the case where the targeted Proxy LSR does not understand the LSP
Ping Echo Request at all, like any other LSR that does not understand
the messages, it MUST drop the message and MUST NOT send any message
back to the initiator.
3. Proxy MPLS Echo Request/Reply Procedures
3.1. Procedures for the Initiator
The initiator creates an MPLS Proxy Ping request message.
The message MUST contain a Target FEC Stack that describes the FEC
being tested. The topmost FEC in the target FEC stack is used at the
Proxy LSR to look up the MPLS label stack that will be used to
encapsulate the MPLS Echo Request packet.
The MPLS Proxy Ping Request message MUST contain a Proxy Echo
Parameters TLV. In that TLV, the address type is set to either IPv4
or IPv6. The Destination IP Address is set to the value to be used
by the Proxy LSR to build the MPLS Echo Request packet. The MPLS
Echo Request IP header destination address is as specified in
[RFC4379]. If the Address Type is IPv4, it MUST be an address is
from the range 127/8; if the Address Type is IPv6, MUST be an address
from the range ::ffff:7f00:0/104.
The Reply Mode and Global Flags of the Proxy Echo Parameters TLV are
set to the values to be used in the MPLS Echo Request message header.
The Source UDP Port is set to the value to be used in the MPLS Echo
Request (the source port is supplied by the Proxy Ping initiator
because it or an LSR known to it handles the LSP Ping responses).
The TTL is set to the value to be used in the outgoing MPLS label
stack. See Section 5.1 for further details.
If the FEC's Upstream/Downstream Neighbor address information is
required, the initiator sets the "Request for FEC neighbor
information" Proxy Flags in the Proxy Echo Parameters TLV.
If a Downstream Detailed Mapping TLV (or Downstream Mapping TLV,
which is deprecated) is required in an MPLS Proxy Ping Reply, the
initiator sets the "Request for Downstream Detailed Mapping" (or
"Request for Downstream Mapping") Proxy Flag in the Proxy Echo
Parameters TLV. Only one of the two flags can be set.
The Proxy Request Reply Mode is set with one of the Reply Modes
defined in [RFC4379] as appropriate.
Swallow, et al. Standards Track [Page 7]
^L
RFC 7555 Proxy LSP Ping June 2015
A list of next-hop IP addresses MAY be included to limit the next
hops towards which the MPLS Echo Request message will be sent. These
are encoded as Next Hop sub-TLVs and included in the Proxy Echo
Parameters TLV.
Although not explicitly spelled out in [RFC4379], LSP Ping packets
can be formed to a desired size using a Pad TLV and then used to test
the Maximum Transmission Unit (MTU) of an LSP. When testing an LSP's
MTU, if the message is transported as an IP datagram, the IP header
DF bit MUST be set to prevent IP fragmentation by the IP forwarding
layer. The Proxy Echo Parameter TLV MPLS Payload Size field is
defined for this purpose and may be set to request that the MPLS Echo
Request (including any IP and UDP header) be zero-padded to the
specified size. When a non-zero MPLS payload size is specified, the
Proxy LSR introduces a Pad TLV to build the MPLS Echo Request packet,
so in this case, the Proxy Ping Request MUST NOT include a Pad TLV.
Any of following TLVs MAY be included. These TLVs are used to form
the MPLS Echo Request messages by the Proxy LSR:
Pad
Vendor Enterprise Number
Reply TOS Byte
P2MP Responder Identifier [RFC6425]
Echo Jitter [RFC6425]
Vendor Private TLVs
Downstream Detailed Mapping (DDMAP) or Downstream Mapping (DSMAP)
TLVs MAY be included. These TLVs will be matched to the next-hop
address for inclusion in those particular MPLS Echo Request messages.
The message is then encapsulated in a UDP packet. The source UDP
port for the MPLS Proxy Ping Request message is chosen by the
initiator; the destination UDP port is set to 3503. The IP header is
set as follows: the source IP address is a routable address of the
initiator; the destination IP address is a routable address to the
Proxy LSR. The packet is then sent with the IP TTL set to 255.
Swallow, et al. Standards Track [Page 8]
^L
RFC 7555 Proxy LSP Ping June 2015
3.2. Procedures for the Proxy LSR
A Proxy LSR that receives an MPLS Proxy Ping Request message parses
the packet to ensure that it is a well-formed packet. It checks that
the TLVs that are not marked "Ignore" are understood. If any part of
the message is malformed, it sets the Return Code to "Malformed echo
request received". If all the TLVs are well-formed and any TLVs are
not understood, the Return Code is set to "TLV not understood". The
Return Subcode is set to zero for both cases.
If the Reply Mode of the message header is not 1 ("Do not reply"), an
MPLS Proxy Ping Reply message SHOULD be sent as described below.
If the Return Code is "TLV not understood", no more processing of the
MPLS Proxy Ping Request message is required. The Proxy LSR sends an
MPLS Proxy Ping Reply message with an Errored TLVs TLV containing
(only) the TLVs that were not understood.
The MPLS Proxy Ping Request is expected to be transported to the
Proxy LSR via IP forwarding mechanisms instead of using the same
techniques that are employed to inject an MPLS Echo Request packet
into an LSP. The MPLS Echo Request would use IP TTL, MPLS TTL,
and/or loopback addresses (IPv4 127.x.x.x or IPv6 ::ffff:7f00/104) in
the IP header destination address field to trigger the packet to be
handled via an LSR's forwarding exception processing path. The Proxy
LSR MUST check whether or not MPLS Proxy Ping Request packets arrive
via exception path. Packets arriving via IP TTL expiry, IP
destination address set to a loopback address, or label TTL expiry
MUST be treated as "Unauthorized" packets. An MPLS Proxy Ping Reply
message MAY be sent with a Return Code of 16, "Proxy Ping not
authorized".
The header fields Sender's Handle and Sequence Number are not
examined, but they are included in the MPLS Proxy Ping Reply or MPLS
Echo Request message, if either is sent as a direct result of the
received message.
The Proxy LSR validates that it has a label mapping for the specified
FEC, determines if it is an ingress, egress, transit or bud node, and
then sets the Return Code as appropriate. A new Return Code of 19,
"Replying router has FEC mapping for topmost FEC", has been defined
for the case where the Proxy LSR is an ingress (for example, the head
of the TE tunnel or a transit router) because the existing Return
Codes defined by RFC 4379 don't match the situation. For example,
when a Proxy LSR is a transit router, it's not appropriate for the
Return Code to describe how the packet would transit because the MPLS
Swallow, et al. Standards Track [Page 9]
^L
RFC 7555 Proxy LSP Ping June 2015
Proxy Ping Request doesn't contain information about what input
interface the MPLS Echo Request would be switched from at the Proxy
LSR.
The Proxy LSR then determines if it is authorized to send the
specified MPLS Echo Request on behalf of the initiator. A Proxy LSR
MUST be capable of filtering addresses to validate initiators. Other
filters on FECs or MPLS Echo Request contents MAY be applied. If a
configured filter has been invoked and an address does not pass the
filter, then an MPLS Echo Request message MUST NOT be sent, and the
event SHOULD be logged. An MPLS Proxy Ping Reply message MAY be sent
with a Return Code of 16, "Proxy Ping not authorized".
The destination address specified in the Proxy Echo Parameters TLV is
checked to ensure that it conforms to the allowed IPv4 or IPv6
address range. If not, the Return Code is set to "Malformed echo
request received" and the Return Subcode is set to zero. If the
Reply Mode of the message header is not 1, an MPLS Proxy Ping Reply
message SHOULD be sent as described below.
The TTL specified in the Proxy Echo Parameters TLV is checked to
ensure it contains a value in the range [1,255]. If not, the Return
Code MUST be set to 17, "Proxy Ping parameters need to be modified".
If the Reply Mode of the message header is not 1, an MPLS Proxy Ping
Reply message SHOULD be sent as described below.
If the "Request for FEC Neighbor Address info" flag is set, the
Upstream Neighbor Address and Downstream Neighbor Address TLVs are
formatted for inclusion in the MPLS Proxy Ping reply. If the
Upstream or Downstream address is unknown, the corresponding TLV is
omitted.
If there are Next Hop sub-TLVs in the Proxy Echo Parameters TLV, each
address is examined to determine if it is a valid next hop for this
FEC. If any are not, the Proxy Echo Parameters TLV SHOULD be updated
to remove unrecognized Next Hop sub-TLVs. The updated Proxy Echo
Parameters TLV MUST be included in the MPLS Proxy Ping Reply.
If the "Request for Downstream Detailed Mapping" or "Request for
Downstream Mapping" flag is set, the Proxy LSR formats (for inclusion
in the MPLS Proxy Ping Reply) a DS/DDMAP TLV for each interface over
which the MPLS Echo Request will be sent.
If the Proxy LSR is the egress for the FEC, the behavior of the Proxy
LSR varies depending on whether the LSR is an egress of a P2P LSP, a
P2MP LSP, or MP2MP LSP. Additional details can be found in Section
3.2.1, "Proxy LSR Handling When It Is Egress for FEC".
Swallow, et al. Standards Track [Page 10]
^L
RFC 7555 Proxy LSP Ping June 2015
If the Reply Mode of the MPLS Proxy Ping Request message header is 1
("Do not reply"), no MPLS Proxy Ping Reply is sent. Otherwise, an
MPLS Proxy Ping Reply message or MPLS Echo Request SHOULD be sent as
described below.
3.2.1. Proxy LSR Handling When It Is Egress for FEC
This section describes the different behaviors for the Proxy LSR when
it's the egress for the FEC. In the P2MP bud node and MP2MP bud node
egress cases, different behavior is required.
In the case where an MPLS Echo Request is originated by an LSR that
is a bud or egress node of a P2MP/MP2MP, MPLS Echo Replies are
returned from downstream/upstream LSRs and will not include an MPLS
Echo Reply from the LSR that originated the MPLS Echo Request. This
section describes the behavior required at a bud or egress node to
return or not return information from MPLS Echo Replies in the Proxy
Echo Reply so that no changes are required in implementations that
are compliant with [RFC4379]. The Proxy Initiator should receive the
same MPLS Echo Replies as in the case of the originator of the LSP
Ping; any additional information (such as the Proxy LSR being a bud
or egress node) is returned in the MPLS Proxy Ping Reply.
When the Proxy LSR is the egress of a P2P FEC, an MPLS Proxy Ping
Reply SHOULD be sent to the initiator with the Return Code set to 3,
"Replying router is an egress for the FEC at stack-depth", with
Return Subcode set to zero.
When the Proxy LSR is the egress of a P2MP FEC, it can be either a
bud node or just an egress. If the Proxy LSR is a bud node, an MPLS
Proxy Ping Reply SHOULD be sent to the initiator with the return code
set to 3, "Replying router is an egress for the FEC at stack-depth",
and Return Subcode set to zero. DS/DDMAPs are included only if the
Proxy Initiator requested information be returned in an MPLS Proxy
Ping Reply. If the Proxy LSR is a bud node but there has not been a
request to return an MPLS Proxy Ping Reply, the Proxy LSR SHOULD send
MPLS Echo Request packet(s) to the downstream neighbors (no MPLS Echo
Reply is sent to the Proxy Initiator to indicate that the Proxy LSR
is an egress). If the Proxy LSR is just an egress, an MPLS Proxy
Ping Reply SHOULD be sent to the initiator with the Return Code set
to 3, "Replying router is an egress for the FEC at stack-depth", and
Return Subcode set to zero.
When the Proxy LSR is the egress of a MP2MP FEC, it can be either a
bud node or just an egress. LSP Pings sent from a leaf of a MP2MP
have different behavior in this case. MPLS Echo Requests are sent to
all upstream/downstream neighbors. The Proxy LSRs need to be
consistent with this variation in behavior. If the Proxy LSR is a
Swallow, et al. Standards Track [Page 11]
^L
RFC 7555 Proxy LSP Ping June 2015
bud node or just an egress, an MPLS Proxy Ping Reply SHOULD be sent
to the Proxy Initiator with the return code set to 3, "Replying
router is an egress for the FEC at stack-depth", with Return Subcode
set to zero and DS/DDMAPs included only if the Proxy Initiator
requested information be returned in an MPLS Proxy Ping Reply. If
the Proxy LSR is not requested to return information in an MPLS Proxy
Ping Reply, the Proxy LSR SHOULD send MPLS Echo Request packets to
all upstream/downstream neighbors as would be done when sourcing an
LSP Ping from a MP2MP leaf (no MPLS Echo Reply is sent to the Proxy
Initiator indicating that the Proxy LSR is an egress).
3.2.2. Downstream Detailed Maps and Downstream Maps in Proxy Reply
When the Proxy LSR is a transit or bud node, downstream maps
corresponding to how the packet is transited cannot be supplied
unless an ingress interface for the MPLS Echo Request is specified.
Since this information is not available and all valid output paths
are of interest, the Proxy LSR SHOULD include DS/DDMAP(s) to describe
the entire set of paths that the packet can be replicated. This is
similar to the case in which an LSP Ping is initiated at the Proxy
LSR. For mLDP, there is a DS/DDMAP per upstream/downstream neighbor
for MP2MP LSPs, or per downstream neighbor in the P2MP LSP case.
When the Proxy LSR is a bud node or egress in an MP2MP LSP or a bud
node in a P2MP LSP, an LSP Ping initiated from the Proxy LSR would
source packets only to the neighbors but not itself, despite the fact
that the Proxy LSR is itself an egress for the FEC. In order to
match the behavior as seen from LSP Ping initiated at the Proxy LSR,
the Proxy Reply SHOULD contain DS/DDMAPs for only the paths to the
upstream/downstream neighbors, but no DS/DDMAP describing its own
egress paths. The proxy LSR identifies that it's an egress for the
FEC using a different Proxy Reply Return Code. The Proxy Reply
Return Code is either set to 19, "Replying router has FEC mapping for
topmost FEC", or 3, "Replying router is an egress for the FEC at
stack-depth".
3.2.3. Sending an MPLS Proxy Ping Reply
The Reply Mode, Sender's Handle, and Sequence Number fields are
copied from the Proxy Ping Request message. The TLVs specified above
are included. The message is encapsulated in a UDP packet. The
source IP address is a routable address of the Proxy LSR; the source
port is the well-known UDP port for LSP Ping. The destination IP
address and UDP port are copied from the source IP address and UDP
port of the MPLS Proxy Ping Request. The IP TTL is set to 255.
Swallow, et al. Standards Track [Page 12]
^L
RFC 7555 Proxy LSP Ping June 2015
3.2.4. Sending the MPLS Echo Requests
An MPLS Echo Request is formed as described in the next section. The
section below describes how the MPLS Echo Request is sent on each
interface.
3.2.4.1. Forming the Base MPLS Echo Request
If Next Hop sub-TLVs were included in the received Proxy Echo
Parameters TLV, the Next_Hop_List is created from the addresses in
those sub-TLVs adjusted as described in Section 3.2. Otherwise, the
list is set to all the next hops to which the FEC would be forwarded.
The Proxy LSR then formats an MPLS Echo Request message. The Global
Flags and Reply Mode are copied from the Proxy Echo Parameters TLV.
The Return Code and Return Subcode are set to zero.
The Sender's Handle and Sequence Number are copied from the remote
MPLS Echo Request message.
The TimeStamp Sent is set to the time of day (in seconds and
microseconds) that the MPLS Echo Request is sent. The TimeStamp
Received is set to zero.
If the Reply-to Address TLV is present, it is used to set the MPLS
Echo Request source address; otherwise, the MPLS Echo Request source
address is set to the Proxy Request source address.
The following TLVs are copied from the MPLS Proxy Ping Request
message. Note that, of these, only the Target FEC Stack is REQUIRED
to appear in the MPLS Proxy Ping Request message. The Pad TLV is not
copied if the Proxy Echo Parameter TLV MPLS payload size is set to a
non-zero value.
Target FEC Stack
Pad
Vendor Enterprise Number
Reply TOS Byte
P2MP Responder Identifier [RFC6425]
Echo Jitter [RFC6425]
Vendor Private TLVs
Swallow, et al. Standards Track [Page 13]
^L
RFC 7555 Proxy LSP Ping June 2015
If the Proxy Echo Parameter TLV MPLS payload size is non-zero, the
Proxy LSR introduces a Pad TLV such that size of the MPLS Echo
Request (including any IP and UDP header) is zero-padded to the
specified MPLS payload size. The first octet in the Value part of
the Pad TLV is set to 1, "Drop Pad TLV from reply", and the remaining
octets of the Value part of the Pad TLV are filled with zeros. If
the IP header is used to encapsulate the MPLS Echo Request, the DF
bit MUST be set to one.
The message is then encapsulated in a UDP packet. The source UDP
port is copied from the Proxy Echo Parameters TLV. The destination
port is copied from the MPLS Proxy Ping Request message.
The source IP address is set to a routable address specified in the
Reply-to Address TLV or the source address of the received Proxy
Request. Per usual, the TTL of the IP packet is set to 1.
If the Explicit Differentiated Services Code Point (DSCP) flag is
set, the Requested DSCP byte is examined. If the setting is
permitted, then the DSCP byte of the IP header of the MPLS Echo
Request message is set to that value. If the Proxy LSR does not
permit explicit control for the DSCP byte, the MPLS Proxy Echo
Parameters with the Explicit DSCP flag cleared MUST be included in
any MPLS Proxy Ping Reply message to indicate why an MPLS Echo
Request was not sent. The Return Code MUST be set to 17, "Proxy Ping
parameters need to be modified". If the Explicit DSCP flag is not
set, the Proxy LSR SHOULD set the MPLS Echo Request DSCP settings to
the value normally used to source LSP Ping packets.
3.2.4.2. Per-Interface Sending Procedures
The Proxy LSR now iterates through the Next_Hop_List modifying the
base MPLS Echo Request to form the MPLS Echo Request packet that is
then sent on that particular interface.
The outgoing label stack is determined for each next-hop address.
The TTL for the label corresponding to the FEC specified in the FEC
stack is set such that the TTL on the wire will be the TTL specified
in the Proxy Echo Parameters. If any additional labels are pushed
onto the stack, their TTLs are set to 255. This will ensure that the
requestor will not have control over tunnels not relevant to the FEC
being tested.
Swallow, et al. Standards Track [Page 14]
^L
RFC 7555 Proxy LSP Ping June 2015
If the MPLS Proxy Ping Request message contained Downstream Mapping
TLVs or Downstream Detailed Mapping TLVs, they are examined. If the
Downstream IP address matches the next-hop address, that Downstream
Mapping TLV is included in the MPLS Echo Request.
The packet is then transmitted on this interface.
4. Proxy Ping Request/Reply Messages
This document defines two new LSP Ping messages, the MPLS Proxy Ping
Request and the MPLS Proxy Ping Reply.
4.1. Proxy Ping Request/Reply Message Formats
The packet format is as defined in [RFC4379]. Two new message types,
Proxy Ping Request and Reply, are being added.
Message Type
Type Message
---- -------
3 MPLS Proxy Ping Request
4 MPLS Proxy Ping Reply
4.2. Proxy Ping Request Message Contents
The MPLS Proxy Ping Request message MAY contain the following
TLVs:
Type TLV
---- -----------
1 Target FEC Stack
2 Downstream Mapping (DEPRECATED)
3 Pad
5 Vendor Enterprise Number
10 Reply TOS Byte
11 P2MP Responder Identifier [RFC6425]
12 Echo Jitter [RFC6425]
20 Downstream Detailed Mapping
21 Reply Path [RFC7110]
22 Reply TC [RFC7110]
23 Proxy Echo Parameters
24 Reply-to Address
* Vendor Private TLVs
* TLVs types in the Vendor Private TLV Space MUST be ignored if
not understood
Swallow, et al. Standards Track [Page 15]
^L
RFC 7555 Proxy LSP Ping June 2015
4.3. Proxy Ping Reply Message Contents
The MPLS Proxy Ping Reply message MAY contain the following TLVs:
Type TLV
---- -----------
1 Target FEC Stack
2 Downstream Mapping (DEPRECATED)
5 Vendor Enterprise Number
9 Errored TLVs
20 Downstream Detailed Mapping
23 Proxy Echo Parameters
25 Upstream Neighbor Address
26 Downstream Neighbor Address (0 or more)
* Vendor Private TLVs
* TLVs types in the Vendor Private TLV Space MUST be ignored if
not understood
5. TLV Formats
5.1. Proxy Echo Parameters TLV
The Proxy Echo Parameters TLV is a TLV that MUST be included in an
MPLS Proxy Ping Request message. The length of the TLV is 12 + K +
S, where K is the length of the Destination IP Address field and S is
the total length of the sub-TLVs. The Proxy Echo Parameters TLV can
be used either to 1) control attributes used in composing and sending
an MPLS Echo Request or 2) query the Proxy LSR for information about
the topmost FEC in the target FEC stack, but not both. In the case
where the Proxy LSR is being queried (i.e., information needs to be
returned in an MPLS Proxy Ping Reply), no MPLS Echo Request will be
sent from the Proxy LSR. The MPLS Proxy Ping Request Proxy Echo
Parameters TLV's Proxy Flags SHOULD be set appropriately, as
described below.
Swallow, et al. Standards Track [Page 16]
^L
RFC 7555 Proxy LSP Ping June 2015
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Type | Reply Mode | Proxy Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TTL | Rqst'd DSCP | Source UDP Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Global Flags | MPLS Payload Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
: Destination IP Address :
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
: :
: Sub-TLVs :
: :
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Type
The type and length of the address found in the in the Destination
IP Address and Next Hop IP Addresses fields. The values are
shared with the Downstream Mapping Address Type Registry.
The type codes applicable in this case appear in the table below:
Address Family Type Length
IPv4 1 4
IPv6 3 16
Reply Mode
The reply mode to be sent in the MPLS Echo Request message; the
values are as specified in [RFC4379].
Proxy Flags
The Proxy Request Initiator sets zero, one, or more of these flags
to request actions at the Proxy LSR.
0x0001 Request for FEC Neighbor Address info
When set, this requests that the Proxy LSR supply the
Upstream and Downstream neighbor address information in the
MPLS Proxy Ping Reply message. This flag is only applicable
Swallow, et al. Standards Track [Page 17]
^L
RFC 7555 Proxy LSP Ping June 2015
for the topmost FEC in the FEC stack if the FEC type
corresponds with a P2MP or MP2MP LSP. The Proxy LSR MUST
respond (as applicable) with Upstream Neighbor Address and
Downstream Neighbor Address TLV(s) in the MPLS Proxy Ping
Reply message. The Upstream Neighbor Address TLV needs be
included only if there is an upstream neighbor. Similarly,
one Downstream Neighbor Address TLV needs to be included for
each Downstream Neighbor from which the LSR learned
bindings.
Setting this flag will cause the Proxy LSR to cancel sending
any MPLS Echo Request. The initiator may use information
learned from the MPLS Proxy Ping Reply that is sent instead
to generate subsequent proxy requests.
0x0002 Request for Downstream Mapping
When set, this requests that the Proxy LSR supply a
Downstream Mapping TLV (see [RFC4379]) in the MPLS Proxy
Ping Reply message. Either this flag may be set or the
"Request for Downstream Detailed Mapping" flag may be set,
but not both.
Setting this flag will cause the Proxy LSR to cancel sending
an MPLS Echo Request. Information learned with such a Proxy
Reply may be used by the Proxy Initiator to generate
subsequent Proxy Requests.
0x0004 Request for Downstream Detailed Mapping
When set, this requests that the Proxy LSR supply a
Downstream Detailed Mapping TLV (see [RFC6424]) in the MPLS
Proxy Ping Reply message. It's not valid to have the
"Request for Downstream Mapping" flag set when this flag is
set. Setting this flag will cause the Proxy LSR to cancel
sending an MPLS Echo Request. The initiator may use
information learned from the MPLS Proxy Ping Reply that is
sent instead to generate subsequent proxy requests.
0x0008 Explicit DSCP Request
When set, this requests that the Proxy LSR use the supplied
"Rqst'd DSCP" byte in the Echo Request message
Swallow, et al. Standards Track [Page 18]
^L
RFC 7555 Proxy LSP Ping June 2015
TTL
The TTL to be used in the label stack entry corresponding to
the topmost FEC in the MPLS Echo Request packet. Valid values
are in the range [1,255].
Requested DSCP
This field is valid only if the Explicit DSCP flag is set. If
not set, the field MUST be zero on transmission and ignored on
receipt. When the flag is set, this field contains the DSCP
value to be used in the MPLS Echo Request packet IP header.
Source UDP Port
The source UDP port to be sent in the MPLS Echo Request packet
Global Flags
The Global Flags to be sent in the MPLS Echo Request message
MPLS Payload Size
Used to request that the MPLS payload (IP header + UDP header +
MPLS Echo Request) be padded using a zero-filled Pad TLV so
that the IP header, UDP header, and MPLS Echo Request total the
specified size. Having the field set to zero means no size
request is being made. If the requested size is less than the
minimum size required to form the MPLS Echo Request, the
request will be treated as a best-effort request with the Proxy
LSR building the smallest possible packet (i.e., not using a
Pad TLV). The IP header DF bit MUST be set when this field is
non-zero.
Destination IP Address
If the Address Type is IPv4, an address from the range 127/8;
if the Address Type is IPv6, an address from the range
::ffff:7f00:0/104
Sub-TLVs
List of TLV-encoded sub-TLVs. Currently one is defined.
Sub-Type Length Sub-TLV Name
-------- ------ ------------
1 8+ Next Hop
Swallow, et al. Standards Track [Page 19]
^L
RFC 7555 Proxy LSP Ping June 2015
5.1.1. Next Hop Sub-TLV
This sub-TLV is used to describe a particular next hop towards which
the Echo Request packet should be sent. If the topmost FEC in the
FEC stack is a multipoint LSP, this sub-TLV may appear multiple
times.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Addr Type | MBZ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Hop IP Address (4 or 16 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Hop Interface (0, 4, or 16 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Type
Type Type of Next Hop Addr Length Interface Field (IF)
Length
1 IPv4 Numbered 4 4
2 IPv4 Unnumbered 4 4
3 IPv6 Numbered 16 16
4 IPv6 Unnumbered 16 4
5 Reserved
6 IPv4 Protocol Adj 4 0
7 IPv6 Protocol Adj 16 0
Note: Types 1-4 correspond to the types in the DSMAP TLV.
They are expected to be populated with information
obtained through a previously returned DSMAP TLV. Types
6 and 7 are intended to be populated from the local
address information obtained from a previously returned
Downstream Neighbor Address TLV or Upstream Neighbor
Address TLV.
Next Hop IP Address
A next hop address that the Echo Request message is to be sent
towards
Next Hop Interface
Identifier of the interface through which the Echo Request
message is to be sent. For Addr Type 5 and 6, the Next Hop
interface field isn't used and MUST be of an associated byte
length of zero octets.
Swallow, et al. Standards Track [Page 20]
^L
RFC 7555 Proxy LSP Ping June 2015
5.2. Reply-to Address TLV
Used to specify the MPLS Echo Request IP source address. This
address MUST be IP reachable via the Proxy LSR; otherwise, it will be
rejected.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Type | MBZ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
: Reply-to Address :
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Type
A type code as specified in the table below:
Type Type of Address
1 IPv4
3 IPv6
5.3. Upstream Neighbor Address TLV
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Upst Addr Type |Local Addr Type| MBZ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
: Upstream Address :
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
: Local Address :
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Upst Addr Type; Local Addr Type
These two fields determine the type and length of the
respective addresses. The codes are specified in the table
below:
Swallow, et al. Standards Track [Page 21]
^L
RFC 7555 Proxy LSP Ping June 2015
Type Type of Address Length
0 No Address Supplied 0
1 IPv4 4
3 IPv6 16
Upstream Address
The address of the immediate upstream neighbor for the topmost
FEC in the FEC stack. If the protocol adjacency exists by
which the label for this FEC was exchanged, this address MUST
be the address used in that protocol exchange.
Local Address
The local address used in the protocol adjacency by which the
label for this FEC was exchanged.
5.4. Downstream Neighbor Address TLV
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Dnst Addr Type |Local Addr Type| MBZ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
: Downstream Address :
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
: Local Address :
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Dnst Addr Type; Local Addr Type
These two fields determine the type and length of the
respective addresses. The codes are specified in the table
below:
Type Type of Address Length
0 No Address Supplied 0
1 IPv4 4
3 IPv6 16
Swallow, et al. Standards Track [Page 22]
^L
RFC 7555 Proxy LSP Ping June 2015
Downstream Address
The address of an immediate downstream neighbor for the topmost
FEC in the FEC stack. If the protocol adjacency exists by
which the label for this FEC was exchanged, this address MUST
be the address used in that protocol exchange.
Local Address
The local address used in the protocol adjacency by which the
label for this FEC was exchanged.
6. Security Considerations
The mechanisms described in this document are intended to be used
within a service provider network and to be initiated only under the
authority of that administration.
If such a network also carries Internet traffic, or permits IP access
from other administrations, the MPLS Proxy Ping message SHOULD be
discarded at the points where IP packets are received from other
administrations. This can be accomplished by filtering on source
address or by filtering all MPLS ping messages on UDP port.
Any node that acts as a Proxy LSR SHOULD validate requests against a
set of valid source addresses. An implementation MUST provide such
filtering capabilities.
MPLS Proxy Ping Request messages are IP addressed directly to the
Proxy LSR. If a Proxy LSR receives an MPLS Proxy Ping message via
expiration of the IP or Label Stack Entry TTL, it MUST NOT be acted
upon.
If an MPLS Proxy Ping Request IP source address is not IP reachable
by the Proxy LSR, the Proxy Request MUST NOT be acted upon.
MPLS Proxy Ping Requests are limited to making their request via the
specification of a FEC. This ensures that only valid MPLS Echo
Request messages can be created. No label-spoofing attacks are
possible.
Swallow, et al. Standards Track [Page 23]
^L
RFC 7555 Proxy LSP Ping June 2015
7. IANA Considerations
Per this document, IANA has made the following assignments.
MPLS LSP Ping Message Types
Value Meaning
----- -------
3 MPLS Proxy Ping Request
4 MPLS Proxy Ping Reply
TLVs
Type TLV Name
---- --------
23 Proxy Echo Parameters
24 Reply-to Address
25 Upstream Neighbor Address
26 Downstream Neighbor Address
Return Codes
Value Meaning
----- -------
16 Proxy Ping not authorized
17 Proxy Ping parameters need to be modified
18 MPLS Echo Request could not be sent
19 Replying router has FEC mapping for topmost FEC
7.1. Proxy Echo Parameters Sub-TLVs
The IANA has created and maintains this new registry for Proxy Echo
Parameters Sub-TLVs. Assignments will use the same rules spelled out
in Section 7.2 of [RFC4379].
Sub-Type Sub-TLV Name
-------- ------------
0 Reserved
1 Next Hop
Swallow, et al. Standards Track [Page 24]
^L
RFC 7555 Proxy LSP Ping June 2015
7.2. Proxy Flags
IANA has created and maintains a new registry for the Proxy Flags
that are used with the Proxy Echo Parameters TLV. See Section 5.1
for details. The registry is in the "Multi-Protocol Label Switching
(MPLS) Label Switched Paths (LSPs) Ping Parameters" registry in the
"Multiprotocol Label Switching Architecture (MPLS)" name space. The
registration procedure is Standards Action [RFC5226]. The initial
values are as follows.
Bit Number Name
---------- ----
0 Request for FEC Neighbor Address info
1 Request for Downstream Mapping
2 Request for Downstream Detailed Mapping
3 Explicit DSCP Request
4-15 Unassigned
7.3. Downstream Address Mapping Registry
This document makes the following assignments in the Downstream
Address Mapping Registry. This document updates the registry defined
by [RFC6426]. The registration procedure remains Standards Action
and a note has been added as follows:
When a code point is assigned that is not also assigned in the
Next Hop Address Type Registry, the code point there must be
marked "Reserved".
Type # Address Type K Octets
------ ------------ --------
6 Reserved N/A RFC 7555
7 Reserved N/A RFC 7555
7.4. Next Hop Sub-TLV Address Type Registry
IANA has created a new registry called the "Next Hop Address Type
Registry". The allocation policy for this registry is Standards
Action. Further, a note has been added as follows:
When a code point is assigned that is not also assigned in the
Downstream Address Mapping Registry, the code point there must be
marked "Reserved".
Swallow, et al. Standards Track [Page 25]
^L
RFC 7555 Proxy LSP Ping June 2015
The initial allocations are:
Type Type of Next Hop Addr Length IF Length Reference
1 IPv4 Numbered 4 4 [RFC4379]
2 IPv4 Unnumbered 4 4 [RFC4379]
3 IPv6 Numbered 16 16 [RFC4379]
4 IPv6 Unnumbered 16 4 [RFC4379]
5 Reserved RFC 7555
6 IPv4 Protocol Adj 4 0 RFC 7555
7 IPv6 Protocol Adj 16 0 RFC 7555
8-255 Unassigned
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol
Label Switched (MPLS) Data Plane Failures", RFC 4379,
DOI 10.17487/RFC4379, February 2006,
<http://www.rfc-editor.org/info/rfc4379>.
[RFC6424] Bahadur, N., Kompella, K., and G. Swallow, "Mechanism for
Performing Label Switched Path Ping (LSP Ping) over MPLS
Tunnels", RFC 6424, DOI 10.17487/RFC6424, November 2011,
<http://www.rfc-editor.org/info/rfc6424>.
[RFC6425] Saxena, S., Ed., Swallow, G., Ali, Z., Farrel, A.,
Yasukawa, S., and T. Nadeau, "Detecting Data-Plane
Failures in Point-to-Multipoint MPLS - Extensions to LSP
Ping", RFC 6425, DOI 10.17487/RFC6425, November 2011,
<http://www.rfc-editor.org/info/rfc6425>.
[RFC6426] Gray, E., Bahadur, N., Boutros, S., and R. Aggarwal, "MPLS
On-Demand Connectivity Verification and Route Tracing",
RFC 6426, DOI 10.17487/RFC6426, November 2011,
<http://www.rfc-editor.org/info/rfc6426>.
[RFC7110] Chen, M., Cao, W., Ning, S., Jounay, F., and S. Delord,
"Return Path Specified Label Switched Path (LSP) Ping",
RFC 7110, DOI 10.17487/RFC7110, January 2014,
<http://www.rfc-editor.org/info/rfc7110>.
Swallow, et al. Standards Track [Page 26]
^L
RFC 7555 Proxy LSP Ping June 2015
8.2. Informative References
[RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S.
Yasukawa, Ed., "Extensions to Resource Reservation
Protocol - Traffic Engineering (RSVP-TE) for Point-to-
Multipoint TE Label Switched Paths (LSPs)", RFC 4875,
DOI 10.17487/RFC4875, May 2007,
<http://www.rfc-editor.org/info/rfc4875>.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
DOI 10.17487/RFC5226, May 2008,
<http://www.rfc-editor.org/info/rfc5226>.
[RFC6388] Wijnands, IJ., Ed., Minei, I., Ed., Kompella, K., and B.
Thomas, "Label Distribution Protocol Extensions for Point-
to-Multipoint and Multipoint-to-Multipoint Label Switched
Paths", RFC 6388, DOI 10.17487/RFC6388, November 2011,
<http://www.rfc-editor.org/info/rfc6388>.
Acknowledgements
The authors would like to thank Nobo Akiya, Adrian Farrel, Tom Yu,
Tom Taylor, and Warren Kumari for their detailed reviews and
insightful comments.
Swallow, et al. Standards Track [Page 27]
^L
RFC 7555 Proxy LSP Ping June 2015
Authors' Addresses
George Swallow
Cisco Systems
1414 Massachusetts Ave
Boxborough, MA 01719
United States
EMail: swallow@cisco.com
Vanson Lim
Cisco Systems
1414 Massachusetts Avenue
Boxborough, MA 01719
United States
EMail: vlim@cisco.com
Sam Aldrin
Huawei Technologies
2330 Central Express Way
Santa Clara, CA 95951
United States
EMail: aldrin.ietf@gmail.com
Swallow, et al. Standards Track [Page 28]
^L
|