rfc9884xml2.original.xml   rfc9884.xml 
<?xml version="1.0" encoding="iso-8859-1" ?> <?xml version='1.0' encoding='UTF-8'?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="std" ipr="trust200902" docName="draft-ietf-mpls-spring-lsp-ping-p <!DOCTYPE rfc [
ath-sid-13" consensus="true" submissionType="IETF"> <!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<front> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" ipr="trust200902"
<title abbrev="LSP Ping for SR PSID"> Label Switched Path Ping for Segme docName="draft-ietf-mpls-spring-lsp-ping-path-sid-13" number="9884" updates=""
nt Routing Path Segment Identifier with MPLS Data Plane </title> obsoletes="" consensus="true" submissionType="IETF" tocInclude="true" symRefs="t
rue" sortRefs="true" version="3" xml:lang="en">
<author fullname="Xiao Min" initials="X" surname="Min"> <front>
<title abbrev="LSP Ping for SR PSID">Label Switched Path Ping for Segment Ro
uting Path Segment Identifier with MPLS Data Plane</title>
<seriesInfo name="RFC" value="9884"/>
<author fullname="Xiao Min" initials="X" surname="Min">
<organization>ZTE Corp.</organization> <organization>ZTE Corp.</organization>
<address> <address>
<postal> <postal>
<street/> <city>Nanjing</city>
<country>China</country>
<!-- Reorder these if your country does things differently --> </postal>
<phone>+86 18061680168</phone>
<city>Nanjing</city> <email>xiao.min2@zte.com.cn</email>
<region/>
<code/>
<country>China</country>
</postal>
<phone>+86 18061680168</phone>
<email>xiao.min2@zte.com.cn</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<author fullname="Shaofu Peng" initials="S" surname="Peng">
<author fullname="Shaofu Peng" initials="S" surname="Peng">
<organization>ZTE Corp.</organization> <organization>ZTE Corp.</organization>
<address> <address>
<postal> <postal>
<street/> <city>Nanjing</city>
<country>China</country>
<!-- Reorder these if your country does things differently --> </postal>
<email>peng.shaofu@zte.com.cn</email>
<city>Nanjing</city>
<region/>
<code/>
<country>China</country>
</postal>
<phone/>
<email>peng.shaofu@zte.com.cn</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<author fullname="Liyan Gong" initials="L" surname="Gong">
<author fullname="Liyan Gong" initials="L" surname="Gong">
<organization>China Mobile</organization> <organization>China Mobile</organization>
<address> <address>
<postal> <postal>
<street/> <city>Beijing</city>
<country>China</country>
<!-- Reorder these if your country does things differently --> </postal>
<email>gongliyan@chinamobile.com</email>
<city>Beijing</city>
<region/>
<code/>
<country>China</country>
</postal>
<phone/>
<email>gongliyan@chinamobile.com</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<author fullname="Rakesh Gandhi" initials="R" surname="Gandhi">
<author fullname="Rakesh Gandhi" initials="R" surname="Gandhi">
<organization>Cisco Systems, Inc.</organization> <organization>Cisco Systems, Inc.</organization>
<address> <address>
<postal> <postal>
<street/> <country>Canada</country>
</postal>
<!-- Reorder these if your country does things differently --> <email>rgandhi@cisco.com</email>
<city></city>
<region/>
<code/>
<country>Canada</country>
</postal>
<phone/>
<email>rgandhi@cisco.com</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<author fullname="Carlos Pignataro" initials="C" surname="Pignataro">
<author fullname="Carlos Pignataro" initials="C" surname="Pignataro">
<organization>Blue Fern Consulting</organization> <organization>Blue Fern Consulting</organization>
<address> <address>
<postal> <postal>
<street/> <country>United States of America</country>
</postal>
<!-- Reorder these if your country does things differently --> <email>carlos@bluefern.consulting</email>
<email>cpignata@gmail.com</email>
<city></city>
<region/>
<code/>
<country>United States of America</country>
</postal>
<phone/>
<email>carlos@bluefern.consulting</email>
<email>cpignata@gmail.com</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<date year="2025" month="October"/>
<date year="2025"/> <area>RTG</area>
<workgroup>mpls</workgroup>
<area>Routing</area>
<workgroup>MPLS Working Group</workgroup>
<keyword>Request for Comments</keyword>
<keyword>RFC</keyword>
<keyword>Internet Draft</keyword>
<keyword>I-D</keyword>
<abstract> <abstract>
<t> Segment Routing (SR) leverages source routing to steer packets through an ordered list of instructions, called segments. SR can <t> 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 be instantiated over the MPLS data plane. 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. six new Target forwarding Equivalence Class end-to-end paths in SR networks. This document defines procedures (i.e., six n ew Target Forwarding Equivalence Class
(FEC) Stack sub-TLVs) for the use of LSP Ping to support connectivity verifica tion and fault isolation for SR paths that include (FEC) Stack sub-TLVs) for the use of LSP Ping to support connectivity verifica tion and fault isolation for SR paths that include
Path Segment Identifiers. The mechanisms described enable the validation and t PSIDs. The mechanisms described enable the validation and tracing of SR paths
racing of SR paths with Path SIDs in MPLS networks, with Path SIDs in MPLS networks,
complementing existing SR-MPLS OAM capabilities. </t> complementing existing SR-MPLS Operations, Administration, and Maintenance (OA
M) capabilities. </t>
</abstract> </abstract>
</front>
</front> <middle>
<section>
<middle> <name>Introduction</name>
<t> A Path Segment is a local segment <xref target="RFC9545"/> that unique
<section title="Introduction"> ly 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 (
<t> A Path Segment is a local segment <xref target="RFC9545"/> that uniquely i SRLB) <xref target="RFC8402"/> of the egress
dentifies 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) <xref target="RFC8402"/> of the egress
node of an SR path. </t> node of an SR path. </t>
<t> As specified in <xref target="RFC9545"/>, PSID is a single label inser
<t> As specified in <xref target="RFC9545"/>, PSID is a single label inserted ted by the ingress node of the SR path and then processed
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 st ack as a label immediately following the last label of by the egress node of the SR path. The PSID is placed within the MPLS label st ack as a label immediately following the last label of
the SR path. The egress node pops the PSID. </t> the SR path. The egress node pops the PSID. </t>
<t> Procedure for LSP Ping <xref target="RFC8029"/> as defined in Section 7.4 <t>The procedure for LSP Ping <xref target="RFC8029"/> as defined in <xref
of <xref target="RFC8287"/> is also applicable to PSID, target="RFC8287" section="7.4"/> is also applicable to PSID; this document appe
and this document appends existing step 4a with a new step 4b specific to PSID nds the existing step 4a with a new step 4b specific to PSID. Concretely, LSP Pi
. Concretely, LSP Ping can be used to check the correct ng can be used to check the correct
operation of a PSID and verify the PSID against the control plane. Checking co rrect operation means that an initiator can use LSP Ping operation of a PSID and verify the PSID against the control plane. Checking co rrect operation means that an initiator can use LSP Ping
to check whether a PSID reached the intended node and got processed by that no de correctly. Moreover, verifying a PSID against the control to check whether a PSID reached the intended node and got processed by that no de 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 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 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. </t> Class (FEC) Stack sub-TLVs for such PSID checks. </t>
<t> LSP Traceroute <xref target="RFC8287"/> is left out of this document b
ecause transit nodes are not involved in PSID processing. </t>
</section>
<section>
<name>Conventions</name>
<section>
<name>Requirements Language</name>
<t>
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU
IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>
RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to
be interpreted as
described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.
</t>
</section>
<section anchor="sect-2.2">
<name>Terminology</name>
<t> This document uses the terminology defined in <xref target="RFC3031"
/>, <xref target="RFC8402"/>, <xref target="RFC8029"/>, and
<xref target="RFC9545"/>; readers are expected to be familiar with the te
rms in those documents. </t>
<t> LSP Traceroute <xref target="RFC8287"/> is left out of this document becau <t>This document introduces the following additional term:</t>
se transit nodes are not involved in PSID processing. </t> <dl spacing="normal" newline="true">
<dt>Segment-List-ID</dt>
</section> <dd>The Segment-List-ID field is a 4-octet identifier that uniquely
identifies a segment list within the context of the candidate path
<section title="Conventions"> of an SR Policy. Although not defined in <xref target="RFC9256"/>,
the Segment-List-ID is the same identifier as the one that can be
<section title="Requirements Language"> signaled through control plane protocols including Border Gateway Prot
<t> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", ocol (BGP) (<xref section="2.1" target="I-D.ietf-idr-sr-policy-seglist-id"/>, Pa
"SHOULD", "SHOULD NOT", "RECOMMENDED", th Computation Element Communication Protocol (PCEP) (<xref section="4.2" target
"NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be int ="I-D.ietf-pce-multipath"/>), and Border Gateway Protocol - Link State (BGP-LS)
erpreted as described in BCP 14 (<xref section="5.7.4" target="RFC9857"/>).</dd>
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, th </dl>
ey appear in all capitals, as shown here.</t> </section>
</section> </section>
<section>
<section title="Terminology"> <name>Path Segment ID Sub-TLVs</name>
<t> This document uses the terminology defined in <xref target="RFC3031"/>, <t> Analogous to what's defined in <xref target="RFC8287" section="5"/> an
<xref target="RFC8402"/>, <xref target="RFC8029"/>, and d <xref target="RFC9703" section="4"/>, six new sub-TLVs
<xref target="RFC9545"/>, readers are expected to be familiar with those
terms. </t>
<t>Segment-List-ID
<list>
<t> The Segment-List-ID field is a 4-octet identifier that u
niquely identifies a segment list within the context of the
candidate path of an SR Policy. Although
not defined in <xref target="RFC9256"/>, the Segment-List-ID is the same identif
ier
as the one that can be signalled through
control plane procotols including BGP (Section 2.1 of <xref target="I-D.ietf-idr
-sr-policy-seglist-id"/>,
PCEP (Section 5.2 of <xref target="I-D.ie
tf-pce-multipath"/>), and BGP-LS (Section 5.7.4 of <xref target="I-D.ietf-idr-bg
p-ls-sr-policy"/>).
</t>
</list>
</t>
</section>
</section>
<section title="Path Segment ID Sub-TLVs">
<t> Analogous to what's defined in Section 5 of <xref target="RFC8287"/> and S
ection 4 of <xref target="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). 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 de Note that the structures of the six new sub-TLVs follow the TLV's structure de
fined in Section 3 of <xref target="RFC8029"/>. </t> fined in <xref target="RFC8029" section="3"/>. </t>
<table>
<texttable title="Sub-TLVs for PSID Checks"> <name>Sub-TLVs for PSID Checks</name>
<ttcol align='left'>Sub-Type</ttcol> <thead>
<ttcol align='left'>Sub-TLV Name</ttcol> <tr>
<c>TBD1</c><c>SR Policy Associated PSID - IPv4</c> <th align="left">Sub-Type</th>
<c>TBD2</c><c>SR Candidate Path Associated PSID - IPv4</c> <th align="left">Sub-TLV Name</th>
<c>TBD3</c><c>SR Segment List Associated PSID - IPv4</c> </tr>
<c>TBD4</c><c>SR Policy Associated PSID - IPv6</c> </thead>
<c>TBD5</c><c>SR Candidate Path Associated PSID - IPv6</c> <tbody>
<c>TBD6</c><c>SR Segment List Associated PSID - IPv6</c> <tr>
</texttable> <td align="left">49</td>
<td align="left">SR Policy Associated PSID - IPv4</td>
</tr>
<tr>
<td align="left">50</td>
<td align="left">SR Candidate Path Associated PSID - IPv4</td>
</tr>
<tr>
<td align="left">51</td>
<td align="left">SR Segment List Associated PSID - IPv4</td>
</tr>
<tr>
<td align="left">52</td>
<td align="left">SR Policy Associated PSID - IPv6</td>
</tr>
<tr>
<td align="left">53</td>
<td align="left">SR Candidate Path Associated PSID - IPv6</td>
</tr>
<tr>
<td align="left">54</td>
<td align="left">SR Segment List Associated PSID - IPv6</td>
</tr>
</tbody>
</table>
<t> As specified in Section 2 of <xref target="RFC9545"/>, a PSID is used to i dentify a segment list, some or all segment lists in a <t> As specified in <xref target="RFC9545" section="2"/>, a PSID is used t o identify a segment list and/or some or all segment lists in a
Candidate path or an SR policy, so six different Target FEC Stack sub-TLVs nee d to be defined for PSID. The ordered list of selection Candidate path or an SR policy, so six different Target FEC Stack sub-TLVs nee d to be defined for PSID. The ordered list of selection
rules for the six Target FEC Stack sub-TLVs are defined as follows: rules for the six Target FEC Stack sub-TLVs are defined as follows:
<list style="symbols"> </t>
<t> When a PSID is used to identify all segment lists in an SR Policy, <ul spacing="normal">
the Target FEC Stack sub-TLV of the type "SR Policy Associated <li>
PSID" (for IPv4 or IPv6) MUST be used for PSID checks. </t> <t> When a PSID is used to identify all segment lists in an SR Policy,
<t> When a PSID is used to identify all segment lists in an SR Candidat the Target FEC Stack sub-TLV of the type "SR Policy Associated
e Path, the Target FEC Stack sub-TLV of the type "SR Candidate PSID" (for IPv4 or IPv6) <bcp14>MUST</bcp14> be used for PSID checks. <
Path Associated PSID" (for IPv4 or IPv6) MUST be used for PSID checks. /t>
</t> </li>
<t> When a PSID is used to identify a Segment List, the Target FEC Stac <li>
k sub-TLV of the type "SR Segment List Associated PSID" (for IPv4 <t> When a PSID is used to identify all segment lists in an SR Candida
or IPv6) MUST be used for PSID checks. </t> te Path, the Target FEC Stack sub-TLV of the type "SR Candidate
<t> When a PSID is used to identify some segment lists in a Candidate p Path Associated PSID" (for IPv4 or IPv6) <bcp14>MUST</bcp14> be used fo
ath or an SR policy, the Target FEC Stack sub-TLV of the type r PSID checks. </t>
"SR Segment List Associated PSID" (for IPv4 or IPv6) MUST be used for P </li>
SID checks. In this case, multiple LSP Ping messages MUST be sent, <li>
and one Target FEC Stack sub-TLV of the type "SR Segment List Associate <t> When a PSID is used to identify a Segment List, the Target FEC Sta
d PSID" (for IPv4 or IPv6) MUST be carried in each LSP Ping message. </t> ck sub-TLV of the type "SR Segment List Associated PSID" (for IPv4
</list> or IPv6) <bcp14>MUST</bcp14> be used for PSID checks. </t>
</t> </li>
<li>
<t> These six new Target FEC Stack sub-TLVs are not expected to be present in <t> When a PSID is used to identify some segment lists in a Candidate
the same message. If more than one of these sub-TLVs are path or an SR policy, the Target FEC Stack sub-TLV of the type
present in a message, only the first sub-TLV will be processed per the validat "SR Segment List Associated PSID" (for IPv4 or IPv6) <bcp14>MUST</bcp14
ion rules in Section 4.</t> > be used for PSID checks. In this case, multiple LSP Ping messages <bcp14>MUST<
/bcp14> be sent,
<section title="SR Policy Associated PSID - IPv4 Sub-TLV"> and one Target FEC Stack sub-TLV of the type "SR Segment List Associate
d PSID" (for IPv4 or IPv6) <bcp14>MUST</bcp14> be carried in each LSP Ping messa
<t> The SR Policy Associated PSID - IPv4 sub-TLV is defined as follows: </t> ge. </t>
</li>
<figure anchor="Figure_1" title="SR Policy Associated PSID - IPv4 sub-TLV Form </ul>
at"> <t> These six new Target FEC Stack sub-TLVs are not expected to be present
<artwork align="left"> <![CDATA[ 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 valida
tion rules in <xref target="sect-4"/>.</t>
<section anchor="sect-3.1">
<name>SR Policy Associated PSID - IPv4 Sub-TLV</name>
<t> The SR Policy Associated PSID - IPv4 sub-TLV is defined as follows:
</t>
<figure anchor="Figure_1">
<name>SR Policy Associated PSID - IPv4 Sub-TLV Format</name>
<artwork align="left"><![CDATA[
0 1 2 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 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 | | Type = 49 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Headend (4 octets) | | Headend (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Color (4 octets) | | Color (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Endpoint (4 octets) | | Endpoint (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
]]> </artwork> </figure>
</figure>
<t>Type (length: 2 octets)
<list>
<t> The Type field identifies the sub-TLV as an SR Policy
Associated PSID - IPv4 Sub-TLV. The value is set to (TBD1) and is to be assigned
by IANA.
</t>
</list>
</t>
<t>Length (length: 2 octets)
<list>
<t> The Length field indicates the length of the sub-TLV i
n octets, excluding the first 4 octets (Type and Length fields). The value MUST
be set to 12. </t>
</list>
</t>
<t>Headend (length: 4 octets)
<list>
<t> The Headend field encodes the headend IPv4 address of
the SR Policy. This field is defined in Section 2.1 of <xref target="RFC9256"/>.
</t>
</list>
</t>
<t>Color (length: 4 octets)
<list>
<t> The Color field identifies the color (i.e., policy ide
ntifier) of the SR Policy and is encoded as defined in Section 2.1 of <xref targ
et="RFC9256"/>. </t>
</list>
</t>
<t>Endpoint (length: 4 octets)
<list>
<t> The Endpoint field encodes the endpoint IPv4 address o
f the SR Policy. This field is defined in Section 2.1 of <xref target="RFC9256"/
>. </t>
</list>
</t>
</section>
<section title="SR Candidate Path Associated PSID - IPv4 Sub-TLV">
<t> The SR Candidate Path Associated PSID - IPv4 sub-TLV is defined as follows
: </t>
<figure anchor="Figure_2" title="SR Candidate Path Associated PSID - IPv4 sub- <dl spacing="normal" newline="true">
TLV Format"> <dt>Type (length: 2 octets)</dt>
<artwork align="left"> <![CDATA[ <dd> The Type field identifies the sub-TLV as an SR Policy Associated PSID - I
Pv4 sub-TLV. The value is set to 49.</dd>
<dt>Length (length: 2 octets)</dt>
<dd> The Length field indicates the length of the sub-TLV in octets, excluding
the first 4 octets (Type and Length fields). The value <bcp14>MUST</bcp14> be s
et to 12. </dd>
<dt>Headend (length: 4 octets)</dt>
<dd> The Headend field encodes the headend IPv4 address of the SR Policy. This
field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
<dt>Color (length: 4 octets)</dt>
<dd> The Color field identifies the color (i.e., policy identifier) of the SR
Policy and is encoded as defined in <xref target="RFC9256" section="2.1"/>. </dd
>
<dt>Endpoint (length: 4 octets)</dt>
<dd> The Endpoint field encodes the endpoint IPv4 address of the SR Policy. Th
is field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
</dl>
</section>
<section anchor="sect-3.2">
<name>SR Candidate Path Associated PSID - IPv4 Sub-TLV</name>
<t> The SR Candidate Path Associated PSID - IPv4 sub-TLV is defined as f
ollows: </t>
<figure anchor="Figure_2">
<name>SR Candidate Path Associated PSID - IPv4 Sub-TLV Format</name>
<artwork align="left"><![CDATA[
0 1 2 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 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 | | Type = 50 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Headend (4 octets) | | Headend (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Color (4 octets) | | Color (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Endpoint (4 octets) | | Endpoint (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin| Reserved | |Protocol-Origin| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| | | |
| Originator (20 octets) | | Originator (20 octets) |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Discriminator (4 octets) | | Discriminator (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
]]> </artwork> </figure>
</figure> <dl spacing="normal" newline="true">
<dt>Type (length: 2 octets)</dt>
<t>Type (length: 2 octets) <dd> The Type field identifies the sub-TLV as an SR Candidate Path Associated
<list> PSID - IPv4 sub-TLV. The value is set to 50.</dd>
<t> The Type field identifies the sub-TLV as an SR Candida <dt>Length (length: 2 octets)</dt>
te Path Associated PSID - IPv4 sub-TLV. The value is set to (TBD2) and is to be <dd> The Length field indicates the length of the sub-TLV in octets, excluding
assigned by IANA. the first 4 octets (Type and Length fields). The value <bcp14>MUST</bcp14> be s
</t> et to 40. </dd>
</list> <dt>Headend (length: 4 octets)</dt>
</t> <dd> The Headend field encodes the headend IPv4 address of the SR Candidate Pa
th. This field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
<t>Length (length: 2 octets) <dt>Color (length: 4 octets)</dt>
<list> <dd> The Color field identifies the policy color and is defined in <xref targe
<t> The Length field indicates the length of the sub-TLV i t="RFC9256" section="2.1"/>. </dd>
n octets, excluding the first 4 octets (Type and Length fields). The value MUST <dt>Endpoint (length: 4 octets)</dt>
be set to 40. </t> <dd> The Endpoint field encodes the endpoint IPv4 address of the SR Candidate
</list> Path. This field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
</t> <dt>Protocol-Origin (length: 1 octet)</dt>
<dd> The Protocol-Origin field indicates the protocol that originated the SR
<t>Headend (length: 4 octets) Candidate Path. It is defined in <xref target="RFC9256" section="2.3"/> and
<list> takes values from the IANA registry <xref target="PROTOCOL-ORIGIN"/>. If an
<t> The Headend field encodes the headend IPv4 address of unsupported value is used, validation at the responder <bcp14>MUST</bcp14>
the SR Candidate Path. This field is defined in Section 2.1 of <xref target="RFC fail.</dd>
9256"/>. </t> <dt>Reserved (length: 3 octets)</dt>
</list> <dd> The Reserved field is reserved for future use. It <bcp14>MUST</bcp14> be
</t> set to zero when sent and <bcp14>MUST</bcp14> be ignored upon receipt. </dd>
<dt>Originator (length: 20 octets)</dt>
<t>Color (length: 4 octets) <dd> The Originator field identifies the originator of the SR Candidate Path a
<list> nd is encoded as defined in <xref target="RFC9256" section="2.4"/>. </dd>
<t> The Color field identifies the policy color and is def <dt>Discriminator (length: 4 octets)</dt>
ined in Section 2.1 of <xref target="RFC9256"/>. </t> <dd> The Discriminator field uniquely identifies the SR Candidate Path within
</list> the context of the Headend, Color, and Endpoint fields.
</t> This field is defined in <xref target=
"RFC9256" section="2.5"/>. </dd>
<t>Endpoint (length: 4 octets) </dl>
<list> </section>
<t> The Endpoint field encodes the endpoint IPv4 address <section anchor="sect-3.3">
of the SR Candidate Path. This field is defined in Section 2.1 of <xref target=" <name>SR Segment List Associated PSID - IPv4 Sub-TLV</name>
RFC9256"/>. </t> <t> The SR Segment List Associated PSID - IPv4 sub-TLV is used to identi
</list> fy a specific segment list within the context of a candidate path of an SR Polic
</t> y.
The format of this sub-TLV is shown in <xref target="Figure_3"/>. </t>
<t>Protocol-Origin (length: 1 octet) <figure anchor="Figure_3">
<list> <name>SR Segment List Associated PSID - IPv4 Sub-TLV Format</name>
<t> The Protocol-Origin field indicates the protocol that <artwork align="left"><![CDATA[
originated the SR Candidate Path. It is defined in Section 2.3
of <xref target="RFC9256"/> and takes
values from the IANA registry <xref target="PROTOCOL-ORIGIN"/>. If an unsupporte
d
value is used, validation at the respo
nder MUST fail.
</t>
</list>
</t>
<t>Reserved (length: 3 octets)
<list>
<t> The Reserved field is reserved for future use. It MUS
T be set to zero when sent and MUST be ignored upon receipt. </t>
</list>
</t>
<t>Originator (length: 20 octets)
<list>
<t> The Originator field identifies the originator of the
SR Candidate Path and is encoded as defined in Section 2.4 of <xref target="RFC
9256"/>. </t>
</list>
</t>
<t>Discriminator (length: 4 octets)
<list>
<t> The Discriminator field uniquely identifies the SR Ca
ndidate Path within the context of the Headend, Color, and Endpoint.
This field is defined in Section 2.5 o
f <xref target="RFC9256"/>. </t>
</list>
</t>
</section>
<section title="SR Segment List Associated PSID - IPv4 Sub-TLV">
<t> The SR Segment List Associated PSID - IPv4 sub-TLV is used to identify a s
pecific segment list within the context of a candidate path of an SR Policy.
The format of this sub-TLV is shown in Figure 3. </t>
<figure anchor="Figure_3" title="SR Segment List Associated PSID - IPv4 sub-TL
V Format">
<artwork align="left"> <![CDATA[
0 1 2 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 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 | | Type = 51 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Headend (4 octets) | | Headend (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Color (4 octets) | | Color (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Endpoint (4 octets) | | Endpoint (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin| Reserved | |Protocol-Origin| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| | | |
| Originator (20 octets) | | Originator (20 octets) |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Discriminator (4 octets) | | Discriminator (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment-List-ID (4 octets) | | Segment-List-ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
]]> </artwork> </figure>
</figure> <dl spacing="normal" newline="true">
<dt>Type (length: 2 octets)</dt>
<t>Type (length: 2 octets) <dd> The Type field identifies the sub-TLV as an SR Segment List Associated PS
<list> ID - IPv4 sub-TLV. The value is set to 51.</dd>
<t> The Type field identifies the sub-TLV as an SR Segment <dt>Length (length: 2 octets)</dt>
List Associated PSID - IPv4 sub-TLV. The value is set to (TBD3) and is to be as <dd> The Length field indicates the length of the sub-TLV in octets, excluding
signed by IANA. the first 4 octets (Type and Length fields). The value <bcp14>MUST</bcp14> be s
</t> et to 44. </dd>
</list> <dt>Headend (length: 4 octets)</dt>
</t> <dd> The Headend field encodes the headend IPv4 address of the SR Policy. This
field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
<t>Length (length: 2 octets) <dt>Color (length: 4 octets)</dt>
<list> <dd> The Color field identifies the color of the SR Policy and is encoded as s
<t> The Length field indicates the length of the sub-TLV i pecified in <xref target="RFC9256" section="2.1"/>. </dd>
n octets, excluding the first 4 octets (Type and Length fields). The value MUST <dt>Endpoint (length: 4 octets)</dt>
be set to 44. </t> <dd> The Endpoint field specifies the endpoint IPv4 address of the SR Policy,
</list> as defined in <xref target="RFC9256" section="2.1"/>. </dd>
</t> <dt>Protocol-Origin (length: 1 octet)</dt>
<dd> The Protocol-Origin field indicates the protocol that originated the SR
<t>Headend (length: 4 octets) Candidate Path. It is defined in <xref target="RFC9256" section="2.3"/> and
<list> takes values from the IANA registry <xref target="PROTOCOL-ORIGIN"/>. If an
<t> The Headend field encodes the headend IPv4 address of unsupported value is used, validation at the responder <bcp14>MUST</bcp14>
the SR Policy. This field is defined in Section 2.1 of <xref target="RFC9256"/>. fail.</dd>
</t> <dt>Reserved (length: 3 octets)</dt>
</list> <dd> The Reserved field is reserved for future use. It <bcp14>MUST</bcp14> be
</t> set to zero when transmitted and <bcp14>MUST</bcp14> be ignored upon receipt. </
dd>
<t>Color (length: 4 octets) <dt>Originator (length: 20 octets)</dt>
<list> <dd> The Originator field identifies the originator of the SR Candidate Path a
<t> The Color field identifies the color of the SR Policy nd is defined in <xref target="RFC9256" section="2.4"/>. </dd>
and is encoded as specified in Section 2.1 of <xref target="RFC9256"/>. </t> <dt>Discriminator (length: 4 octets)</dt>
</list> <dd> The Discriminator field uniquely identifies the SR Candidate Path
</t> within the context of the Headend, Color, and Endpoint fields. This field is
defined in <xref target="RFC9256" section="2.5"/>. </dd>
<t>Endpoint (length: 4 octets) <dt>Segment-List-ID (length: 4 octets)</dt>
<list> <dd> The Segment-List-ID field is a 4-octet identifier that uniquely
<t> The Endpoint field specifies the endpoint IPv4 addres identifies a segment list within the context of the candidate path of an SR
s of the SR Policy, as defined in Section 2.1 of <xref target="RFC9256"/>. </t> Policy. This field is defined in <xref target="sect-2.2"/>.</dd>
</list> </dl>
</t> </section>
<section anchor="sect-3.4">
<t>Protocol-Origin (length: 1 octet) <name>SR Policy Associated PSID - IPv6 Sub-TLV</name>
<list> <t> The SR Policy Associated PSID - IPv6 sub-TLV is defined as follows:
<t> The Protocol-Origin field indicates the protocol that </t>
originated the SR Candidate Path. It is defined in Section 2.3 <figure anchor="Figure_4">
of <xref target="RFC9256"/> and takes <name>SR Policy Associated PSID - IPv6 Sub-TLV Format</name>
values from the IANA registry <xref target="PROTOCOL-ORIGIN"/>. If an unsupporte <artwork align="left"><![CDATA[
d
value is used, validation at the respo
nder MUST fail.
</t>
</list>
</t>
<t>Reserved (length: 3 octets)
<list>
<t> The Reserved field is reserved for future use. It MUS
T be set to zero when transmitted and MUST be ignored upon receipt. </t>
</list>
</t>
<t>Originator (length: 20 octets)
<list>
<t> The Originator field identifies the originator of the
SR Candidate Path and is defined in Section 2.4 of <xref target="RFC9256"/>. </
t>
</list>
</t>
<t>Discriminator (length: 4 octets)
<list>
<t> The Discriminator field uniquely identifies the SR Ca
ndidate Path within the context of the Headend, Color, and Endpoint.
This field is defined in Section 2.5 o
f <xref target="RFC9256"/>. </t>
</list>
</t>
<t>Segment-List-ID (length: 4 octets)
<list>
<t> 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 terminology of
Section 2.2.
</t>
</list>
</t>
</section>
<section title="SR Policy Associated PSID - IPv6 Sub-TLV">
<t> The SR Policy Associated PSID - IPv6 sub-TLV is defined as follows: </t>
<figure anchor="Figure_4" title="SR Policy Associated PSID - IPv6 sub-TLV Form
at">
<artwork align="left"> <![CDATA[
0 1 2 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 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 = TBD4 | Length | | Type = 52 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| Headend (16 octets) | | Headend (16 octets) |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Color (4 octets) | | Color (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| Endpoint (16 octets) | | Endpoint (16 octets) |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
]]> </artwork> </figure>
</figure> <dl spacing="normal" newline="true">
<dt>Type (length: 2 octets)</dt>
<t>Type (length: 2 octets) <dd> The Type field identifies the sub-TLV as an SR Policy Associated PSID - I
<list> Pv6 sub-TLV. The value is set to 52.</dd>
<t> The Type field identifies the sub-TLV as an SR Policy <dt>Length (length: 2 octets)</dt>
Associated PSID - IPv6 Sub-TLV. The value is set to (TBD4) and is to be assigned <dd> The Length field indicates the length of the sub-TLV in octets, excluding
by IANA. the first 4 octets (Type and Length fields). The value <bcp14>MUST</bcp14> be s
</t> et to 36. </dd>
</list> <dt>Headend (length: 16 octets)</dt>
</t> <dd> The Headend field encodes the headend IPv6 address of the SR Policy. This
field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
<t>Length (length: 2 octets) <dt>Color (length: 4 octets)</dt>
<list> <dd> The Color field identifies the color (i.e., policy identifier) of the SR
<t> The Length field indicates the length of the sub-TLV i Policy and is encoded as defined in <xref target="RFC9256" section="2.1"/>. </dd
n octets, excluding the first 4 octets (Type and Length fields). The value MUST >
be set to 36. </t> <dt>Endpoint (length: 16 octets)</dt>
</list> <dd> The Endpoint field encodes the endpoint IPv6 address of the SR Policy. Th
</t> is field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
</dl>
<t>Headend (length: 16 octets) </section>
<list> <section anchor="sect-3.5">
<t> The Headend field encodes the headend IPv6 address of <name>SR Candidate Path Associated PSID - IPv6 Sub-TLV</name>
the SR Policy. This field is defined in Section 2.1 of <xref target="RFC9256"/>. <t> The SR Candidate Path Associated PSID - IPv6 sub-TLV is defined as f
</t> ollows: </t>
</list> <figure anchor="Figure_5">
</t> <name>SR Candidate Path Associated PSID - IPv6 Sub-TLV Format</name>
<artwork align="left"><![CDATA[
<t>Color (length: 4 octets)
<list>
<t> The Color field identifies the color (i.e., policy ide
ntifier) of the SR Policy and is encoded as defined in Section 2.1 of <xref targ
et="RFC9256"/>. </t>
</list>
</t>
<t>Endpoint (length: 16 octets)
<list>
<t> The Endpoint field encodes the endpoint IPv6 address o
f the SR Policy. This field is defined in Section 2.1 of <xref target="RFC9256"/
>. </t>
</list>
</t>
</section>
<section title="SR Candidate Path Associated PSID - IPv6 Sub-TLV">
<t> The SR Candidate Path Associated PSID - IPv6 sub-TLV is defined as follows
: </t>
<figure anchor="Figure_5" title="SR Candidate Path Associated PSID - IPv6 sub-
TLV Format">
<artwork align="left"> <![CDATA[
0 1 2 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 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 = TBD5 | Length | | Type = 53 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| Headend (16 octets) | | Headend (16 octets) |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Color (4 octets) | | Color (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| Endpoint (16 octets) | | Endpoint (16 octets) |
skipping to change at line 583 skipping to change at line 407
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin| Reserved | |Protocol-Origin| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| | | |
| Originator (20 octets) | | Originator (20 octets) |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Discriminator (4 octets) | | Discriminator (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
]]> </artwork> </figure>
</figure> <dl spacing="normal" newline="true">
<dt>Type (length: 2 octets)</dt>
<t>Type (length: 2 octets) <dd> The Type field identifies the sub-TLV as an SR Candidate Path Associated
<list> PSID - IPv6 sub-TLV. The value is set to 53.</dd>
<t> The Type field identifies the sub-TLV as an SR Candida <dt>Length (length: 2 octets)</dt>
te Path Associated PSID - IPv6 sub-TLV. The value is set to (TBD5) and is to be <dd> The Length field indicates the length of the sub-TLV in octets, excluding
assigned by IANA. the first 4 octets (Type and Length fields). The value <bcp14>MUST</bcp14> be s
</t> et to 64. </dd>
</list> <dt>Headend (length: 16 octets)</dt>
</t> <dd> The Headend field encodes the headend IPv6 address of the SR Candidate Pa
th. This field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
<t>Length (length: 2 octets) <dt>Color (length: 4 octets)</dt>
<list> <dd> The Color field identifies the policy color and is defined in <xref targe
<t> The Length field indicates the length of the sub-TLV i t="RFC9256" section="2.1"/>. </dd>
n octets, excluding the first 4 octets (Type and Length fields). The value MUST <dt>Endpoint (length: 16 octets)</dt>
be set to 64. </t> <dd> The Endpoint field encodes the endpoint IPv6 address of the SR Candidate
</list> Path. This field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
</t> <dt>Protocol-Origin (length: 1 octet)</dt>
<dd> The Protocol-Origin field indicates the protocol that originated the SR
<t>Headend (length: 16 octets) Candidate Path. It is defined in <xref target="RFC9256" section="2.3"/> and
<list> takes values from the IANA registry <xref target="PROTOCOL-ORIGIN"/>. If an
<t> The Headend field encodes the headend IPv6 address of unsupported value is used, validation at the responder <bcp14>MUST</bcp14>
the SR Candidate Path. This field is defined in Section 2.1 of <xref target="RFC fail.</dd>
9256"/>. </t> <dt>Reserved (length: 3 octets)</dt>
</list> <dd> The Reserved field is reserved for future use. It <bcp14>MUST</bcp14> be
</t> set to zero when sent and <bcp14>MUST</bcp14> be ignored upon receipt. </dd>
<dt>Originator (length: 20 octets)</dt>
<t>Color (length: 4 octets) <dd> The Originator field identifies the originator of the SR Candidate Path a
<list> nd is encoded as defined in <xref target="RFC9256" section="2.4"/>. </dd>
<t> The Color field identifies the policy color and is def <dt>Discriminator (length: 4 octets)</dt>
ined in Section 2.1 of <xref target="RFC9256"/>. </t> <dd> The Discriminator field uniquely identifies the SR Candidate Path
</list> within the context of the Headend, Color, and Endpoint fields. This field is
</t> defined in <xref target="RFC9256" section="2.5"/>. </dd>
</dl>
<t>Endpoint (length: 16 octets) </section>
<list> <section anchor="sect-3.6">
<t> The Endpoint field encodes the endpoint IPv6 address <name>SR Segment List Associated PSID - IPv6 Sub-TLV</name>
of the SR Candidate Path. This field is defined in Section 2.1 of <xref target=" <t> The SR Segment List Associated PSID - IPv6 sub-TLV is used to identi
RFC9256"/>. </t> fy a specific segment list within the context of a candidate path of an SR Polic
</list> y.
</t> The format of this sub-TLV is shown in <xref target="Figure_6"/>. </t>
<figure anchor="Figure_6">
<t>Protocol-Origin (length: 1 octet) <name>SR Segment List Associated PSID - IPv6 Sub-TLV Format</name>
<list> <artwork align="left"><![CDATA[
<t> The Protocol-Origin field indicates the protocol that
originated the SR Candidate Path. It is defined in Section 2.3
of <xref target="RFC9256"/> and takes
values from the IANA registry <xref target="PROTOCOL-ORIGIN"/>. If an unsupporte
d
value is used, validation at the respo
nder MUST fail.
</t>
</list>
</t>
<t>Reserved (length: 3 octets)
<list>
<t> The Reserved field is reserved for future use. It MUS
T be set to zero when sent and MUST be ignored upon receipt. </t>
</list>
</t>
<t>Originator (length: 20 octets)
<list>
<t> The Originator field identifies the originator of the
SR Candidate Path and is encoded as defined in Section 2.4 of <xref target="RFC
9256"/>. </t>
</list>
</t>
<t>Discriminator (length: 4 octets)
<list>
<t> The Discriminator field uniquely identifies the SR Ca
ndidate Path within the context of the Headend, Color, and Endpoint.
This field is defined in Section 2.5 o
f <xref target="RFC9256"/>. </t>
</list>
</t>
</section>
<section title="SR Segment List Associated PSID - IPv6 Sub-TLV">
<t> The SR Segment List Associated PSID - IPv6 sub-TLV is used to identify a s
pecific segment list within the context of a candidate path of an SR Policy.
The format of this sub-TLV is shown in Figure 6. </t>
<figure anchor="Figure_6" title="SR Segment List Associated PSID - IPv6 sub-TL
V Format">
<artwork align="left"> <![CDATA[
0 1 2 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 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 = TBD6 | Length | | Type = 54 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| Headend (16 octets) | | Headend (16 octets) |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Color (4 octets) | | Color (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| Endpoint (16 octets) | | Endpoint (16 octets) |
skipping to change at line 683 skipping to change at line 471
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| | | |
| Originator (20 octets) | | Originator (20 octets) |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Discriminator (4 octets) | | Discriminator (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment-List-ID (4 octets) | | Segment-List-ID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
]]> </artwork> </figure>
</figure> <dl spacing="normal" newline="true">
<dt>Type (length: 2 octets)</dt>
<t>Type (length: 2 octets) <dd> The Type field identifies the sub-TLV as an SR Segment List Associated PS
<list> ID - IPv6 sub-TLV. The value is set to 54.</dd>
<t> The Type field identifies the sub-TLV as an SR Segment <dt>Length (length: 2 octets)</dt>
List Associated PSID - IPv6 sub-TLV. The value is set to (TBD6) and is to be as <dd> The Length field indicates the length of the sub-TLV in octets, excluding
signed by IANA. the first 4 octets (Type and Length fields). The value <bcp14>MUST</bcp14> be s
</t> et to 68. </dd>
</list> <dt>Headend (length: 16 octets)</dt>
</t> <dd> The Headend field encodes the headend IPv6 address of the SR Policy. This
field is defined in <xref target="RFC9256" section="2.1"/>. </dd>
<t>Length (length: 2 octets) <dt>Color (length: 4 octets)</dt>
<list> <dd> The Color field identifies the color of the SR Policy and is encoded as s
<t> The Length field indicates the length of the sub-TLV i pecified in <xref target="RFC9256" section="2.1"/>. </dd>
n octets, excluding the first 4 octets (Type and Length fields). The value MUST <dt>Endpoint (length: 16 octets)</dt>
be set to 68. </t> <dd> The Endpoint field specifies the endpoint IPv6 address of the SR Policy,
</list> as defined in <xref target="RFC9256" section="2.1"/>. </dd>
</t> <dt>Protocol-Origin (length: 1 octet)</dt>
<dd> The Protocol-Origin field indicates the protocol that originated the SR
<t>Headend (length: 16 octets) Candidate Path. It is defined in <xref target="RFC9256" section="2.3"/> and
<list> takes values from the IANA registry <xref target="PROTOCOL-ORIGIN"/>. If an
<t> The Headend field encodes the headend IPv6 address of unsupported value is used, validation at the responder <bcp14>MUST</bcp14>
the SR Policy. This field is defined in Section 2.1 of <xref target="RFC9256"/>. fail.</dd>
</t> <dt>Reserved (length: 3 octets)</dt>
</list> <dd> The Reserved field is reserved for future use. It <bcp14>MUST</bcp14> be
</t> set to zero when transmitted and <bcp14>MUST</bcp14> be ignored upon receipt. </
dd>
<dt>Originator (length: 20 octets)</dt>
<dd> The Originator field identifies the originator of the SR Candidate Path a
nd is defined in <xref target="RFC9256" section="2.4"/>. </dd>
<dt>Discriminator (length: 4 octets)</dt>
<dd> The Discriminator field uniquely identifies the SR Candidate Path
within the context of the Headend, Color, and Endpoint fields. This field is
defined in <xref target="RFC9256" section="2.5"/>. </dd>
<dt>Segment-List-ID (length: 4 octets)</dt>
<dd> 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 <xref target="sect-2.2"/>.</dd>
</dl>
</section>
</section>
<section anchor="sect-4">
<name>PSID FEC Validation</name>
<t>Color (length: 4 octets) <t> The MPLS LSP Ping procedures may be initiated by the headend of the SR
<list> path or a
<t> The Color field identifies the color of the SR Policy centralized topology-aware data plane monitoring system as described in <xref
and is encoded as specified in Section 2.1 of <xref target="RFC9256"/>. </t> target="RFC8403"/>. For the
</list> PSID, the responder nodes that receive an echo request and send an echo reply
</t> <bcp14>MUST</bcp14> be the endpoint of the
SR path. </t>
<t>Endpoint (length: 16 octets) <t> When an endpoint receives the LSP echo request packet with the top FEC
<list> being the PSID, it <bcp14>MUST</bcp14> perform
<t> The Endpoint field specifies the endpoint IPv6 addres validity checks on the content of the PSID Target FEC Stack sub-TLV.</t>
s of the SR Policy, as defined in Section 2.1 of <xref target="RFC9256"/>. </t> <t> If a malformed Target FEC Stack sub-TLV is received, then a return cod
</list> e of 1, "Malformed echo request received" as defined
</t> in <xref target="RFC8029"/> <bcp14>MUST</bcp14> be sent. The section below is
appended to step 4a of <xref target="RFC8287" section="7.4"/>. </t>
<section>
<name>PSID FEC Validation Rules</name>
<t>Protocol-Origin (length: 1 octet) <sourcecode type="pseudocode"><![CDATA[
<list> 4b. Segment Routing PSID Validation:
<t> The Protocol-Origin field indicates the protocol that
originated the SR Candidate Path. It is defined in Section 2.3
of <xref target="RFC9256"/> and takes
values from the IANA registry <xref target="PROTOCOL-ORIGIN"/>. If an unsupporte
d
value is used, validation at the respo
nder MUST fail.
</t>
</list>
</t>
<t>Reserved (length: 3 octets) If the Label-stack-depth is 1 and the Target FEC Stack sub-TLV at
<list> FEC-stack-depth is 49 (SR Policy Associated PSID - IPv4 sub-TLV), {
<t> The Reserved field is reserved for future use. It MUS
T be set to zero when transmitted and MUST be ignored upon receipt. </t>
</list>
</t>
<t>Originator (length: 20 octets) Set the Best-return-code to 10 "Mapping for this FEC is not the
<list> given label at stack-depth <RSC>" if any below conditions fail
<t> The Originator field identifies the originator of the (the notation <RSC> refers to the Return Subcode):
SR Candidate Path and is defined in Section 2.4 of <xref target="RFC9256"/>. </
t>
</list>
</t>
<t>Discriminator (length: 4 octets) - Validate that the PSID is signaled or provisioned for the SR
<list> Policy {
<t> The Discriminator field uniquely identifies the SR Ca
ndidate Path within the context of the Headend, Color, and Endpoint.
This field is defined in Section 2.5 o
f <xref target="RFC9256"/>. </t>
</list>
</t>
<t>Segment-List-ID (length: 4 octets) * Validate that the signaled or provisioned headend, color,
<list> and endpoint for the PSID match with the corresponding
<t> The Segment-List-ID field is a 4-octet identifier that fields in the received SR Policy Associated PSID - IPv4
uniquely identifies a segment list within the context of the candidate path of sub-TLV.
an SR Policy.
This field is defined in terminology of
Section 2.2.
</t>
</list>
</t>
</section> }
</section> }
<section title="PSID FEC Validation"> 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>".
<t> The MPLS LSP Ping procedures may be initiated by the headend of the Segmen Set the FEC-Status to 1 and return.
t Routing path or a
centralized topology-aware data plane monitoring system as described in <xref
target="RFC8403"/>. For the
PSID, the responder nodes that receive echo request and send echo reply MUST b
e the endpoint of the
SR path. </t>
<t> When an endpoint receives the LSP echo request packet with top FEC being t }
he PSID, it MUST perform
validity checks on the content of the PSID FEC Stack sub-TLV.</t>
<t> If a malformed FEC Stack sub-TLV is received, then a return code of 1, "Ma Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TLV
lformed echo request received" as defined at FEC-stack-depth is 50 (SR Candidate Path Associated PSID - IPv4
in <xref target="RFC8029"/> MUST be sent. The section below is appended to ste sub-TLV), {
p 4a of Section 7.4 of <xref target="RFC8287"/>. </t>
<section title="PSID FEC Validation Rules"> 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:
<t>4b. Segment Routing PSID Validation: </t> - Validate that the PSID is signaled or provisioned for the SR
Candidate Path {
<t>If the Label-stack-depth is 1 and the Target FEC Stack sub-TLV * Validate that the signaled or provisioned headend, color,
at FEC-stack-depth is TBD1 (SR Policy Associated PSID - IPv4 su endpoint, originator, and discriminator for the PSID
b-TLV), { match with the corresponding fields in the received SR
<list> Candidate Path Associated PSID - IPv4 sub-TLV.
<t>Set the Best-return-code to 10, "Mapping for this FEC is not
the given label at stack-depth &lt;RSC&gt;" if any below
conditions fail (the notation &lt;RSC&gt; refers to the Return Subco
de):
<list style="symbols">
<t>Validate that the PSID is signaled or provisioned for the SR Policy
{
<list style="symbols">
<t>Validate that the signaled or provisioned headend, color, and endpo }
int, for the PSID, matches with the
corresponding fields in the received SR Policy Associated PSID
- IPv4 sub-TLV. </t>
</list> }
} </t>
</list> If all the above validations have passed, set the return code to 3
} </t> "Replying router is an egress for the FEC at stack-depth <RSC>".
<t>If all the above validations have passed, set the return code to 3 Set the FEC-Status to 1 and return.
"Replying router is an egress for the FEC at stack-depth &lt;RSC&gt;
". </t>
<t>Set FEC-Status to 1 and return. </t> }
</list> Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TLV
} </t> at FEC-stack-depth is 51 (SR Segment List Associated PSID - IPv4
sub-TLV), {
<t>Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TL Set the Best-return-code to 10 "Mapping for this FEC is not the
V given label at stack-depth <RSC>" if any below conditions fail:
at FEC-stack-depth is TBD2 (SR Candidate Path Associated PSID -
IPv4 sub-TLV), {
<list>
<t>Set the Best-return-code to 10, "Mapping for this FEC is not
the given label at stack-depth &lt;RSC&gt;" if any below
conditions fail:
<list style="symbols">
<t>Validate that the PSID is signaled or provisioned for the SR Candid
ate Path {
<list style="symbols">
<t>Validate that the signaled or provisioned headend, color, endpoint, - Validate that the PSID is signaled or provisioned for the SR
originator, and discriminator, Segment List {
for the PSID, matches with the corresponding fields in the rece
ived SR Candidate Path Associated PSID - IPv4 sub-TLV. </t>
</list> * Validate that the signaled or provisioned headend, color,
} </t> 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.
</list> }
} </t>
<t>If all the above validations have passed, set the return code to 3 }
"Replying router is an egress for the FEC at stack-depth &lt;RSC&gt;
". </t>
<t>Set FEC-Status to 1 and return. </t> 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>".
</list> Set the FEC-Status to 1 and return.
} </t>
<t>Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TL }
V
at FEC-stack-depth is TBD3 (SR Segment List Associated PSID - IPv4 sub-
TLV), {
<list>
<t>Set the Best-return-code to 10, "Mapping for this FEC is not
the given label at stack-depth &lt;RSC&gt;" if any below
conditions fail:
<list style="symbols">
<t>Validate that the PSID is signaled or provisioned for the SR Segmen
t List {
<list style="symbols">
<t>Validate that the signaled or provisioned headend, color, endpoint, Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TLV
originator, discriminator, and segment-list-id, at FEC-stack-depth is 52 (SR Policy Associated PSID - IPv6
for the PSID, matches with the corresponding fields in the rece sub-TLV), {
ived SR Segment List Associated PSID - IPv4 sub-TLV. </t>
</list> Set the Best-return-code to 10 "Mapping for this FEC is not the
} </t> given label at stack-depth <RSC>" if any below conditions fail
</list> - Validate that the PSID is signaled or provisioned for the SR
} </t> Policy {
<t>If all the above validations have passed, set the return code to 3 * Validate that the signaled or provisioned headend, color,
"Replying router is an egress for the FEC at stack-depth &lt;RSC&gt; and endpoint for the PSID match with the corresponding
". </t> fields in the received SR Policy Associated PSID - IPv6 sub-
TLV.
<t>Set FEC-Status to 1 and return. </t> }
</list> }
} </t>
<t>Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TL If all the above validations have passed, set the return code to 3
V "Replying router is an egress for the FEC at stack-depth <RSC>".
at FEC-stack-depth is TBD4 (SR Policy Associated PSID - IPv6 su
b-TLV), {
<list>
<t>Set the Best-return-code to 10, "Mapping for this FEC is not
the given label at stack-depth &lt;RSC&gt;" if any below
conditions fail (the notation &lt;RSC&gt; refers to the Return Subco
de):
<list style="symbols">
<t>Validate that the PSID is signaled or provisioned for the SR Policy
{
<list style="symbols">
<t>Validate that the signaled or provisioned headend, color, and endpo Set the FEC-Status to 1 and return.
int, for the PSID, matches with the
corresponding fields in the received SR Policy Associated PSID
- IPv6 sub-TLV. </t>
</list> }
} </t>
</list> Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TLV
} </t> at FEC-stack-depth is 53 (SR Candidate Path Associated PSID - IPv6
sub-TLV), {
<t>If all the above validations have passed, set the return code to 3 Set the Best-return-code to 10 "Mapping for this FEC is not the
"Replying router is an egress for the FEC at stack-depth &lt;RSC&gt; given label at stack-depth <RSC>" if any below conditions fail:
". </t>
<t>Set FEC-Status to 1 and return. </t> - Validate that the PSID is signaled or provisioned for the SR
Candidate Path {
</list> * Validate that the signaled or provisioned headend, color,
} </t> endpoint, originator, and discriminator for the PSID
match with the corresponding fields in the received SR
Candidate Path Associated PSID - IPv6 sub-TLV.
<t>Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TL }
V
at FEC-stack-depth is TBD5 (SR Candidate Path Associated PSID -
IPv6 sub-TLV), {
<list>
<t>Set the Best-return-code to 10, "Mapping for this FEC is not
the given label at stack-depth &lt;RSC&gt;" if any below
conditions fail:
<list style="symbols">
<t>Validate that the PSID is signaled or provisioned for the SR Candid
ate Path {
<list style="symbols">
<t>Validate that the signaled or provisioned headend, color, endpoint, }
originator, and discriminator,
for the PSID, matches with the corresponding fields in the rece
ived SR Candidate Path Associated PSID - IPv6 sub-TLV. </t>
</list> If all the above validations have passed, set the return code to 3
} </t> "Replying router is an egress for the FEC at stack-depth <RSC>".
</list> Set the FEC-Status to 1 and return.
} </t>
<t>If all the above validations have passed, set the return code to 3 }
"Replying router is an egress for the FEC at stack-depth &lt;RSC&gt;
". </t>
<t>Set FEC-Status to 1 and return. </t> 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), {
</list> Set the Best-return-code to 10 "Mapping for this FEC is not the
} </t> given label at stack-depth <RSC>" if any below conditions fail:
<t>Else, if the Label-stack-depth is 1 and the Target FEC Stack sub-TL - Validate that the PSID is signaled or provisioned for the SR
V Segment List {
at FEC-stack-depth is TBD6 (SR Segment List Associated PSID - IPv6 sub-
TLV), {
<list>
<t>Set the Best-return-code to 10, "Mapping for this FEC is not
the given label at stack-depth &lt;RSC&gt;" if any below
conditions fail:
<list style="symbols">
<t>Validate that the PSID is signaled or provisioned for the SR Segmen
t List {
<list style="symbols">
<t>Validate that the signaled or provisioned headend, color, endpoint, * Validate that the signaled or provisioned headend, color,
originator, discriminator, and segment-list-id, endpoint, originator, discriminator, and segment-list-id
for the PSID, matches with the corresponding fields in the rece for the PSID match with the corresponding fields in the
ived SR Segment List Associated PSID - IPv6 sub-TLV. </t> received SR Segment List Associated PSID - IPv6 sub-TLV.
</list> }
} </t>
</list> }
} </t>
<t>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 &lt;RSC&gt; "Replying router is an egress for the FEC at stack-depth <RSC>".
". </t>
<t>Set FEC-Status to 1 and return. </t> Set the FEC-Status to 1 and return.
</list> }]]></sourcecode>
} </t>
<t> When an SR Policy Associated PSID - IPv4 sub-TLV, or an SR Candidate Pat <t> When any of the following is carried in a Reverse-Path Target FEC St
h Associated PSID - IPv4 sub-TLV, or an SR Segment List ack TLV (Type 16) or Reply Path TLV (Type 21), it
Associated PSID - IPv4 sub-TLV, or an SR Policy Associated PSID - IPv6 su <bcp14>MUST</bcp14> be sent by an endpoint in an echo reply.</t>
b-TLV, or an SR Candidate Path Associated PSID - IPv6 sub-TLV, <ul>
or an SR Segment List Associated PSID - IPv6 sub-TLV is carried in Revers <li>SR Policy Associated PSID - IPv4 sub-TLV,</li>
e-Path Target FEC Stack TLV (Type 16) or Reply Path TLV (Type 21), <li>SR Candidate Path Associated PSID - IPv4 sub-TLV,</li>
it MUST be sent by an endpoint in an echo reply. The headend MUST perform <li>SR Segment List Associated PSID - IPv4 sub-TLV,</li>
validity checks as described above without setting the return <li>SR Policy Associated PSID - IPv6 sub-TLV,</li>
code. If any of the validations fail, then the headend MUST drop the echo <li>SR Candidate Path Associated PSID - IPv6 sub-TLV, or</li>
reply and SHOULD log and/or report an error.</t> <li>SR Segment List Associated PSID - IPv6 sub-TLV</li></ul>
<t>The headend <bcp14>MUST</bcp14> perform validity checks as described
above without setting the return
code. If any of the validations fail, then the headend <bcp14>MUST</bcp14
> drop the echo reply and <bcp14>SHOULD</bcp14> log and/or report an error.</t>
</section>
</section> </section>
</section> <section>
<name>Security Considerations</name>
<section title="Security Considerations"> <t> This document defines additional MPLS LSP Ping sub-TLVs and follows th
e mechanisms defined in <xref target="RFC8029"/>.
<t> This document defines additional MPLS LSP Ping sub-TLVs and follows the me All the security considerations defined in <xref target="RFC8029" section="5"/
chanisms defined in <xref target="RFC8029"/>. > apply to this document. The MPLS LSP Ping
All the security considerations defined in Section 5 of <xref target="RFC8029"
/> apply to this document. The MPLS LSP Ping
sub-TLVs defined in this document do not impose any additional security challe nges to be considered.</t> sub-TLVs defined in this document do not impose any additional security challe nges to be considered.</t>
</section>
</section> <section>
<name>IANA Considerations</name>
<section title="IANA Considerations"> <t> IANA has assigned six Target FEC Stack sub-TLVs from the "Sub-TLVs for
TLV Types 1, 16, and 21" registry
<t> IANA is requested to assign six new Target FEC Stack sub-TLVs from the "Su
b-TLVs for TLV Types 1, 16, and 21" registry
<xref target="MPLS-LSP-PING"/> within the "TLVs" registry of the "Multiprotoco l Label Switching (MPLS) Label Switched Paths (LSPs) <xref target="MPLS-LSP-PING"/> within the "TLVs" registry of the "Multiprotoco l Label Switching (MPLS) Label Switched Paths (LSPs)
Ping Parameters" registry group. The Standards Action range that requires an e rror message to be returned if the sub-TLV is not Ping Parameters" registry group. The Standards Action <xref target="RFC8126"/> range that requires an error message to be returned if the sub-TLV is not
recognized (range 0-16383) should be used.</t> recognized (range 0-16383) should be used.</t>
<table>
<name>Sub-TLVs for TLV Types 1, 16, and 21 Registry</name>
<thead>
<tr>
<th align="left">Sub-Type</th>
<th align="left">Sub-TLV Name</th>
<th align="left">Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">49</td>
<td align="left">SR Policy Associated PSID - IPv4</td>
<td align="left"><xref target="sect-3.1"/> of RFC 9884</td>
</tr>
<tr>
<td align="left">50</td>
<td align="left">SR Candidate Path Associated PSID - IPv4</td>
<td align="left"><xref target="sect-3.2"/> of RFC 9884</td>
</tr>
<tr>
<td align="left">51</td>
<td align="left">SR Segment List Associated PSID - IPv4</td>
<td align="left"><xref target="sect-3.3"/> of RFC 9884</td>
</tr>
<tr>
<td align="left">52</td>
<td align="left">SR Policy Associated PSID - IPv6</td>
<td align="left"><xref target="sect-3.4"/> of RFC 9884</td>
</tr>
<tr>
<td align="left">53</td>
<td align="left">SR Candidate Path Associated PSID - IPv6</td>
<td align="left"><xref target="sect-3.5"/> of RFC 9884</td>
</tr>
<tr>
<td align="left">54</td>
<td align="left">SR Segment List Associated PSID - IPv6</td>
<td align="left"><xref target="sect-3.6"/> of RFC 9884</td>
</tr>
</tbody>
</table>
</section>
</middle>
<back>
<texttable title="Sub-TLVs for TLV Types 1, 16, and 21 Registry"> <displayreference target="I-D.ietf-idr-sr-policy-seglist-id" to="SR-SEGLIST-
<ttcol align='left'>Sub-Type</ttcol> ID"/>
<ttcol align='left'>Sub-TLV Name</ttcol> <displayreference target="I-D.ietf-pce-multipath" to="PCE-MULTIPATH"/>
<ttcol align='left'>Reference</ttcol> <references>
<c>TBD1</c><c>SR Policy Associated PSID - IPv4</c><c>Section 3.1 of THIS_DOCU <name>References</name>
MENT</c> <references>
<c>TBD2</c><c>SR Candidate Path Associated PSID - IPv4</c><c>Section 3.2 of T <name>Normative References</name>
HIS_DOCUMENT</c> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
<c>TBD3</c><c>SR Segment List Associated PSID - IPv4</c><c>Section 3.3 of THI 545.xml"/>
S_DOCUMENT</c> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
<c>TBD4</c><c>SR Policy Associated PSID - IPv6</c><c>Section 3.4 of THIS_DOCU 287.xml"/>
MENT</c> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
<c>TBD5</c><c>SR Candidate Path Associated PSID - IPv6</c><c>Section 3.5 of T 119.xml"/>
HIS_DOCUMENT</c> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
<c>TBD6</c><c>SR Segment List Associated PSID - IPv6</c><c>Section 3.6 of THI 174.xml"/>
S_DOCUMENT</c> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
</texttable> 029.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
256.xml"/>
<reference anchor="PROTOCOL-ORIGIN" target="https://www.iana.org/assignm
ents/segment-routing">
<front>
<title>SR Policy Protocol Origin</title>
<author>
<organization>IANA</organization>
</author>
</front>
</reference>
<reference anchor="MPLS-LSP-PING" target="http://www.iana.org/assignment
s/mpls-lsp-ping-parameters">
<front>
<title>Multiprotocol Label Switching (MPLS) Label Switched Paths (LS
Ps) Ping Parameters</title>
<author>
<organization>IANA</organization>
</author>
</front>
</reference>
</references>
<references>
<name>Informative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3
031.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.
8126.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
402.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
403.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
703.xml"/>
</section> <!-- [I-D.ietf-idr-sr-policy-seglist-id]
draft-ietf-idr-sr-policy-seglist-id-04
IESG State: I-D Exists as of 10/20/25
-->
<xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-idr
-sr-policy-seglist-id.xml"/>
<section title="Acknowledgements"> <!-- [I-D.ietf-pce-multipath]
<t> The authors would like to acknowledge Loa Andersson, Detao Zhao, Ben Niven draft-ietf-pce-multipath-13
-Jenkins, Greg Mirsky, Ketan Talaulikar, James IESG State: I-D Exists as of 10/20/25
Guichard, Jon Geater, Gorry Fairhurst, Bing Liu, Mohamed Boucadair, Eric Vynck -->
e, Gunter Van de Velde, Mahesh Jethanandani, <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce
and Andy Smith for their thorough review and very helpful comments. </t> -multipath.xml"/>
<t> The authors would like to acknowledge Yao Liu and Quan Xiong for the very
helpful face to face discussion.</t>
</section>
</middle> <!-- [I-D.ietf-idr-bgp-ls-sr-policy]
draft-ietf-idr-bgp-ls-sr-policy-17
In RFC Ed Queue (AUTH48) as RFC 9857 as of 10/20/25; authors prefer reversion to
the I-D format if it does not beat this document to PUB.
-->
<back> <reference anchor="RFC9857" target="https://www.rfc-editor.org/info/rfc9857">
<references title="Normative References">
<?rfc include="reference.RFC.9545"?>
<?rfc include="reference.RFC.8287"?>
<?rfc include="reference.RFC.2119"?>
<?rfc include="reference.RFC.8174"?>
<?rfc include="reference.RFC.8029"?>
<?rfc include="reference.RFC.9256"?>
<reference anchor="PROTOCOL-ORIGIN"
target="https://www.iana.org/assignments/segment-routing/segmen
t-routing.xhtml#sr-policy-protocol-origin">
<front>
<title>SR Policy Protocol Origin</title>
<author></author>
</front>
</reference>
<reference anchor="MPLS-LSP-PING"
target="http://www.iana.org/assignments/mpls-lsp-ping-parameter
s">
<front>
<title>Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSP
s) Ping Parameters</title>
<author></author>
</front>
</reference>
</references>
<references title="Informative References"> <front>
<?rfc include="reference.RFC.3031"?> <title>Advertisement of Segment Routing Policies Using BGP Link State</tit
<?rfc include="reference.RFC.8402"?> le>
<?rfc include="reference.RFC.8403"?> <author initials="S." surname="Previdi" fullname="Stefano Previdi">
<?rfc include="reference.RFC.9703"?> <organization>Individual</organization>
<?rfc include="reference.I-D.ietf-idr-sr-policy-seglist-id"?> </author>
<?rfc include="reference.I-D.ietf-pce-multipath"?> <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar" rol
<?rfc include="reference.I-D.ietf-idr-bgp-ls-sr-policy"?> e="editor">
<organization>Cisco Systems</organization>
</author>
<author initials="J." surname="Dong" fullname="Jie Dong">
<organization>Huawei Technologies</organization>
</author>
<author initials="H." surname="Gredler" fullname="Hannes Gredler">
<organization>RtBrick Inc.</organization>
</author>
<author initials="J." surname="Tantsura" fullname="Jeff Tantsura">
<organization>Nvidia</organization>
</author>
<date month="October" year="2025" />
</front>
<seriesInfo name="RFC" value="9857"/>
<seriesInfo name="DOI" value="10.17487/RFC9857"/>
</reference>
</references>
</references> </references>
</back> <section numbered="false">
<name>Acknowledgements</name>
<t> The authors would like to acknowledge <contact fullname="Loa
Andersson"/>, <contact fullname="Detao Zhao"/>, <contact fullname="Ben
Niven-Jenkins"/>, <contact fullname="Greg Mirsky"/>, <contact
fullname="Ketan Talaulikar"/>, <contact fullname="James Guichard"/>,
<contact fullname="Jon Geater"/>, <contact fullname="Gorry Fairhurst"/>,
<contact fullname="Bing Liu"/>, <contact fullname="Mohamed Boucadair"/>,
<contact fullname="Éric Vyncke"/>, <contact fullname="Gunter Van de
Velde"/>, <contact fullname="Mahesh Jethanandani"/>, and <contact
fullname="Andy Smith"/> for their thorough review and very helpful
comments. </t>
<t> The authors would like to acknowledge <contact fullname="Yao Liu"/>
and <contact fullname="Quan Xiong"/> for the very helpful face to face
discussion.</t>
</section>
</back>
</rfc> </rfc>
 End of changes. 109 change blocks. 
995 lines changed or deleted 752 lines changed or added

This html diff was produced by rfcdiff 1.48.