idnits 2.17.1 draft-xp-mpls-spring-lsp-ping-path-sid-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (4 March 2022) is 784 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-22) exists of draft-ietf-spring-mpls-path-segment-07 == Outdated reference: A later version (-26) exists of draft-ietf-idr-segment-routing-te-policy-14 == Outdated reference: A later version (-09) exists of draft-ietf-idr-sr-policy-path-segment-05 == Outdated reference: A later version (-14) exists of draft-ietf-mpls-sr-epe-oam-04 == Outdated reference: A later version (-11) exists of draft-ietf-pce-multipath-04 == Outdated reference: A later version (-15) exists of draft-ietf-pce-segment-routing-policy-cp-06 == Outdated reference: A later version (-09) exists of draft-ietf-pce-sr-path-segment-05 == Outdated reference: A later version (-22) exists of draft-ietf-spring-segment-routing-policy-18 == Outdated reference: A later version (-03) exists of draft-ietf-spring-sr-policy-yang-01 == Outdated reference: A later version (-06) exists of draft-lp-idr-sr-path-protection-02 Summary: 0 errors (**), 0 flaws (~~), 11 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 MPLS Working Group X. Min 3 Internet-Draft S. Peng 4 Intended status: Standards Track ZTE Corp. 5 Expires: 5 September 2022 4 March 2022 7 Label Switched Path (LSP) Ping for Segment Routing (SR) Path Segment 8 Identifiers (SIDs) with MPLS Data Planes 9 draft-xp-mpls-spring-lsp-ping-path-sid-03 11 Abstract 13 Path Segment is a type of SR segment, which is used to identify an SR 14 path. This document provides Target Forwarding Equivalence Class 15 (FEC) stack TLV definitions for Path Segment Identifiers. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on 5 September 2022. 34 Copyright Notice 36 Copyright (c) 2022 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 41 license-info) in effect on the date of publication of this document. 42 Please review these documents carefully, as they describe your rights 43 and restrictions with respect to this document. Code Components 44 extracted from this document must include Revised BSD License text as 45 described in Section 4.e of the Trust Legal Provisions and are 46 provided without warranty as described in the Revised BSD License. 48 Table of Contents 50 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 51 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 53 2.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 54 3. Path Segment ID Sub-TLV . . . . . . . . . . . . . . . . . . . 3 55 3.1. SR Policy's Path SID . . . . . . . . . . . . . . . . . . 3 56 3.2. SR Candidate Path's Path SID . . . . . . . . . . . . . . 5 57 3.3. SR Segment List's Path SID . . . . . . . . . . . . . . . 7 58 4. Path-SID FEC Validation . . . . . . . . . . . . . . . . . . . 9 59 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 60 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 61 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 62 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 63 8.1. Normative References . . . . . . . . . . . . . . . . . . 14 64 8.2. Informative References . . . . . . . . . . . . . . . . . 15 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 67 1. Introduction 69 Path Segment is a type of SR segment, which is used to identify an SR 70 path. Path Segment in MPLS based segment routing network is defined 71 in [I-D.ietf-spring-mpls-path-segment]. 73 When Path Segment is used, it's inserted by the ingress node of the 74 SR path, and then processed by the egress node of the SR path. The 75 position of Path Segment Label within the MPLS label stack is 76 immediately following the segment list of the SR path. Note that the 77 Path Segment would not be popped up until it reaches the egress node. 79 This document provides Target Forwarding Equivalence Class (FEC) 80 stack TLV definitions for Path-SIDs. Procedures for LSP Ping as 81 defined in [RFC8287] and [RFC8690] are applicable to Path-SIDs as 82 well. 84 2. Conventions 86 2.1. Requirements Language 88 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 89 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 90 "OPTIONAL" in this document are to be interpreted as described in BCP 91 14 [RFC2119] [RFC8174] when, and only when, they appear in all 92 capitals, as shown here. 94 2.2. Terminology 96 This document uses the terminology defined in [RFC8402] and 97 [RFC8029], readers are expected to be familiar with those terms. 99 3. Path Segment ID Sub-TLV 101 Analogous to what's defined in Section 5 of [RFC8287] and Section 4 102 of [I-D.ietf-mpls-sr-epe-oam], three new sub-TLVs are defined for the 103 Target FEC Stack TLV (Type 1), the Reverse-Path Target FEC Stack TLV 104 (Type 16), and the Reply Path TLV (Type 21). 106 Sub-Type Sub-TLV Name 107 -------- ----------------------------- 108 TBD1 SR Policy's Path SID 109 TBD2 SR Candidate Path's Path SID 110 TBD3 SR Segment List's Path SID 112 As specified in Section 2 of [I-D.ietf-spring-mpls-path-segment], the 113 Path Segment may be used to identify an SR Policy, its Candidate 114 Path, or a Segment List, so three different Target FEC sub-TLVs need 115 to be defined for Path Segment ID. When a Path Segment is used to 116 identify an SR Policy, the Target FEC sub-TLV of SR Policy's Path SID 117 would be used to validate the control plane to forwarding plane 118 synchronization for this Path-SID; When a Path Segment is used to 119 identify an SR Candidate Path, the Target FEC sub-TLV of SR Candidate 120 Path's Path SID would be used to validate the control plane to 121 forwarding plane synchronization for this Path-SID; When a Path 122 Segment is used to identify a Segment List, the Target FEC sub-TLV of 123 SR Segment List's Path SID would be used to validate the control 124 plane to forwarding plane synchronization for this Path-SID. Note 125 that the three new Target FEC sub-TLVs are mutual exclusive and they 126 wouldn't be present in one message simultaneously. 128 3.1. SR Policy's Path SID 130 The format of SR Policy's Path SID sub-TLV is as specified below: 132 0 1 2 3 133 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 134 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 135 | Type = TBD1 | Length | 136 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 137 ~ Headend (4/16 octets) ~ 138 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 139 | Color (4 octets) | 140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 141 ~ Endpoint (4/16 octets) ~ 142 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 144 Figure 1: SR Policy's Path SID sub-TLV 146 Type 148 This field is set to the value (TBD1) which indicates that it's an 149 SR Policy's Path SID sub-TLV. 151 Length 153 This field is set to the length of the sub-TLV's Value field in 154 octets. If Headend and Endpoint fields are in IPv4 address format 155 which is 4 octets long, it MUST be set to 12; If Headend and 156 Endpoint fields are in IPv6 address format which is 16 octets 157 long, it MUST be set to 36. 159 Headend 161 This field identifies the headend of an SR Policy, the same as 162 defined in Section 2.1 of 163 [I-D.ietf-spring-segment-routing-policy]. The headend is a 164 4-octet IPv4 address or a 16-octet IPv6 address. 166 Color 168 This field associates the SR Policy with an intent, the same as 169 defined in Section 2.1 of 170 [I-D.ietf-spring-segment-routing-policy]. The color is a 4-octet 171 numerical value. 173 Endpoint 175 This field identifies the endpoint of an SR Policy, the same as 176 defined in Section 2.1 of 177 [I-D.ietf-spring-segment-routing-policy]. The endpoint is a 178 4-octet IPv4 address or a 16-octet IPv6 address. 180 3.2. SR Candidate Path's Path SID 182 The format of SR Candidate Path's Path SID sub-TLV is as specified 183 below: 185 0 1 2 3 186 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 187 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 188 | Type = TBD2 | Length | 189 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 190 ~ Headend (4/16 octets) ~ 191 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 192 | Color (4 octets) | 193 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 194 ~ Endpoint (4/16 octets) ~ 195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 196 |Protocol-Origin| Reserved | 197 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 198 | | 199 | | 200 | Originator (20 octets) | 201 | | 202 | | 203 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 204 | Discriminator (4 octets) | 205 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 207 Figure 2: SR Candidate Path's Path SID sub-TLV 209 Type 211 This field is set to the value (TBD2) which indicates that it's an 212 SR Candidate Path's Path SID sub-TLV. 214 Length 216 This field is set to the length of the sub-TLV's Value field in 217 octets. If Headend and Endpoint fields are in IPv4 address format 218 which is 4 octets long, it MUST be set to 40; If Headend and 219 Endpoint fields are in IPv6 address format which is 16 octets 220 long, it MUST be set to 64. 222 Headend 223 This field identifies the headend of an SR Policy, the same as 224 defined in Section 2.1 of 225 [I-D.ietf-spring-segment-routing-policy]. The headend is a 226 4-octet IPv4 address or a 16-octet IPv6 address. 228 Color 230 This field associates the SR Policy with an intent, the same as 231 defined in Section 2.1 of 232 [I-D.ietf-spring-segment-routing-policy]. The color is a 4-octet 233 numerical value. 235 Endpoint 237 This field identifies the endpoint of an SR Policy, the same as 238 defined in Section 2.1 of 239 [I-D.ietf-spring-segment-routing-policy]. The endpoint is a 240 4-octet IPv4 address or a 16-octet IPv6 address. 242 Protocol-Origin 244 This field identifies the component or protocol that originates or 245 signals the candidate path for an SR Policy, the same as defined 246 in Section 2.3 of [I-D.ietf-spring-segment-routing-policy]. The 247 protocol-origin is a 1-octet value that follows the recommendation 248 from Table 1 of Section 2.3 of 249 [I-D.ietf-spring-segment-routing-policy], which specifies value 10 250 for "PCEP", value 20 for "BGP SR Policy" and value 30 for "Via 251 Configuration". 253 Originator 255 This field identifies the node which provisioned or signaled the 256 candidate path for an SR Policy, the same as defined in 257 Section 2.4 of [I-D.ietf-spring-segment-routing-policy]. The 258 originator is a 20-octet numerical value formed by the 259 concatenation of the fields of the tuple , 260 among which ASN is a 4-octet number and node address is a 16-octet 261 value (an IPv6 address or an IPv4 address encoded in the lowest 4 262 octets). When Procotol-Origin is respectively "Via 263 Configuration", or "PCEP", or "BGP SR Policy", the values of ASN 264 and node address follow the specification in Section 2.4 of 265 [I-D.ietf-spring-segment-routing-policy]. 267 Discriminator 268 This field uniquely identifies a candidate path within the context 269 of an SR policy, the same as defined in Section 2.5 of 270 [I-D.ietf-spring-segment-routing-policy]. The discriminator is a 271 4-octet value. When Protocol-Origin is respectively "Via 272 Configuration", or "PCEP", or "BGP SR Policy", the value of 273 discriminator follows the specification in Section 2.5 of 274 [I-D.ietf-spring-segment-routing-policy]. 276 3.3. SR Segment List's Path SID 278 The format of SR Segment List's Path SID sub-TLV is as specified 279 below: 281 0 1 2 3 282 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 283 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 284 | Type = TBD3 | Length | 285 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 286 ~ Headend (4/16 octets) ~ 287 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 288 | Color (4 octets) | 289 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 290 ~ Endpoint (4/16 octets) ~ 291 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 292 |Protocol-Origin| Reserved | 293 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 294 | | 295 | | 296 | Originator (20 octets) | 297 | | 298 | | 299 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 300 | Discriminator (4 octets) | 301 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 302 | Segment-List-ID (4 octets) | 303 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 305 Figure 3: SR Segment List's Path SID sub-TLV 307 Type 309 This field is set to the value (TBD3) which indicates that it's an 310 SR Segment List's Path SID sub-TLV. 312 Length 313 This field is set to the length of the sub-TLV's Value field in 314 octets. If Headend and Endpoint fields are in IPv4 address format 315 which is 4 octets long, it MUST be set to 44; If Headend and 316 Endpoint fields are in IPv6 address format which is 16 octets 317 long, it MUST be set to 68. 319 Headend 321 This field identifies the headend of an SR Policy, the same as 322 defined in Section 2.1 of 323 [I-D.ietf-spring-segment-routing-policy]. The headend is a 324 4-octet IPv4 address or a 16-octet IPv6 address. 326 Color 328 This field associates the SR Policy with an intent, the same as 329 defined in Section 2.1 of 330 [I-D.ietf-spring-segment-routing-policy]. The color is a 4-octet 331 numerical value. 333 Endpoint 335 This field identifies the endpoint of an SR Policy, the same as 336 defined in Section 2.1 of 337 [I-D.ietf-spring-segment-routing-policy]. The endpoint is a 338 4-octet IPv4 address or a 16-octet IPv6 address. 340 Protocol-Origin 342 This field identifies the component or protocol that originates or 343 signals the candidate path for an SR Policy, the same as defined 344 in Section 2.3 of [I-D.ietf-spring-segment-routing-policy]. The 345 protocol-origin is a 1-octet value that follows the recommendation 346 from Table 1 of Section 2.3 of 347 [I-D.ietf-spring-segment-routing-policy], which specifies value 10 348 for "PCEP", value 20 for "BGP SR Policy" and value 30 for "Via 349 Configuration". 351 Originator 353 This field identifies the node which provisioned or signaled the 354 candidate path for an SR Policy, the same as defined in 355 Section 2.4 of [I-D.ietf-spring-segment-routing-policy]. The 356 originator is a 20-octet numerical value formed by the 357 concatenation of the fields of the tuple , 358 among which ASN is a 4-octet number and node address is a 16-octet 359 value (an IPv6 address or an IPv4 address encoded in the lowest 4 360 octets). When Procotol-Origin is respectively "Via 361 Configuration", or "PCEP", or "BGP SR Policy", the values of ASN 362 and node address follow the specification in Section 2.4 of 363 [I-D.ietf-spring-segment-routing-policy]. 365 Discriminator 367 This field uniquely identifies a candidate path within the context 368 of an SR policy, the same as defined in Section 2.5 of 369 [I-D.ietf-spring-segment-routing-policy]. The discriminator is a 370 4-octet value. When Protocol-Origin is respectively "Via 371 Configuration", or "PCEP", or "BGP SR Policy", the value of 372 discriminator follows the specification in Section 2.5 of 373 [I-D.ietf-spring-segment-routing-policy]. 375 Segment-List-ID 377 This field identifies an SR path within the context of a candidate 378 path of an SR Policy, the same as "Path ID" defined in Section 4.2 379 of [I-D.ietf-pce-multipath], or "List Identifier" defined in 380 Section 2.2 of [I-D.lp-idr-sr-path-protection]. The segment-list- 381 ID is a 4-octet identifier of the corresponding segment list. 383 4. Path-SID FEC Validation 385 The MPLS LSP Ping procedures MAY be initiated by the headend of the 386 Segment Routing path or a centralized topology-aware data plane 387 monitoring system as described in [RFC8403]. For the Path-SID, the 388 responder nodes that receive echo request and send echo reply MUST be 389 the endpoint of the Segment Routing path. 391 When an endpoint receives the LSP echo request packet with top FEC 392 being the Path-SID, it SHOULD perform validity checks on the content 393 of the Path-SID FEC sub-TLV. The basic length check should be 394 performed on the received FEC. 396 SR Policy's Path SID 397 ------------------ 398 Length = 12 or 36 400 SR Candidate Path's Path SID 401 ------------------ 402 Length = 40 or 64 404 SR Segment List's Path SID 405 ------------------ 406 Length = 44 or 68 408 If a malformed FEC sub-TLV is received, then a return code of 1, 409 "Malformed echo request received" as defined in [RFC8029] SHOULD be 410 sent. The below section augments the section 7.4 of [RFC8287]. 412 4a. Segment Routing Path-SID Validation: 414 If the Label-stack-depth is 0 and the Target FEC Stack sub-TLV at 415 FEC-stack-depth is TBD1 (SR Policy's Path SID sub-TLV), { 417 - Set the Best-return-code to 10, "Mapping for this FEC is not 418 the given label at stack-depth " if any below conditions 419 fail: 421 o Validate that the Path Segment ID is signaled or provisioned 422 for the SR Policy { 424 + Validate that the signaled or provisioned headend, color 425 and end-point for the Path SID, matches with the 426 corresponding fields in the received SR Policy's Path SID 427 sub-TLV. 429 } 431 } 433 - If all the above validations have passed, set the return code 434 to 3 "Replying router is an egress for the FEC at stack-depth 435 ". 437 - Set FEC-Status to 1 and return. 439 } 441 Else, if the Label-stack-depth is 0 and the Target FEC Stack sub- 442 TLV at FEC-stack-depth is TBD2 (SR Candidate Path's Path SID sub- 443 TLV), { 445 - Set the Best-return-code to 10, "Mapping for this FEC is not 446 the given label at stack-depth " if any below conditions 447 fail: 449 o Validate that the Path Segment ID is signaled or provisioned 450 for the SR Candidate Path { 451 + When the Protocol-Origin field in the received SR 452 Candidate Path's Path SID sub-TLV is 10, "PCEP" is used 453 as the signaling protocol. And then validate that the 454 Path Segment ID matches with the tuple identifying the SR 455 Candidate Path within PCEP { 457 * Validate that the signaled headend, color, end-point, 458 originator ASN, originator address and discriminator 459 defined in [I-D.ietf-pce-segment-routing-policy-cp] 460 and [I-D.ietf-pce-sr-path-segment], for the Path SID, 461 matches with the corresponding fields in the received 462 SR Candidate Path's Path SID sub-TLV. 464 } 466 + When the Protocol-Origin field in the received SR 467 Candidate Path's Path SID sub-TLV is 20, "BGP SR Policy" 468 is used as the signaling protocol. And then validate 469 that the Path Segment ID matches with the tuple 470 identifying the SR Candidate Path within BGP SR Policy { 472 * Validate that the signaled headend, policy color, 473 endpoint, ASN, BGP Router-ID and distinguisher defined 474 in [I-D.ietf-idr-segment-routing-te-policy] and 475 [I-D.ietf-idr-sr-policy-path-segment], for the Path 476 SID, matches with the corresponding fields in the 477 received SR Candidate Path's Path SID sub-TLV. 479 } 481 + When the Protocol-Origin field in the received SR 482 Candidate Path's Path SID sub-TLV is 30, "Via 483 Configuration" is used. And then validate that the Path 484 Segment ID matches with the tuple identifying the SR 485 Candidate Path within Configuration { 487 * Validate that the provisioned headend, color, 488 endpoint, originator and discriminator defined in 489 [I-D.ietf-spring-sr-policy-yang], for the Path SID, 490 matches with the corresponding fields in the received 491 SR Candidate Path's Path SID sub-TLV. 493 } 495 } 497 - If all the above validations have passed, set the return code 498 to 3 "Replying router is an egress for the FEC at stack-depth 499 ". 501 - Set FEC-Status to 1 and return. 503 } 505 Else, if the Label-stack-depth is 0 and the Target FEC Stack sub- 506 TLV at FEC-stack-depth is TBD3 (SR Segment List's Path SID sub- 507 TLV), { 509 - Set the Best-return-code to 10, "Mapping for this FEC is not 510 the given label at stack-depth " if any below conditions 511 fail: 513 o Validate that the Path Segment ID is signaled or provisioned 514 for the SR Segment List { 516 + When the Protocol-Origin field in the received SR Segment 517 List's Path SID sub-TLV is 10, "PCEP" is used as the 518 signaling protocol. And then validate that the Path 519 Segment ID matches with the tuple identifying the SR 520 Segment List within PCEP { 522 * Validate that the signaled headend, color, end-point, 523 originator ASN, originator address and discriminator 524 defined in [I-D.ietf-pce-segment-routing-policy-cp] 525 and [I-D.ietf-pce-sr-path-segment], and the signaled 526 Path ID defined in [I-D.ietf-pce-multipath], for the 527 Path SID, matches with the corresponding fields in the 528 received SR Segment List's Path SID sub-TLV. 530 } 532 + When the Protocol-Origin field in the received SR Segment 533 List's Path SID sub-TLV is 20, "BGP SR Policy" is used as 534 the signaling protocol. And then validate that the Path 535 Segment ID matches with the tuple identifying the SR 536 Segment List within BGP SR Policy { 537 * Validate that the signaled headend, policy color, 538 endpoint, ASN, BGP Router-ID and distinguisher defined 539 in [I-D.ietf-idr-segment-routing-te-policy] and 540 [I-D.ietf-idr-sr-policy-path-segment], and the 541 signaled List Identifier defined in 542 [I-D.lp-idr-sr-path-protection], for the Path SID, 543 matches with the corresponding fields in the received 544 SR Segment List's Path SID sub-TLV. 546 } 548 + When the Protocol-Origin field in the received SR Segment 549 List's Path SID sub-TLV is 30, "Via Configuration" is 550 used. And then validate that the Path Segment ID matches 551 with the tuple identifying the SR Segment List within 552 Configuration { 554 * Validate that the provisioned headend, color, 555 endpoint, originator, discriminator and Segment-List- 556 ID defined in [I-D.ietf-spring-sr-policy-yang], for 557 the Path SID, matches with the corresponding fields in 558 the received SR Segment List's Path SID sub-TLV. 560 } 562 } 564 - If all the above validations have passed, set the return code 565 to 3 "Replying router is an egress for the FEC at stack-depth 566 ". 568 - Set FEC-Status to 1 and return. 570 } 572 5. Security Considerations 574 This document defines additional MPLS LSP Ping sub-TLVs and follows 575 the mechanisms defined in [RFC8029]. All the security considerations 576 defined in [RFC8029] will be applicable for this document and, in 577 addition, they do not impose any additional security challenges to be 578 considered. 580 6. IANA Considerations 582 IANA is requested to assign three new sub-TLVs from the "sub-TLVs for 583 TLV Types 1, 16, and 21" subregistry of the "Multi-Protocol Label 584 Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" 585 registry [IANA]. 587 Sub-Type Sub-TLV Name Reference 588 -------- ----------------------------- ------------ 589 TBD1 SR Policy's Path SID Section 3.1 590 TBD2 SR Candidate Path's Path SID Section 3.2 591 TBD3 SR Segment List's Path SID Section 3.3 593 7. Acknowledgements 595 The authors would like to acknowledge Detao Zhao for his thorough 596 review and very helpful comments. 598 The authors would like to acknowledge Yao Liu for the very helpful 599 f2f discussion. 601 8. References 603 8.1. Normative References 605 [I-D.ietf-spring-mpls-path-segment] 606 Cheng, W., Li, H., Chen, M., Gandhi, R., and R. Zigler, 607 "Path Segment in MPLS Based Segment Routing Network", Work 608 in Progress, Internet-Draft, draft-ietf-spring-mpls-path- 609 segment-07, 20 December 2021, 610 . 613 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 614 Requirement Levels", BCP 14, RFC 2119, 615 DOI 10.17487/RFC2119, March 1997, 616 . 618 [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., 619 Aldrin, S., and M. Chen, "Detecting Multiprotocol Label 620 Switched (MPLS) Data-Plane Failures", RFC 8029, 621 DOI 10.17487/RFC8029, March 2017, 622 . 624 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 625 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 626 May 2017, . 628 [RFC8287] Kumar, N., Ed., Pignataro, C., Ed., Swallow, G., Akiya, 629 N., Kini, S., and M. Chen, "Label Switched Path (LSP) 630 Ping/Traceroute for Segment Routing (SR) IGP-Prefix and 631 IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data 632 Planes", RFC 8287, DOI 10.17487/RFC8287, December 2017, 633 . 635 [RFC8690] Nainar, N., Pignataro, C., Iqbal, F., and A. Vainshtein, 636 "Clarification of Segment ID Sub-TLV Length for RFC 8287", 637 RFC 8690, DOI 10.17487/RFC8690, December 2019, 638 . 640 8.2. Informative References 642 [I-D.ietf-idr-segment-routing-te-policy] 643 Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., 644 Jain, D., and S. Lin, "Advertising Segment Routing 645 Policies in BGP", Work in Progress, Internet-Draft, draft- 646 ietf-idr-segment-routing-te-policy-14, 10 November 2021, 647 . 650 [I-D.ietf-idr-sr-policy-path-segment] 651 Li, C., Li, Z., Yin, Y., Cheng, W., and K. Talaulikar, "SR 652 Policy Extensions for Path Segment and Bidirectional 653 Path", Work in Progress, Internet-Draft, draft-ietf-idr- 654 sr-policy-path-segment-05, 23 January 2022, 655 . 658 [I-D.ietf-mpls-sr-epe-oam] 659 Hegde, S., Arora, K., Srivastava, M., Ninan, S., and X. 660 Xu, "Label Switched Path (LSP) Ping/Traceroute for Segment 661 Routing (SR) Egress Peer Engineering Segment Identifiers 662 (SIDs) with MPLS Data Planes", Work in Progress, Internet- 663 Draft, draft-ietf-mpls-sr-epe-oam-04, 8 November 2021, 664 . 667 [I-D.ietf-pce-multipath] 668 Koldychev, M., Sivabalan, S., Saad, T., Beeram, V. P., 669 Bidgoli, H., Yadav, B., Peng, S., and G. Mishra, "PCEP 670 Extensions for Signaling Multipath Information", Work in 671 Progress, Internet-Draft, draft-ietf-pce-multipath-04, 25 672 February 2022, . 675 [I-D.ietf-pce-segment-routing-policy-cp] 676 Koldychev, M., Sivabalan, S., Barth, C., Peng, S., and H. 677 Bidgoli, "PCEP extension to support Segment Routing Policy 678 Candidate Paths", Work in Progress, Internet-Draft, draft- 679 ietf-pce-segment-routing-policy-cp-06, 22 October 2021, 680 . 683 [I-D.ietf-pce-sr-path-segment] 684 Li, C., Chen, M., Cheng, W., Gandhi, R., and Q. Xiong, 685 "Path Computation Element Communication Protocol (PCEP) 686 Extension for Path Segment in Segment Routing (SR)", Work 687 in Progress, Internet-Draft, draft-ietf-pce-sr-path- 688 segment-05, 13 February 2022, 689 . 692 [I-D.ietf-spring-segment-routing-policy] 693 Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and 694 P. Mattes, "Segment Routing Policy Architecture", Work in 695 Progress, Internet-Draft, draft-ietf-spring-segment- 696 routing-policy-18, 17 February 2022, 697 . 700 [I-D.ietf-spring-sr-policy-yang] 701 Raza, K., Sawaya, R., Shunwan, Z., Voyer, D., Durrani, M., 702 Matsushima, S., and V. P. Beeram, "YANG Data Model for 703 Segment Routing Policy", Work in Progress, Internet-Draft, 704 draft-ietf-spring-sr-policy-yang-01, 7 April 2021, 705 . 708 [I-D.lp-idr-sr-path-protection] 709 Liu, Y. and S. Peng, "BGP Extensions of SR Policy for Path 710 Protection", Work in Progress, Internet-Draft, draft-lp- 711 idr-sr-path-protection-02, 19 December 2021, 712 . 715 [IANA] Internet Assigned Numbers Authority (IANA), "Multi- 716 Protocol Label Switching (MPLS) Label Switched Paths 717 (LSPs) Ping Parameters", . 720 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 721 Decraene, B., Litkowski, S., and R. Shakir, "Segment 722 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 723 July 2018, . 725 [RFC8403] Geib, R., Ed., Filsfils, C., Pignataro, C., Ed., and N. 726 Kumar, "A Scalable and Topology-Aware MPLS Data-Plane 727 Monitoring System", RFC 8403, DOI 10.17487/RFC8403, July 728 2018, . 730 Authors' Addresses 732 Xiao Min 733 ZTE Corp. 734 Nanjing 735 China 736 Phone: +86 25 88013062 737 Email: xiao.min2@zte.com.cn 739 Shaofu Peng 740 ZTE Corp. 741 Nanjing 742 China 743 Email: peng.shaofu@zte.com.cn