Internet-Draft LSP Ping for SR PSID May 2025
Min, et al. Expires 24 November 2025 [Page]
Workgroup:
MPLS Working Group
Internet-Draft:
draft-ietf-mpls-spring-lsp-ping-path-sid-09
Published:
Intended Status:
Standards Track
Expires:
Authors:
X. Min
ZTE Corp.
S. Peng
ZTE Corp.
L. Gong
China Mobile
R. Gandhi
Cisco Systems, Inc.
C. Pignataro
Blue Fern Consulting

Label Switched Path Ping for Segment Routing Path Segment Identifier with MPLS Data Plane

Abstract

Segment Routing (SR) leverages source routing to steer packets through an ordered list of instructions, called segments. SR can be instantiated over the MPLS data plane without the need for additional signaling protocols. Path Segment Identifiers (PSIDs) are used to identify and correlate bidirectional or end-to-end paths in Segment Routing networks. This document defines procedures (i.e. three new Target forwarding Equivalence Class (FEC) Stack sub-TLVs) for the use of LSP Ping to support connectivity verification and fault isolation for SR paths that include Path Segment Identifiers. The mechanisms described enable the validation and tracing of SR paths with Path SIDs in MPLS networks, complementing existing SR-MPLS OAM capabilities.

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 24 November 2025.

Table of Contents

1. Introduction

A Path Segment is a local segment [RFC8402] that uniquely identifies an SR path on the egress node. A Path Segment Identifier (PSID) is a single label that is assigned from the Segment Routing Local Block (SRLB) [RFC8402] of the egress node of an SR path.

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 pops the PSID.

Procedure for LSP Ping [RFC8029] as defined in Section 7.4 of [RFC8287] is also applicable to PSID, and this document appends existing step 4a with a new step 4b specific to PSID. Concretely, LSP Ping can be used to check the correct operation of a PSID and verify the PSID against the control plane. Checking correct operation means that an initiator can use LSP Ping to check whether a PSID reached the intended node and got processed by that node correctly. Moreover, verifying a PSID against the control plane means that the initiator can use LSP Ping to verify whether a given node has the same understanding with the initiator on how the PSID was constructed by the control plane. To that end, this document specifies three new Target Forwarding Equivalence Class (FEC) Stack sub-TLVs for such PSID checks.

LSP Traceroute [RFC8287] is left out of this document because transit nodes are not involved in PSID processing.

2. Conventions

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], [RFC8029], and [RFC9545], readers are expected to be familiar with those terms.

Segment-List-ID

3. Path Segment ID Sub-TLVs

Analogous to what's defined in Section 5 of [RFC8287] and Section 4 of [RFC9703], 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). Note that the structures of the three new sub-TLVs follow the TLV's structure defined in Section 3 of [RFC8029].

Table 1: Sub-TLVs for PSID Checks
Sub-Type Sub-TLV Name
TBD1 SR Policy Associated PSID
TBD2 SR Candidate Path Associated PSID
TBD3 SR Segment List Associated 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. The ordered list of selection rules for the three Target FEC Stack sub-TLVs are defined as follows:

These three new Target FEC Stack sub-TLVs are not expected to be present in the same message. If more than one of these sub-TLVs are present in a message, only the first sub-TLV will be processed per the validation rules in Section 4.

3.1. SR Policy Associated PSID Sub-TLV

The SR Policy Associated PSID sub-TLV is defined as follows:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Type = TBD1          |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Type  |                   Reserved                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     Headend (4 or 16 octets)                  ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                    Endpoint (4 or 16 octets)                  ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: SR Policy Associated PSID sub-TLV Format

Type (length: 2 octets)

Length (length: 2 octets)

Address Type (length: 1 octet)

Reserved (length: 3 octets)

Headend (length: 4 or 16 octets)

Color (length: 4 octets)

Endpoint (length: 4 or 16 octets)

3.2. SR Candidate Path Associated PSID Sub-TLV

The SR Candidate Path Associated PSID sub-TLV is formatted as follows:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Type = TBD2          |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Type  |                   Reserved1                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     Headend (4 or 16 octets)                  ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                    Endpoint (4 or 16 octets)                  ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol-Origin |                Reserved2                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                                                               |
|                   Originator (20 octets)                      |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Discriminator (4 octets)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: SR Candidate Path Associated PSID sub-TLV Format

Type (length: 2 octets)

Length (length: 2 octets)

Address Type (length: 1 octet)

Reserved1 (length: 3 octets)

Headend (length: 4 or 16 octets)

Color (length: 4 octets)

Endpoint (length: 4 or 16 octets)

Protocol-Origin (length: 1 octet)

Reserved2 (length: 3 octets)

Originator (length: 20 octets)

Discriminator (length: 4 octets)

3.3. SR Segment List Associated PSID Sub-TLV

The SR Segment List Associated PSID sub-TLV is used to identify a specific segment list within the context of a candidate path of an SR Policy. The format of this sub-TLV is shown in Figure 3.

 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            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Type  |                   Reserved1                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     Headend (4 or 16 octets)                  ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                    Endpoint (4 or 16 octets)                  ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol-Origin |                Reserved2                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                                                               |
|                    Originator (20 octets)                     |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Discriminator (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Segment-List-ID (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: SR Segment List Associated PSID sub-TLV Format

Type

Length (length: 2 octets)

Address Type (length: 1 octet)

Reserved1 (length: 3 octets)

Headend (length: 4 or 16 octets)

Color (length: 4 octets)

Endpoint (length: 4 or 16 octets)

Protocol-Origin (length: 1 octet)

Reserved2 (length: 3 octets)

Originator (length: 20 octets)

Discriminator (length: 4 octets)

Segment-List-ID (length: 4 octets)

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 SR 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.

If a malformed FEC Stack sub-TLV is received, then a return code of 1, "Malformed echo request received" as defined in [RFC8029] MUST be sent. The section below is appended to step 4a of Section 7.4 of [RFC8287].

4.1. PSID FEC Validation Rules

4b. Segment Routing PSID Validation:

If the Label-stack-depth is 1 and the Target FEC Stack sub-TLV at FEC-stack-depth is TBD1 (SR Policy Associated PSID sub-TLV), {

}

Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TLV at FEC-stack-depth is TBD2 (SR Candidate Path Associated PSID sub-TLV), {

}

Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TLV at FEC-stack-depth is TBD3 (SR Segment List Associated PSID sub-TLV), {

}

When an SR Policy Associated PSID sub-TLV, or an SR Candidate Path Associated PSID sub-TLV, or an SR Segment List Associated PSID sub-TLV 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 Section 5 of [RFC8029] apply to this document. 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 Target FEC Stack sub-TLVs from the "Sub-TLVs for TLV Types 1, 16, and 21" registry [MPLS-LSP-PING] within the "TLVs" registry of the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" registry group. 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.

Table 2: Sub-TLVs for TLV Types 1, 16, and 21 Registry
Sub-Type Sub-TLV Name Reference
TBD1 SR Policy Associated PSID Section 3.1 of THIS_DOCUMENT
TBD2 SR Candidate Path Associated PSID Section 3.2 of THIS_DOCUMENT
TBD3 SR Segment List Associated PSID Section 3.3 of THIS_DOCUMENT

7. Acknowledgements

The authors would like to acknowledge Loa Andersson, Detao Zhao, Ben Niven-Jenkins, Greg Mirsky, Ketan Talaulikar, James Guichard, Jon Geater, Gorry Fairhurst, Bing Liu, Mohamed Boucadair, Eric Vyncke, Gunter Van de Velde, and Mahesh Jethanandani for their thorough review and very helpful comments.

The authors would like to acknowledge Yao Liu and Quan Xiong for the very helpful face to face discussion.

8. References

8.1. Normative References

[MPLS-LSP-PING]
"Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters", <http://www.iana.org/assignments/mpls-lsp-ping-parameters>.
[PROTOCOL-ORIGIN]
"SR Policy Protocol Origin", <https://www.iana.org/assignments/segment-routing/segment-routing.xhtml#sr-policy-protocol-origin>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[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, , <https://www.rfc-editor.org/info/rfc8029>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[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, , <https://www.rfc-editor.org/info/rfc8287>.
[RFC9256]
Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", RFC 9256, DOI 10.17487/RFC9256, , <https://www.rfc-editor.org/info/rfc9256>.
[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, , <https://www.rfc-editor.org/info/rfc9545>.

8.2. Informative References

[I-D.ietf-idr-bgp-ls-sr-policy]
Previdi, S., Talaulikar, K., Dong, J., Gredler, H., and J. Tantsura, "Advertisement of Segment Routing Policies using BGP Link-State", Work in Progress, Internet-Draft, draft-ietf-idr-bgp-ls-sr-policy-17, , <https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ls-sr-policy-17>.
[I-D.ietf-idr-sr-policy-seglist-id]
Lin, C., Cheng, W., Liu, Y., Talaulikar, K., and M. Chen, "BGP SR Policy Extensions for Segment List Identifier", Work in Progress, Internet-Draft, draft-ietf-idr-sr-policy-seglist-id-04, , <https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr-policy-seglist-id-04>.
[I-D.ietf-pce-multipath]
Koldychev, M., Sivabalan, S., Saad, T., Beeram, V. P., Bidgoli, H., Yadav, B., Peng, S., and G. S. Mishra, "PCEP Extensions for Signaling Multipath Information", Work in Progress, Internet-Draft, draft-ietf-pce-multipath-13, , <https://datatracker.ietf.org/doc/html/draft-ietf-pce-multipath-13>.
[RFC3031]
Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, DOI 10.17487/RFC3031, , <https://www.rfc-editor.org/info/rfc3031>.
[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, , <https://www.rfc-editor.org/info/rfc8402>.
[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, , <https://www.rfc-editor.org/info/rfc8403>.
[RFC9703]
Hegde, S., Srivastava, M., Arora, K., Ninan, S., and X. Xu, "Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) Egress Peer Engineering (EPE) Segment Identifiers (SIDs) with MPLS Data Plane", RFC 9703, DOI 10.17487/RFC9703, , <https://www.rfc-editor.org/info/rfc9703>.

Authors' Addresses

Xiao Min
ZTE Corp.
Nanjing
China
Shaofu Peng
ZTE Corp.
Nanjing
China
Liyan Gong
China Mobile
Beijing
China
Rakesh Gandhi
Cisco Systems, Inc.
Canada
Carlos Pignataro
Blue Fern Consulting
United States of America