rfc9884v1.txt   rfc9884.txt 
skipping to change at line 13 skipping to change at line 13
Request for Comments: 9884 S. Peng Request for Comments: 9884 S. Peng
Category: Standards Track ZTE Corp. Category: Standards Track ZTE Corp.
ISSN: 2070-1721 L. Gong ISSN: 2070-1721 L. Gong
China Mobile China Mobile
R. Gandhi R. Gandhi
Cisco Systems, Inc. Cisco Systems, Inc.
C. Pignataro C. Pignataro
Blue Fern Consulting Blue Fern Consulting
October 2025 October 2025
A Label Switched Path Ping for the Segment Routing Path Segment Label Switched Path Ping for Segment Routing Path Segment Identifier
Identifier with an MPLS Data Plane with MPLS Data Plane
Abstract Abstract
Segment Routing (SR) leverages source routing to steer packets Segment Routing (SR) leverages source routing to steer packets
through an ordered list of instructions called "segments". SR can be through an ordered list of instructions called "segments". SR can be
instantiated over the MPLS data plane. Path Segment Identifiers instantiated over the MPLS data plane. Path Segment Identifiers
(PSIDs) are used to identify and correlate bidirectional or end-to- (PSIDs) are used to identify and correlate bidirectional or end-to-
end paths in Segment Routing networks. This document defines end paths in SR networks. This document defines procedures (i.e.,
procedures (i.e., six new Target Forwarding Equivalence Class (FEC) six new Target Forwarding Equivalence Class (FEC) Stack sub-TLVs) for
Stack sub-TLVs) for the use of LSP Ping to support connectivity the use of LSP Ping to support connectivity verification and fault
verification and fault isolation for SR paths that include Path isolation for SR paths that include PSIDs. The mechanisms described
Segment Identifiers. The mechanisms described enable the validation enable the validation and tracing of SR paths with Path SIDs in MPLS
and tracing of SR paths with Path SIDs in MPLS networks, networks, complementing existing SR-MPLS Operations, Administration,
complementing existing SR-MPLS Operations, Administration, and and Maintenance (OAM) capabilities.
Maintenance (OAM) capabilities.
Status of This Memo Status of This Memo
This is an Internet Standards Track document. This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has (IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841. Internet Standards is available in Section 2 of RFC 7841.
skipping to change at line 87 skipping to change at line 86
7. References 7. References
7.1. Normative References 7.1. Normative References
7.2. Informative References 7.2. Informative References
Acknowledgements Acknowledgements
Authors' Addresses Authors' Addresses
1. Introduction 1. Introduction
A Path Segment is a local segment [RFC9545] that uniquely identifies 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 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 single label that is assigned from the SR Local Block (SRLB)
(SRLB) [RFC8402] of the egress node of an SR path. [RFC8402] of the egress node of an SR path.
As specified in [RFC9545], PSID is a single label inserted by the 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 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 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 label immediately following the last label of the SR path. The
egress node pops the PSID. egress node pops the PSID.
The procedure for LSP Ping [RFC8029] as defined in Section 7.4 of The procedure for LSP Ping [RFC8029] as defined in Section 7.4 of
[RFC8287] is also applicable to PSID; this document appends the [RFC8287] is also applicable to PSID; this document appends the
existing step 4a with a new step 4b specific to PSID. Concretely, existing step 4a with a new step 4b specific to PSID. Concretely,
skipping to change at line 138 skipping to change at line 137
This document introduces the following additional term: This document introduces the following additional term:
Segment-List-ID Segment-List-ID
The Segment-List-ID field is a 4-octet identifier that uniquely The Segment-List-ID field is a 4-octet identifier that uniquely
identifies a segment list within the context of the candidate path identifies a segment list within the context of the candidate path
of an SR Policy. Although not defined in [RFC9256], the Segment- of an SR Policy. Although not defined in [RFC9256], the Segment-
List-ID is the same identifier as the one that can be signaled List-ID is the same identifier as the one that can be signaled
through control plane protocols including Border Gateway Protocol through control plane protocols including Border Gateway Protocol
(BGP) (Section 2.1 of [SR-SEGLIST-ID], Path Computation Element (BGP) (Section 2.1 of [SR-SEGLIST-ID], Path Computation Element
Communication Protocol (PCEP) (Section 5.2 of [PCE-MULTIPATH]), Communication Protocol (PCEP) (Section 4.2 of [PCE-MULTIPATH]),
and Border Gateway Protocol - Link State (BGP-LS) (Section 5.7.4 and Border Gateway Protocol - Link State (BGP-LS) (Section 5.7.4
of [RFC9857]). of [RFC9857]).
3. Path Segment ID Sub-TLVs 3. Path Segment ID Sub-TLVs
Analogous to what's defined in Section 5 of [RFC8287] and Section 4 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 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 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 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 new sub-TLVs follow the TLV's structure defined in Section 3 of
skipping to change at line 416 skipping to change at line 415
| | | |
| Endpoint (16 octets) | | Endpoint (16 octets) |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: SR Policy Associated PSID - IPv6 Sub-TLV Format Figure 4: SR Policy Associated PSID - IPv6 Sub-TLV Format
Type (length: 2 octets) Type (length: 2 octets)
The Type field identifies the sub-TLV as an SR Policy Associated The Type field identifies the sub-TLV as an SR Policy Associated
PSID - IPv6 Sub-TLV. The value is set to 52. PSID - IPv6 sub-TLV. The value is set to 52.
Length (length: 2 octets) Length (length: 2 octets)
The Length field indicates the length of the sub-TLV in octets, The Length field indicates the length of the sub-TLV in octets,
excluding the first 4 octets (Type and Length fields). The value excluding the first 4 octets (Type and Length fields). The value
MUST be set to 36. MUST be set to 36.
Headend (length: 16 octets) Headend (length: 16 octets)
The Headend field encodes the headend IPv6 address of the SR The Headend field encodes the headend IPv6 address of the SR
Policy. This field is defined in Section 2.1 of [RFC9256]. Policy. This field is defined in Section 2.1 of [RFC9256].
skipping to change at line 600 skipping to change at line 599
This field is defined in Section 2.5 of [RFC9256]. This field is defined in Section 2.5 of [RFC9256].
Segment-List-ID (length: 4 octets) Segment-List-ID (length: 4 octets)
The Segment-List-ID field is a 4-octet identifier that uniquely The Segment-List-ID field is a 4-octet identifier that uniquely
identifies a segment list within the context of the candidate path identifies a segment list within the context of the candidate path
of an SR Policy. This field is defined in Section 2.2. of an SR Policy. This field is defined in Section 2.2.
4. PSID FEC Validation 4. PSID FEC Validation
The MPLS LSP Ping procedures may be initiated by the headend of the The MPLS LSP Ping procedures may be initiated by the headend of the
Segment Routing path or a centralized topology-aware data plane SR path or a centralized topology-aware data plane monitoring system
monitoring system as described in [RFC8403]. For the PSID, the as described in [RFC8403]. For the PSID, the responder nodes that
responder nodes that receive an echo request and sends an echo reply receive an echo request and send an echo reply MUST be the endpoint
MUST be the endpoint of the SR path. of the SR path.
When an endpoint receives the LSP echo request packet with the top 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 FEC being the PSID, it MUST perform validity checks on the content of
the PSID FEC Stack sub-TLV. the PSID Target FEC Stack sub-TLV.
If a malformed FEC Stack sub-TLV is received, then a return code of If a malformed Target FEC Stack sub-TLV is received, then a return
1, "Malformed echo request received" as defined in [RFC8029] MUST be code of 1, "Malformed echo request received" as defined in [RFC8029]
sent. The section below is appended to step 4a of Section 7.4 of MUST be sent. The section below is appended to step 4a of
[RFC8287]. Section 7.4 of [RFC8287].
4.1. PSID FEC Validation Rules 4.1. PSID FEC Validation Rules
4b. Segment Routing PSID Validation: 4b. Segment Routing PSID Validation:
If the Label-stack-depth is 1 and the Target FEC Stack sub-TLV at 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), { 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 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 given label at stack-depth <RSC>" if any below conditions fail
skipping to change at line 681 skipping to change at line 680
at FEC-stack-depth is 51 (SR Segment List Associated PSID - IPv4 at FEC-stack-depth is 51 (SR Segment List Associated PSID - IPv4
sub-TLV), { sub-TLV), {
Set the Best-return-code to 10 "Mapping for this FEC is not the 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: given label at stack-depth <RSC>" if any below conditions fail:
- Validate that the PSID is signaled or provisioned for the SR - Validate that the PSID is signaled or provisioned for the SR
Segment List { Segment List {
* Validate that the signaled or provisioned headend, color, * Validate that the signaled or provisioned headend, color,
endpoint, originator, discriminator, and segment-list-id, endpoint, originator, discriminator, and segment-list-id
for the PSID match with the corresponding fields in the for the PSID match with the corresponding fields in the
received SR Segment List Associated PSID - IPv4 sub-TLV. received SR Segment List Associated PSID - IPv4 sub-TLV.
} }
} }
If all the above validations have passed, set the return code to 3, 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>". "Replying router is an egress for the FEC at stack-depth <RSC>".
Set the FEC-Status to 1 and return. Set the FEC-Status to 1 and return.
} }
Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TLV 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 at FEC-stack-depth is 52 (SR Policy Associated PSID - IPv6
sub-TLV), { sub-TLV), {
Set the Best-return-code to 10 "Mapping for this FEC is not the 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 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 - Validate that the PSID is signaled or provisioned for the SR
Policy { Policy {
* Validate that the signaled or provisioned headend, color, * Validate that the signaled or provisioned headend, color,
and endpoint for the PSID match with the corresponding and endpoint for the PSID match with the corresponding
fields in the received SR Policy Associated PSID - IPv6 sub- fields in the received SR Policy Associated PSID - IPv6 sub-
TLV. TLV.
} }
 End of changes. 10 change blocks. 
25 lines changed or deleted 23 lines changed or added

This html diff was produced by rfcdiff 1.48.