MPLS Working Group X. Min Internet-Draft S. Peng Intended status: Standards Track ZTE Corp. Expires: 15 May 2025 L. Gong China Mobile R. Gandhi Cisco Systems, Inc. C. Pignataro North Carolina State University 11 November 2024 Label Switched Path (LSP) Ping for Segment Routing (SR) Path Segment Identifier with MPLS Data Planes draft-ietf-mpls-spring-lsp-ping-path-sid-03 Abstract Path Segment is a type of Segment Routing (SR) segment, and a Path Segment Identifier (PSID) is used to identify an SR path. Path Segment can be used in an SR over MPLS (SR-MPLS) data plane. This document provides Target Forwarding Equivalence Class (FEC) Stack TLV and sub-TLV definitions for PSID. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 15 May 2025. Copyright Notice Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. Min, et al. Expires 15 May 2025 [Page 1] Internet-Draft LSP Ping for SR PSID November 2024 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 2.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 3. Path Segment ID Sub-TLVs . . . . . . . . . . . . . . . . . . 3 3.1. SR Policy's PSID . . . . . . . . . . . . . . . . . . . . 3 3.2. SR Candidate Path's PSID . . . . . . . . . . . . . . . . 4 3.3. SR Segment List's PSID . . . . . . . . . . . . . . . . . 6 4. PSID FEC Validation . . . . . . . . . . . . . . . . . . . . . 8 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 8.1. Normative References . . . . . . . . . . . . . . . . . . 11 8.2. Informative References . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 1. Introduction Path Segment is a type of Segment Routing (SR) segment, and a Path Segment Identifier (PSID) is used to identify an SR path. PSID in MPLS-based segment routing networks is defined in [RFC9545]. As specified in [RFC9545], PSID is a single label inserted by the ingress node of the SR path, and then processed by the egress node of the SR path. The PSID is placed within the MPLS label stack as a label immediately following the last label of the SR path. The egress node MUST pop the PSID. This document provides Target Forwarding Equivalence Class (FEC) Stack TLV and sub-TLV definitions for PSID. Procedures for LSP Ping as defined in [RFC8287] and [RFC8690] are applicable to PSID as well. Note that LSP Traceroute is left out of this document because the transit node is not involved in PSID processing. 2. Conventions Min, et al. Expires 15 May 2025 [Page 2] Internet-Draft LSP Ping for SR PSID November 2024 2.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2.2. Terminology This document uses the terminology defined in [RFC3031], [RFC8402], and [RFC8029], readers are expected to be familiar with those terms. 3. Path Segment ID Sub-TLVs Analogous to what's defined in Section 5 of [RFC8287] and Section 4 of [I-D.ietf-mpls-sr-epe-oam], three new sub-TLVs are defined for the Target FEC Stack TLV (Type 1), the Reverse-Path Target FEC Stack TLV (Type 16), and the Reply Path TLV (Type 21). Sub-Type Sub-TLV Name -------- ----------------------------- TBD1 SR Policy's PSID TBD2 SR Candidate Path's PSID TBD3 SR Segment List's PSID As specified in Section 2 of [RFC9545], a PSID is used to identify a segment list, some or all segment lists in a Candidate path or an SR policy, so three different Target FEC Stack sub-TLVs need to be defined for PSID. When a PSID is used to identify an SR Policy, the Target FEC Stack sub-TLV of the type "SR Policy's PSID" would be used to validate the control plane to forwarding plane synchronization for this PSID; When a PSID is used to identify an SR Candidate Path, the Target FEC Stack sub-TLV of the type "SR Candidate Path's PSID" would be used to validate the control plane to forwarding plane synchronization for this PSID; When a PSID is used to identify a Segment List, the Target FEC Stack sub-TLV of the type "SR Segment List's PSID" would be used to validate the control plane to forwarding plane synchronization for this PSID. Note that the three new Target FEC Stack sub-TLVs are mutual exclusive and they wouldn't be present in one message simultaneously. 3.1. SR Policy's PSID The format of SR Policy's PSID sub-TLV is specified as below: Min, et al. Expires 15 May 2025 [Page 3] Internet-Draft LSP Ping for SR PSID November 2024 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = TBD1 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Headend (4/16 octets) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Color (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Endpoint (4/16 octets) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: SR Policy's PSID sub-TLV Type This field is set to the value (TBD1) which indicates that it's an SR Policy's PSID sub-TLV. Length This field is set to the length of the sub-TLV's Value field in octets. If Headend and Endpoint fields are in IPv4 address format which is 4 octets long, it MUST be set to 12; If Headend and Endpoint fields are in IPv6 address format which is 16 octets long, it MUST be set to 36. Headend The same as defined in Section 2.1 of [RFC9256]. Color The same as defined in Section 2.1 of [RFC9256]. Endpoint The same as defined in Section 2.1 of [RFC9256]. 3.2. SR Candidate Path's PSID The format of SR Candidate Path's PSID sub-TLV is specified as below: Min, et al. Expires 15 May 2025 [Page 4] Internet-Draft LSP Ping for SR PSID November 2024 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = TBD2 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Headend (4/16 octets) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Color (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Endpoint (4/16 octets) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Protocol-Origin| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | Originator (20 octets) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Discriminator (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: SR Candidate Path's PSID sub-TLV Type This field is set to the value (TBD2) which indicates that it's an SR Candidate Path's PSID sub-TLV. Length This field is set to the length of the sub-TLV's Value field in octets. If Headend and Endpoint fields are in IPv4 address format which is 4 octets long, it MUST be set to 40; If Headend and Endpoint fields are in IPv6 address format which is 16 octets long, it MUST be set to 64. Headend The same as defined in Section 2.1 of [RFC9256]. Color The same as defined in Section 2.1 of [RFC9256]. Endpoint The same as defined in Section 2.1 of [RFC9256]. Min, et al. Expires 15 May 2025 [Page 5] Internet-Draft LSP Ping for SR PSID November 2024 Protocol-Origin The same as defined in Section 2.3 of [RFC9256]. The value of this field follows the IANA registry requested in Section 6.5 of [I-D.ietf-pce-segment-routing-policy-cp]. Originator The same as defined in Section 2.4 of [RFC9256]. Discriminator The same as defined in Section 2.5 of [RFC9256]. 3.3. SR Segment List's PSID The format of SR Segment List's PSID sub-TLV is specified as below: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = TBD3 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Headend (4/16 octets) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Color (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Endpoint (4/16 octets) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Protocol-Origin| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | Originator (20 octets) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Discriminator (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Segment-List-ID (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: SR Segment List's PSID sub-TLV Type Min, et al. Expires 15 May 2025 [Page 6] Internet-Draft LSP Ping for SR PSID November 2024 This field is set to the value (TBD3) which indicates that it's an SR Segment List's PSID sub-TLV. Length This field is set to the length of the sub-TLV's Value field in octets. If Headend and Endpoint fields are in IPv4 address format which is 4 octets long, it MUST be set to 44; If Headend and Endpoint fields are in IPv6 address format which is 16 octets long, it MUST be set to 68. Headend The same as defined in Section 2.1 of [RFC9256]. Color The same as defined in Section 2.1 of [RFC9256]. Endpoint The same as defined in Section 2.1 of [RFC9256]. Protocol-Origin The same as defined in Section 2.3 of [RFC9256]. The value of this field follows the IANA registry requested in Section 6.5 of [I-D.ietf-pce-segment-routing-policy-cp]. Originator The same as defined in Section 2.4 of [RFC9256]. Discriminator The same as defined in Section 2.5 of [RFC9256]. Segment-List-ID This field identifies an SR path within the context of a candidate path of an SR Policy. The segment-list-id is a 4-octet identifier of a segment list. Min, et al. Expires 15 May 2025 [Page 7] Internet-Draft LSP Ping for SR PSID November 2024 4. PSID FEC Validation The MPLS LSP Ping procedures may be initiated by the headend of the Segment Routing path or a centralized topology-aware data plane monitoring system as described in [RFC8403]. For the PSID, the responder nodes that receive echo request and send echo reply MUST be the endpoint of the Segment Routing path. When an endpoint receives the LSP echo request packet with top FEC being the PSID, it MUST perform validity checks on the content of the PSID FEC Stack sub-TLV. The basic length check should be performed on the received FEC. SR Policy's PSID ------------------ Length = 12 or 36 octets SR Candidate Path's PSID ------------------ Length = 40 or 64 octets SR Segment List's PSID ------------------ Length = 44 or 68 octets If a malformed FEC Stack sub-TLV is received, then a return code of 1, "Malformed echo request received" as defined in [RFC8029] SHOULD be sent. The below section augments Section 7.4 of [RFC8287]. 4a. Segment Routing PSID Validation: If the Label-stack-depth is 0 and the Target FEC Stack sub-TLV at FEC-stack-depth is TBD1 (SR Policy's PSID sub-TLV), { - Set the Best-return-code to 10, "Mapping for this FEC is not the given label at stack-depth " if any below conditions fail (the notation refers to the Return Subcode): o Validate that the PSID is signaled or provisioned for the SR Policy { + Validate that the signaled or provisioned headend, color, and endpoint, for the PSID, matches with the corresponding fields in the received SR Policy's PSID sub-TLV. } Min, et al. Expires 15 May 2025 [Page 8] Internet-Draft LSP Ping for SR PSID November 2024 } - If all the above validations have passed, set the return code to 3 "Replying router is an egress for the FEC at stack-depth ". - Set FEC-Status to 1 and return. } Else, if the Label-stack-depth is 0 and the Target FEC Stack sub- TLV at FEC-stack-depth is TBD2 (SR Candidate Path's PSID sub-TLV), { - Set the Best-return-code to 10, "Mapping for this FEC is not the given label at stack-depth " if any below conditions fail: o Validate that the PSID is signaled or provisioned for the SR Candidate Path { + Validate that the signaled or provisioned headend, color, endpoint, originator, and discriminator, for the PSID, matches with the corresponding fields in the received SR Candidate Path's PSID sub-TLV. } } - If all the above validations have passed, set the return code to 3 "Replying router is an egress for the FEC at stack-depth ". - Set FEC-Status to 1 and return. } Else, if the Label-stack-depth is 0 and the Target FEC Stack sub- TLV at FEC-stack-depth is TBD3 (SR Segment List's PSID sub-TLV), { - Set the Best-return-code to 10, "Mapping for this FEC is not the given label at stack-depth " if any below conditions fail: o Validate that the PSID is signaled or provisioned for the SR Segment List { Min, et al. Expires 15 May 2025 [Page 9] Internet-Draft LSP Ping for SR PSID November 2024 + Validate that the signaled or provisioned headend, color, endpoint, originator, discriminator, and segment-list-id, for the PSID, matches with the corresponding fields in the received SR Segment List's PSID sub-TLV. } } - If all the above validations have passed, set the return code to 3 "Replying router is an egress for the FEC at stack-depth ". - Set FEC-Status to 1 and return. } When a sub-TLV defined in this document is carried in Reverse-Path Target FEC Stack TLV (Type 16) or Reply Path TLV (Type 21), it MUST be sent by an endpoint in an echo reply. The headend MUST perform validity checks as described above without setting the return code. If any of the validations fail, then the headend MUST drop the echo reply and SHOULD log and/or report an error. 5. Security Considerations This document defines additional MPLS LSP Ping sub-TLVs and follows the mechanisms defined in [RFC8029]. All the security considerations defined in [RFC8029] will be applicable for this document and, in addition, the MPLS LSP Ping sub-TLVs defined in this document do not impose any additional security challenges to be considered. 6. IANA Considerations IANA is requested to assign three new sub-TLVs from the "Sub-TLVs for TLV Types 1, 16, and 21" sub-registry in the "TLVs" registry of the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" name space. The Standards Action range that requires an error message to be returned if the sub-TLV is not recognized (range 0-16383) should be used. Sub-Type Sub-TLV Name Reference -------- ------------------------- ------------ TBD1 SR Policy's PSID Section 3.1 TBD2 SR Candidate Path's PSID Section 3.2 TBD3 SR Segment List's PSID Section 3.3 Min, et al. Expires 15 May 2025 [Page 10] Internet-Draft LSP Ping for SR PSID November 2024 7. Acknowledgements The authors would like to acknowledge Loa Andersson, Detao Zhao, Ben Niven-Jenkins, Greg Mirsky, and Ketan Talaulikar for their thorough review and very helpful comments. The authors would like to acknowledge Yao Liu and Quan Xiong for the very helpful f2f discussion. 8. References 8.1. Normative References [I-D.ietf-pce-segment-routing-policy-cp] Koldychev, M., Sivabalan, S., Barth, C., Peng, S., and H. Bidgoli, "Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing (SR) Policy Candidate Paths", Work in Progress, Internet-Draft, draft- ietf-pce-segment-routing-policy-cp-18, 14 October 2024, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., Aldrin, S., and M. Chen, "Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures", RFC 8029, DOI 10.17487/RFC8029, March 2017, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8287] Kumar, N., Ed., Pignataro, C., Ed., Swallow, G., Akiya, N., Kini, S., and M. Chen, "Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data Planes", RFC 8287, DOI 10.17487/RFC8287, December 2017, . [RFC8690] Nainar, N., Pignataro, C., Iqbal, F., and A. Vainshtein, "Clarification of Segment ID Sub-TLV Length for RFC 8287", RFC 8690, DOI 10.17487/RFC8690, December 2019, . Min, et al. Expires 15 May 2025 [Page 11] Internet-Draft LSP Ping for SR PSID November 2024 [RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", RFC 9256, DOI 10.17487/RFC9256, July 2022, . [RFC9545] Cheng, W., Ed., Li, H., Li, C., Ed., Gandhi, R., and R. Zigler, "Path Segment Identifier in MPLS-Based Segment Routing Networks", RFC 9545, DOI 10.17487/RFC9545, February 2024, . 8.2. Informative References [I-D.ietf-mpls-sr-epe-oam] Hegde, S., Srivastava, M., Arora, K., Ninan, S., and X. Xu, "Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) Egress Peer Engineering Segment Identifiers (SIDs) with MPLS Data Plane", Work in Progress, Internet- Draft, draft-ietf-mpls-sr-epe-oam-19, 28 July 2024, . [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, DOI 10.17487/RFC3031, January 2001, . [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018, . [RFC8403] Geib, R., Ed., Filsfils, C., Pignataro, C., Ed., and N. Kumar, "A Scalable and Topology-Aware MPLS Data-Plane Monitoring System", RFC 8403, DOI 10.17487/RFC8403, July 2018, . Authors' Addresses Xiao Min ZTE Corp. Nanjing China Phone: +86 18061680168 Email: xiao.min2@zte.com.cn Min, et al. Expires 15 May 2025 [Page 12] Internet-Draft LSP Ping for SR PSID November 2024 Shaofu Peng ZTE Corp. Nanjing China Email: peng.shaofu@zte.com.cn Liyan Gong China Mobile Beijing China Email: gongliyan@chinamobile.com Rakesh Gandhi Cisco Systems, Inc. Canada Email: rgandhi@cisco.com Carlos Pignataro North Carolina State University United States of America Email: cpignata@gmail.com, cmpignat@ncsu.edu Min, et al. Expires 15 May 2025 [Page 13]