Label Switched Path Ping for Segment Routing Path Segment Identifier with MPLS Data Plane
RFC 9884
Xiao Min
ZTE Corp.
Shaofu Peng
ZTE Corp.
Liyan Gong
China Mobile
Rakesh Gandhi
Cisco Systems, Inc.
Carlos Pignataro
Blue Fern Consulting
2025-10
RTG
mpls
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. Path Segment Identifiers (PSIDs) are used to identify and correlate bidirectional or end-to-end paths in SR networks. This document defines procedures (i.e., six 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 PSIDs. The mechanisms described enable the validation and tracing of SR paths with Path SIDs in MPLS networks, complementing existing SR-MPLS Operations, Administration, and Maintenance (OAM) capabilities.
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 7841.
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9884.
Copyright Notice
Copyright (c) 2025 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 (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. Conventions
  - 2.1. Requirements Language
  - 2.2. Terminology
- 3. Path Segment ID Sub-TLVs
  - 3.1. SR Policy Associated PSID - IPv4 Sub-TLV
  - 3.2. SR Candidate Path Associated PSID - IPv4 Sub-TLV
  - 3.3. SR Segment List Associated PSID - IPv4 Sub-TLV
  - 3.4. SR Policy Associated PSID - IPv6 Sub-TLV
  - 3.5. SR Candidate Path Associated PSID - IPv6 Sub-TLV
  - 3.6. SR Segment List Associated PSID - IPv6 Sub-TLV
- 4. PSID FEC Validation
  - 4.1. PSID FEC Validation Rules
- 5. Security Considerations
- 6. IANA Considerations
- 7. References
  - 7.1. Normative References
  - 7.2. Informative References
- Acknowledgements
- Authors' Addresses
Introduction
A Path Segment is a local segment [RFC9545] that uniquely identifies an SR path on the egress node. A Path Segment Identifier (PSID) is a single label that is assigned from the SR 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.
The procedure for LSP Ping [RFC8029] as defined in Section 7.4 of [RFC8287] is also applicable to PSID; this document appends the 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 the SR path context (segment-list, candidate path, or SR Policy) associated with the PSID as signaled or provisioned at the egress node. To that end, this document specifies six 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.
Conventions
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.
Terminology
This document uses the terminology defined in [RFC3031], [RFC8402], [RFC8029], and [RFC9545]; readers are expected to be familiar with the terms in those documents.
This document introduces the following additional term:
Segment-List-ID
The Segment-List-ID field is a 4-octet identifier that uniquely identifies a segment list within the context of the candidate path of an SR Policy. Although not defined in [RFC9256], the Segment-List-ID is the same identifier as the one that can be signaled through control plane protocols including Border Gateway Protocol (BGP) (Section 2.1 of [SR-SEGLIST-ID], Path Computation Element Communication Protocol (PCEP) (Section 4.2 of [PCE-MULTIPATH]), and Border Gateway Protocol - Link State (BGP-LS) (Section 5.7.4 of [RFC9857]).
Path Segment ID Sub-TLVs
Analogous to what's defined in Section 5 of [RFC8287] and Section 4 of [RFC9703], six 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 six new sub-TLVs follow the TLV's structure defined in Section 3 of [RFC8029].
Sub-TLVs for PSID Checks
Sub-Type | Sub-TLV Name
49 | SR Policy Associated PSID - IPv4
50 | SR Candidate Path Associated PSID - IPv4
51 | SR Segment List Associated PSID - IPv4
52 | SR Policy Associated PSID - IPv6
53 | SR Candidate Path Associated PSID - IPv6
54 | SR Segment List Associated PSID - IPv6
As specified in Section 2 of [RFC9545], a PSID is used to identify the following:
- a single segment list, some segment lists, or all segment lists in a candidate path of an SR Policy,
- some segment lists across multiple candidate paths of an SR Policy, or
- all segment lists in all candidate paths of an SR Policy.
Therefore, six different Target FEC Stack sub-TLVs need to be defined for PSID. The ordered list of selection rules for the six Target FEC Stack sub-TLVs are defined as follows:
- When a PSID is used to identify all segment lists in an SR Policy, the Target FEC Stack sub-TLV of the type "SR Policy Associated PSID" (for IPv4 or IPv6) MUST be used for PSID checks.
- When a PSID is used to identify all segment lists in an SR Candidate Path, the Target FEC Stack sub-TLV of the type "SR Candidate Path Associated PSID" (for IPv4 or IPv6) MUST be used for PSID checks.
- When a PSID is used to identify a single segment list, the Target FEC Stack sub-TLV of the type "SR Segment List Associated PSID" (for IPv4 or IPv6) MUST be used for PSID checks.
- When a PSID is used to identify some segment lists in a candidate path or an SR Policy, the Target FEC Stack sub-TLV of the type "SR Segment List Associated PSID" (for IPv4 or IPv6) MUST be used for PSID checks. In this case, multiple LSP Ping messages MUST be sent, and one Target FEC Stack sub-TLV of the type "SR Segment List Associated PSID" (for IPv4 or IPv6) MUST be carried in each LSP Ping message.
These six 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.
SR Policy Associated PSID - IPv4 Sub-TLV
The SR Policy Associated PSID - IPv4 sub-TLV is defined as follows:
SR Policy Associated PSID - IPv4 Sub-TLV Format

 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 = 49            |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Headend (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Endpoint (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (length: 2 octets)
The Type field identifies the sub-TLV as an SR Policy Associated PSID - IPv4 sub-TLV. The value is set to 49.
Length (length: 2 octets)
The Length field indicates the length of the sub-TLV in octets, excluding the first 4 octets (Type and Length fields). The value MUST be set to 12.
Headend (length: 4 octets)
The Headend field encodes the headend IPv4 address of the SR Policy. This field is defined in Section 2.1 of [RFC9256].
Color (length: 4 octets)
The Color field identifies the color (i.e., policy identifier) of the SR Policy and is encoded as defined in Section 2.1 of [RFC9256].
Endpoint (length: 4 octets)
The Endpoint field encodes the endpoint IPv4 address of the SR Policy. This field is defined in Section 2.1 of [RFC9256].
SR Candidate Path Associated PSID - IPv4 Sub-TLV
The SR Candidate Path Associated PSID - IPv4 sub-TLV is defined as follows:
SR Candidate Path Associated PSID - IPv4 Sub-TLV Format

 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 = 50            |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Headend (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Endpoint (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin|                    Reserved                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                                                               |
|                   Originator (20 octets)                      |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Discriminator (4 octets)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (length: 2 octets)
The Type field identifies the sub-TLV as an SR Candidate Path Associated PSID - IPv4 sub-TLV. The value is set to 50.
Length (length: 2 octets)
The Length field indicates the length of the sub-TLV in octets, excluding the first 4 octets (Type and Length fields). The value MUST be set to 40.
Headend (length: 4 octets)
The Headend field encodes the headend IPv4 address of the SR Candidate Path. This field is defined in Section 2.1 of [RFC9256].
Color (length: 4 octets)
The Color field identifies the policy color and is defined in Section 2.1 of [RFC9256].
Endpoint (length: 4 octets)
The Endpoint field encodes the endpoint IPv4 address of the SR Candidate Path. This field is defined in Section 2.1 of [RFC9256].
Protocol-Origin (length: 1 octet)
The Protocol-Origin field indicates the protocol that originated the SR Candidate Path. It is defined in Section 2.3 of [RFC9256] and takes values from the IANA registry [PROTOCOL-ORIGIN]. If an unsupported value is used, validation at the responder MUST fail.
Reserved (length: 3 octets)
The Reserved field is reserved for future use. It MUST be set to zero when sent and MUST be ignored upon receipt.
Originator (length: 20 octets)
The Originator field identifies the originator of the SR Candidate Path and is encoded as defined in Section 2.4 of [RFC9256].
Discriminator (length: 4 octets)
The Discriminator field uniquely identifies the SR Candidate Path within the context of the Headend, Color, and Endpoint fields. This field is defined in Section 2.5 of [RFC9256].
SR Segment List Associated PSID - IPv4 Sub-TLV
The SR Segment List Associated PSID - IPv4 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.
SR Segment List Associated PSID - IPv4 Sub-TLV Format

 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 = 51            |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Headend (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Endpoint (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin|                    Reserved                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                                                               |
|                    Originator (20 octets)                     |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Discriminator (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Segment-List-ID (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (length: 2 octets)
The Type field identifies the sub-TLV as an SR Segment List Associated PSID - IPv4 sub-TLV. The value is set to 51.
Length (length: 2 octets)
The Length field indicates the length of the sub-TLV in octets, excluding the first 4 octets (Type and Length fields). The value MUST be set to 44.
Headend (length: 4 octets)
The Headend field encodes the headend IPv4 address of the SR Policy. This field is defined in Section 2.1 of [RFC9256].
Color (length: 4 octets)
The Color field identifies the color of the SR Policy and is encoded as specified in Section 2.1 of [RFC9256].
Endpoint (length: 4 octets)
The Endpoint field specifies the endpoint IPv4 address of the SR Policy, as defined in Section 2.1 of [RFC9256].
Protocol-Origin (length: 1 octet)
The Protocol-Origin field indicates the protocol that originated the SR Candidate Path. It is defined in Section 2.3 of [RFC9256] and takes values from the IANA registry [PROTOCOL-ORIGIN]. If an unsupported value is used, validation at the responder MUST fail.
Reserved (length: 3 octets)
The Reserved field is reserved for future use. It MUST be set to zero when transmitted and MUST be ignored upon receipt.
Originator (length: 20 octets)
The Originator field identifies the originator of the SR Candidate Path and is defined in Section 2.4 of [RFC9256].
Discriminator (length: 4 octets)
The Discriminator field uniquely identifies the SR Candidate Path within the context of the Headend, Color, and Endpoint fields. This field is defined in Section 2.5 of [RFC9256].
Segment-List-ID (length: 4 octets)
The Segment-List-ID field is a 4-octet identifier that uniquely identifies a segment list within the context of the candidate path of an SR Policy. This field is defined in Section 2.2.
SR Policy Associated PSID - IPv6 Sub-TLV
The SR Policy Associated PSID - IPv6 sub-TLV is defined as follows:
SR Policy Associated PSID - IPv6 Sub-TLV Format

 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 = 52            |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                     Headend (16 octets)                       |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                    Endpoint (16 octets)                       |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (length: 2 octets)
The Type field identifies the sub-TLV as an SR Policy Associated PSID - IPv6 sub-TLV. The value is set to 52.
Length (length: 2 octets)
The Length field indicates the length of the sub-TLV in octets, excluding the first 4 octets (Type and Length fields). The value MUST be set to 36.
Headend (length: 16 octets)
The Headend field encodes the headend IPv6 address of the SR Policy. This field is defined in Section 2.1 of [RFC9256].
Color (length: 4 octets)
The Color field identifies the color (i.e., policy identifier) of the SR Policy and is encoded as defined in Section 2.1 of [RFC9256].
Endpoint (length: 16 octets)
The Endpoint field encodes the endpoint IPv6 address of the SR Policy. This field is defined in Section 2.1 of [RFC9256].
SR Candidate Path Associated PSID - IPv6 Sub-TLV
The SR Candidate Path Associated PSID - IPv6 sub-TLV is defined as follows:
SR Candidate Path Associated PSID - IPv6 Sub-TLV Format

 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 = 53            |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                     Headend (16 octets)                       |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                    Endpoint (16 octets)                       |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin|                    Reserved                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                                                               |
|                   Originator (20 octets)                      |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Discriminator (4 octets)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (length: 2 octets)
The Type field identifies the sub-TLV as an SR Candidate Path Associated PSID - IPv6 sub-TLV. The value is set to 53.
Length (length: 2 octets)
The Length field indicates the length of the sub-TLV in octets, excluding the first 4 octets (Type and Length fields). The value MUST be set to 64.
Headend (length: 16 octets)
The Headend field encodes the headend IPv6 address of the SR Candidate Path. This field is defined in Section 2.1 of [RFC9256].
Color (length: 4 octets)
The Color field identifies the policy color and is defined in Section 2.1 of [RFC9256].
Endpoint (length: 16 octets)
The Endpoint field encodes the endpoint IPv6 address of the SR Candidate Path. This field is defined in Section 2.1 of [RFC9256].
Protocol-Origin (length: 1 octet)
The Protocol-Origin field indicates the protocol that originated the SR Candidate Path. It is defined in Section 2.3 of [RFC9256] and takes values from the IANA registry [PROTOCOL-ORIGIN]. If an unsupported value is used, validation at the responder MUST fail.
Reserved (length: 3 octets)
The Reserved field is reserved for future use. It MUST be set to zero when sent and MUST be ignored upon receipt.
Originator (length: 20 octets)
The Originator field identifies the originator of the SR Candidate Path and is encoded as defined in Section 2.4 of [RFC9256].
Discriminator (length: 4 octets)
The Discriminator field uniquely identifies the SR Candidate Path within the context of the Headend, Color, and Endpoint fields. This field is defined in Section 2.5 of [RFC9256].
SR Segment List Associated PSID - IPv6 Sub-TLV
The SR Segment List Associated PSID - IPv6 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 6.
SR Segment List Associated PSID - IPv6 Sub-TLV Format

 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 = 54            |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                     Headend (16 octets)                       |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                    Endpoint (16 octets)                       |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin|                    Reserved                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                                                               |
|                    Originator (20 octets)                     |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Discriminator (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Segment-List-ID (4 octets)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (length: 2 octets)
The Type field identifies the sub-TLV as an SR Segment List Associated PSID - IPv6 sub-TLV. The value is set to 54.
Length (length: 2 octets)
The Length field indicates the length of the sub-TLV in octets, excluding the first 4 octets (Type and Length fields). The value MUST be set to 68.
Headend (length: 16 octets)
The Headend field encodes the headend IPv6 address of the SR Policy. This field is defined in Section 2.1 of [RFC9256].
Color (length: 4 octets)
The Color field identifies the color of the SR Policy and is encoded as specified in Section 2.1 of [RFC9256].
Endpoint (length: 16 octets)
The Endpoint field specifies the endpoint IPv6 address of the SR Policy, as defined in Section 2.1 of [RFC9256].
Protocol-Origin (length: 1 octet)
The Protocol-Origin field indicates the protocol that originated the SR Candidate Path. It is defined in Section 2.3 of [RFC9256] and takes values from the IANA registry [PROTOCOL-ORIGIN]. If an unsupported value is used, validation at the responder MUST fail.
Reserved (length: 3 octets)
The Reserved field is reserved for future use. It MUST be set to zero when transmitted and MUST be ignored upon receipt.
Originator (length: 20 octets)
The Originator field identifies the originator of the SR Candidate Path and is defined in Section 2.4 of [RFC9256].
Discriminator (length: 4 octets)
The Discriminator field uniquely identifies the SR Candidate Path within the context of the Headend, Color, and Endpoint fields. This field is defined in Section 2.5 of [RFC9256].
Segment-List-ID (length: 4 octets)
The Segment-List-ID field is a 4-octet identifier that uniquely identifies a segment list within the context of the candidate path of an SR Policy. This field is defined in Section 2.2.
PSID FEC Validation
The MPLS LSP Ping procedures may be initiated by the headend of the SR path or a centralized topology-aware data plane monitoring system as described in [RFC8403]. For the PSID, the responder nodes that receive an echo request and send an echo reply MUST be the endpoint of the SR path.
When an endpoint receives the LSP echo request packet with the top FEC being the PSID, it MUST perform validity checks on the content of the PSID Target FEC Stack sub-TLV.
If a malformed Target 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].
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 49 (SR Policy Associated PSID - IPv4 sub-TLV), {

   Set the Best-return-code to 10 "Mapping for this FEC is not the
   given label at stack-depth <RSC>" if any below conditions fail
   (the notation <RSC> refers to the Return Subcode):

   -  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 match with the corresponding
         fields in the received SR Policy Associated PSID - IPv4
         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 <RSC>".

   Set the FEC-Status to 1 and return.

}

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

   Set the Best-return-code to 10 "Mapping for this FEC is not the
   given label at stack-depth <RSC>" if any below conditions fail:

   -  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
         match with the corresponding fields in the received SR
         Candidate Path Associated PSID - IPv4 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 <RSC>".

   Set the FEC-Status to 1 and return.

}

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

   Set the Best-return-code to 10 "Mapping for this FEC is not the
   given label at stack-depth <RSC>" if any below conditions fail:

   -  Validate that the PSID is signaled or provisioned for the SR
      Segment List {

      *  Validate that the signaled or provisioned headend, color,
         endpoint, originator, discriminator, and segment-list-id
         for the PSID match with the corresponding fields in the
         received SR Segment List Associated PSID - IPv4 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 <RSC>".

  Set the FEC-Status to 1 and return.

}

Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TLV
at FEC-stack-depth is 52 (SR Policy Associated PSID - IPv6
sub-TLV), {

   Set the Best-return-code to 10 "Mapping for this FEC is not the
   given label at stack-depth <RSC>" if any below conditions fail

   -  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 match with the corresponding
         fields in the received SR Policy Associated PSID - IPv6 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 <RSC>".

   Set the FEC-Status to 1 and return.

}

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

   Set the Best-return-code to 10 "Mapping for this FEC is not the
   given label at stack-depth <RSC>" if any below conditions fail:

   -  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
         match with the corresponding fields in the received SR
         Candidate Path Associated PSID - IPv6 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 <RSC>".

   Set the FEC-Status to 1 and return.

}

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

   Set the Best-return-code to 10 "Mapping for this FEC is not the
   given label at stack-depth <RSC>" if any below conditions fail:

   -  Validate that the PSID is signaled or provisioned for the SR
      Segment List {

      *  Validate that the signaled or provisioned headend, color,
         endpoint, originator, discriminator, and segment-list-id
         for the PSID match with the corresponding fields in the
         received SR Segment List Associated PSID - IPv6 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 <RSC>".

   Set the FEC-Status to 1 and return.

}
When any of the following is carried in a 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.
- SR Policy Associated PSID - IPv4 sub-TLV,
- SR Candidate Path Associated PSID - IPv4 sub-TLV,
- SR Segment List Associated PSID - IPv4 sub-TLV,
- SR Policy Associated PSID - IPv6 sub-TLV,
- SR Candidate Path Associated PSID - IPv6 sub-TLV, or
- SR Segment List Associated PSID - IPv6 sub-TLV
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.
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.
IANA Considerations
IANA has assigned six 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 [RFC8126] range that requires an error message to be returned if the sub-TLV is not recognized (range 0-16383) has been used.
Sub-TLVs for TLV Types 1, 16, and 21 Registry
Sub-Type | Sub-TLV Name | Reference
49 | SR Policy Associated PSID - IPv4 | Section 3.1 of RFC 9884
50 | SR Candidate Path Associated PSID - IPv4 | Section 3.2 of RFC 9884
51 | SR Segment List Associated PSID - IPv4 | Section 3.3 of RFC 9884
52 | SR Policy Associated PSID - IPv6 | Section 3.4 of RFC 9884
53 | SR Candidate Path Associated PSID - IPv6 | Section 3.5 of RFC 9884
54 | SR Segment List Associated PSID - IPv6 | Section 3.6 of RFC 9884
References
Normative References
[MPLS-LSP-PING]

Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters
IANA
[PROTOCOL-ORIGIN]

SR Policy Protocol Origin
IANA
[RFC2119]

Key words for use in RFCs to Indicate Requirement Levels
S. Bradner
March 1997
BCP 14
RFC 2119
DOI 10.17487/RFC2119
[RFC8029]

Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures
K. Kompella
G. Swallow
C. Pignataro, Ed.
N. Kumar
S. Aldrin
M. Chen
March 2017
RFC 8029
DOI 10.17487/RFC8029
[RFC8174]

Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
B. Leiba
May 2017
BCP 14
RFC 8174
DOI 10.17487/RFC8174
[RFC8287]

Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data Planes
N. Kumar, Ed.
C. Pignataro, Ed.
G. Swallow
N. Akiya
S. Kini
M. Chen
December 2017
RFC 8287
DOI 10.17487/RFC8287
[RFC9256]

Segment Routing Policy Architecture
C. Filsfils
K. Talaulikar, Ed.
D. Voyer
A. Bogdanov
P. Mattes
July 2022
RFC 9256
DOI 10.17487/RFC9256
[RFC9545]

Path Segment Identifier in MPLS-Based Segment Routing Networks
W. Cheng, Ed.
H. Li
C. Li, Ed.
R. Gandhi
R. Zigler
February 2024
RFC 9545
DOI 10.17487/RFC9545
Informative References
[I-D.ietf-pce-multipath]

Path Computation Element Communication Protocol (PCEP) Extensions for Signaling Multipath Information
Mike Koldychev
Ciena Corporation
Siva Sivabalan
Ciena Corporation
Tarek Saad
Cisco Systems
Vishnu Pavan Beeram
Juniper Networks, Inc.
Hooman Bidgoli
Nokia
Bhupendra Yadav
Ciena
Shuping Peng
Huawei Technologies
Gyan Mishra
Verizon Inc.
Samuel Sidor
Cisco Systems.
17 October 2025
Internet-Draft draft-ietf-pce-multipath-16
Work in Progress
[RFC3031]

Multiprotocol Label Switching Architecture
E. Rosen
A. Viswanathan
R. Callon
January 2001
RFC 3031
DOI 10.17487/RFC3031
[RFC8126]

Guidelines for Writing an IANA Considerations Section in RFCs
M. Cotton
B. Leiba
T. Narten
June 2017
BCP 26
RFC 8126
DOI 10.17487/RFC8126
[RFC8402]

Segment Routing Architecture
C. Filsfils, Ed.
S. Previdi, Ed.
L. Ginsberg
B. Decraene
S. Litkowski
R. Shakir
July 2018
RFC 8402
DOI 10.17487/RFC8402
[RFC8403]

A Scalable and Topology-Aware MPLS Data-Plane Monitoring System
R. Geib, Ed.
C. Filsfils
C. Pignataro, Ed.
N. Kumar
July 2018
RFC 8403
DOI 10.17487/RFC8403
[RFC9703]

Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) Egress Peer Engineering (EPE) Segment Identifiers (SIDs) with MPLS Data Plane
S. Hegde
M. Srivastava
K. Arora
S. Ninan
X. Xu
December 2024
RFC 9703
DOI 10.17487/RFC9703
[RFC9857]

Advertisement of Segment Routing Policies Using BGP - Link State
Stefano Previdi
Individual
Ketan Talaulikar, Ed.
Cisco Systems
Jie Dong
Huawei Technologies
Hannes Gredler
RtBrick Inc.
Jeff Tantsura
Nvidia
October 2025
RFC 9857
DOI 10.17487/RFC9857
[I-D.ietf-idr-sr-policy-seglist-id]

BGP SR Policy Extensions for Segment List Identifier
Changwang Lin
New H3C Technologies
Weiqiang Cheng
China Mobile
Yao Liu
ZTE
Ketan Talaulikar
Cisco Systems
Mengxiao Chen
New H3C Technologies
24 September 2025
Internet-Draft draft-ietf-idr-sr-policy-seglist-id-06
Work in Progress
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, Éric Vyncke, Gunter Van de Velde, Mahesh Jethanandani, and Andy Smith 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.
Authors' Addresses
Xiao Min
ZTE Corp.
Nanjing
China
+86 18061680168
xiao.min2@zte.com.cn
Shaofu Peng
ZTE Corp.
Nanjing
China
peng.shaofu@zte.com.cn
Liyan Gong
China Mobile
Beijing
China
gongliyan@chinamobile.com
Rakesh Gandhi
Cisco Systems, Inc.
Canada
rgandhi@cisco.com
Carlos Pignataro
Blue Fern Consulting
United States of America
carlos@bluefern.consulting