<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" ipr="trust200902" docName="draft-ietf-mpls-spring-lsp-ping-path-sid-13" number="9884" updates="" obsoletes="" consensus="true" submissionType="IETF" tocInclude="true" symRefs="true" sortRefs="true" xml:lang="en" prepTime="2025-10-29T16:02:15" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-mpls-spring-lsp-ping-path-sid-13" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9884" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="LSP Ping for SR PSID">Label Switched Path Ping for Segment Routing Path Segment Identifier with MPLS Data Plane</title>
    <seriesInfo name="RFC" value="9884" stream="IETF"/>
    <author fullname="Xiao Min" initials="X" surname="Min">
      <organization showOnFrontPage="true">ZTE Corp.</organization>
      <address>
        <postal>
          <city>Nanjing</city>
          <country>China</country>
        </postal>
        <phone>+86 18061680168</phone>
        <email>xiao.min2@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Shaofu Peng" initials="S" surname="Peng">
      <organization showOnFrontPage="true">ZTE Corp.</organization>
      <address>
        <postal>
          <city>Nanjing</city>
          <country>China</country>
        </postal>
        <email>peng.shaofu@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Liyan Gong" initials="L" surname="Gong">
      <organization showOnFrontPage="true">China Mobile</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gongliyan@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Rakesh Gandhi" initials="R" surname="Gandhi">
      <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>rgandhi@cisco.com</email>
      </address>
    </author>
    <author fullname="Carlos Pignataro" initials="C" surname="Pignataro">
      <organization showOnFrontPage="true">Blue Fern Consulting</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>carlos@bluefern.consulting</email>
      </address>
    </author>
    <date month="10" year="2025"/>
    <area>RTG</area>
    <workgroup>mpls</workgroup>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1"> 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. </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            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.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9884" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions">Conventions</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-path-segment-id-sub-tlvs">Path Segment ID Sub-TLVs</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-policy-associated-psid-i">SR Policy Associated PSID - IPv4 Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-candidate-path-associate">SR Candidate Path Associated PSID - IPv4 Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-segment-list-associated-">SR Segment List Associated PSID - IPv4 Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-policy-associated-psid-ipv">SR Policy Associated PSID - IPv6 Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.5">
                <t indent="0" pn="section-toc.1-1.3.2.5.1"><xref derivedContent="3.5" format="counter" sectionFormat="of" target="section-3.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-candidate-path-associated-">SR Candidate Path Associated PSID - IPv6 Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.6">
                <t indent="0" pn="section-toc.1-1.3.2.6.1"><xref derivedContent="3.6" format="counter" sectionFormat="of" target="section-3.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-segment-list-associated-ps">SR Segment List Associated PSID - IPv6 Sub-TLV</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-psid-fec-validation">PSID FEC Validation</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-psid-fec-validation-rules">PSID FEC Validation Rules</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1"> A Path Segment is a local segment <xref target="RFC9545" format="default" sectionFormat="of" derivedContent="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) <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/> of the egress 
  node of an SR path. </t>
      <t indent="0" pn="section-1-2"> As specified in <xref target="RFC9545" format="default" sectionFormat="of" derivedContent="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. </t>
      <t indent="0" pn="section-1-3">The procedure for LSP Ping <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/> as defined in <xref target="RFC8287" section="7.4" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-7.4" derivedContent="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. </t>
      <t indent="0" pn="section-1-4"> LSP Traceroute <xref target="RFC8287" format="default" sectionFormat="of" derivedContent="RFC8287"/> is left out of this document because transit nodes are not involved in PSID processing. </t>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions">Conventions</name>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-2.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-2.1-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</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 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
      <section anchor="sect-2.2" numbered="true" removeInRFC="false" toc="include" pn="section-2.2">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-2.2-1"> This document uses the terminology defined in <xref target="RFC3031" format="default" sectionFormat="of" derivedContent="RFC3031"/>, <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>, <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/>, and 
	<xref target="RFC9545" format="default" sectionFormat="of" derivedContent="RFC9545"/>; readers are expected to be familiar with the terms in those documents. </t>
        <t indent="0" pn="section-2.2-2">This document introduces the following additional term:</t>
        <dl spacing="normal" newline="true" indent="3" pn="section-2.2-3">
          <dt pn="section-2.2-3.1">Segment-List-ID</dt>
          <dd pn="section-2.2-3.2">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 <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="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) (<xref section="2.1" target="I-D.ietf-idr-sr-policy-seglist-id" format="default" sectionFormat="of" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr-policy-seglist-id-06#section-2.1" derivedContent="SR-SEGLIST-ID"/>, Path Computation Element Communication Protocol (PCEP) (<xref section="4.2" target="I-D.ietf-pce-multipath" format="default" sectionFormat="of" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-pce-multipath-16#section-4.2" derivedContent="PCE-MULTIPATH"/>), and Border Gateway Protocol - Link State (BGP-LS) (<xref section="5.7.4" target="RFC9857" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9857#section-5.7.4" derivedContent="RFC9857"/>).</dd>
        </dl>
      </section>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-path-segment-id-sub-tlvs">Path Segment ID Sub-TLVs</name>
      <t indent="0" pn="section-3-1"> Analogous to what's defined in <xref target="RFC8287" section="5" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-5" derivedContent="RFC8287"/> and <xref target="RFC9703" section="4" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9703#section-4" derivedContent="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 <xref target="RFC8029" section="3" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc8029#section-3" derivedContent="RFC8029"/>. </t>
      <table align="center" pn="table-1">
        <name slugifiedName="name-sub-tlvs-for-psid-checks">Sub-TLVs for PSID Checks</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Sub-Type</th>
            <th align="left" colspan="1" rowspan="1">Sub-TLV Name</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">49</td>
            <td align="left" colspan="1" rowspan="1">SR Policy Associated PSID - IPv4</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">50</td>
            <td align="left" colspan="1" rowspan="1">SR Candidate Path Associated PSID - IPv4</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">51</td>
            <td align="left" colspan="1" rowspan="1">SR Segment List Associated PSID - IPv4</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">52</td>
            <td align="left" colspan="1" rowspan="1">SR Policy Associated PSID - IPv6</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">53</td>
            <td align="left" colspan="1" rowspan="1">SR Candidate Path Associated PSID - IPv6</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">54</td>
            <td align="left" colspan="1" rowspan="1">SR Segment List Associated PSID - IPv6</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-3-3"> As specified in <xref target="RFC9545" section="2" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9545#section-2" derivedContent="RFC9545"/>, a PSID is used to identify the following:</t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3-4">
        <li pn="section-3-4.1">a single segment list, some segment lists, or all segment lists in a candidate path of an SR Policy,</li>
        <li pn="section-3-4.2">some segment lists across multiple candidate paths of an SR Policy, or</li>
        <li pn="section-3-4.3">all segment lists in all candidate paths of an SR Policy.</li>
      </ul>
      <t indent="0" pn="section-3-5">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:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3-6">
        <li pn="section-3-6.1">
          <t indent="0" pn="section-3-6.1.1"> 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) <bcp14>MUST</bcp14> be used for PSID checks. </t>
        </li>
        <li pn="section-3-6.2">
          <t indent="0" pn="section-3-6.2.1"> 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) <bcp14>MUST</bcp14> be used for PSID checks. </t>
        </li>
        <li pn="section-3-6.3">
          <t indent="0" pn="section-3-6.3.1"> 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) <bcp14>MUST</bcp14> be used for PSID checks. </t>
        </li>
        <li pn="section-3-6.4">
          <t indent="0" pn="section-3-6.4.1"> 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) <bcp14>MUST</bcp14> be used for PSID checks. In this case, multiple LSP Ping messages <bcp14>MUST</bcp14> be sent, 
	  and one Target FEC Stack sub-TLV of the type "SR Segment List Associated PSID" (for IPv4 or IPv6) <bcp14>MUST</bcp14> be carried in each LSP Ping message. </t>
        </li>
      </ul>
      <t indent="0" pn="section-3-7"> 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 <xref target="sect-4" format="default" sectionFormat="of" derivedContent="Section 4"/>.</t>
      <section anchor="sect-3.1" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-sr-policy-associated-psid-i">SR Policy Associated PSID - IPv4 Sub-TLV</name>
        <t indent="0" pn="section-3.1-1"> The SR Policy Associated PSID - IPv4 sub-TLV is defined as follows: </t>
        <figure anchor="Figure_1" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-sr-policy-associated-psid-ip">SR Policy Associated PSID - IPv4 Sub-TLV Format</name>
          <artwork align="left" pn="section-3.1-2.1"> 
 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)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <dl spacing="normal" newline="true" indent="3" pn="section-3.1-3">
          <dt pn="section-3.1-3.1">Type (length: 2 octets)</dt>
          <dd pn="section-3.1-3.2"> The Type field identifies the sub-TLV as an SR Policy Associated PSID - IPv4 sub-TLV. The value is set to 49.</dd>
          <dt pn="section-3.1-3.3">Length (length: 2 octets)</dt>
          <dd pn="section-3.1-3.4"> 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 set to 12. </dd>
          <dt pn="section-3.1-3.5">Headend (length: 4 octets)</dt>
          <dd pn="section-3.1-3.6"> The Headend field encodes the headend IPv4 address of the SR Policy. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.1-3.7">Color (length: 4 octets)</dt>
          <dd pn="section-3.1-3.8"> 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" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.1-3.9">Endpoint (length: 4 octets)</dt>
          <dd pn="section-3.1-3.10"> The Endpoint field encodes the endpoint IPv4 address of the SR Policy. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
        </dl>
      </section>
      <section anchor="sect-3.2" numbered="true" removeInRFC="false" toc="include" pn="section-3.2">
        <name slugifiedName="name-sr-candidate-path-associate">SR Candidate Path Associated PSID - IPv4 Sub-TLV</name>
        <t indent="0" pn="section-3.2-1"> The SR Candidate Path Associated PSID - IPv4 sub-TLV is defined as follows: </t>
        <figure anchor="Figure_2" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-sr-candidate-path-associated">SR Candidate Path Associated PSID - IPv4 Sub-TLV Format</name>
          <artwork align="left" pn="section-3.2-2.1">
 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)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <dl spacing="normal" newline="true" indent="3" pn="section-3.2-3">
          <dt pn="section-3.2-3.1">Type (length: 2 octets)</dt>
          <dd pn="section-3.2-3.2"> The Type field identifies the sub-TLV as an SR Candidate Path Associated PSID - IPv4 sub-TLV. The value is set to 50.</dd>
          <dt pn="section-3.2-3.3">Length (length: 2 octets)</dt>
          <dd pn="section-3.2-3.4"> 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 set to 40. </dd>
          <dt pn="section-3.2-3.5">Headend (length: 4 octets)</dt>
          <dd pn="section-3.2-3.6"> The Headend field encodes the headend IPv4 address of the SR Candidate Path. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.2-3.7">Color (length: 4 octets)</dt>
          <dd pn="section-3.2-3.8"> The Color field identifies the policy color and is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.2-3.9">Endpoint (length: 4 octets)</dt>
          <dd pn="section-3.2-3.10"> The Endpoint field encodes the endpoint IPv4 address of the SR Candidate Path. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.2-3.11">Protocol-Origin (length: 1 octet)</dt>
          <dd pn="section-3.2-3.12"> The Protocol-Origin field indicates the protocol that originated the SR
  Candidate Path. It is defined in <xref target="RFC9256" section="2.3" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.3" derivedContent="RFC9256"/> and
  takes values from the IANA registry <xref target="PROTOCOL-ORIGIN" format="default" sectionFormat="of" derivedContent="PROTOCOL-ORIGIN"/>. If an
  unsupported value is used, validation at the responder <bcp14>MUST</bcp14>
  fail.</dd>
          <dt pn="section-3.2-3.13">Reserved (length: 3 octets)</dt>
          <dd pn="section-3.2-3.14"> The Reserved field is reserved for future use. It <bcp14>MUST</bcp14> be set to zero when sent and <bcp14>MUST</bcp14> be ignored upon receipt. </dd>
          <dt pn="section-3.2-3.15">Originator (length: 20 octets)</dt>
          <dd pn="section-3.2-3.16"> The Originator field identifies the originator of the SR Candidate Path and is encoded as defined in <xref target="RFC9256" section="2.4" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.4" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.2-3.17">Discriminator (length: 4 octets)</dt>
          <dd pn="section-3.2-3.18"> 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" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.5" derivedContent="RFC9256"/>. </dd>
        </dl>
      </section>
      <section anchor="sect-3.3" numbered="true" removeInRFC="false" toc="include" pn="section-3.3">
        <name slugifiedName="name-sr-segment-list-associated-">SR Segment List Associated PSID - IPv4 Sub-TLV</name>
        <t indent="0" pn="section-3.3-1"> 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 <xref target="Figure_3" format="default" sectionFormat="of" derivedContent="Figure 3"/>. </t>
        <figure anchor="Figure_3" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-sr-segment-list-associated-p">SR Segment List Associated PSID - IPv4 Sub-TLV Format</name>
          <artwork align="left" pn="section-3.3-2.1">
 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)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <dl spacing="normal" newline="true" indent="3" pn="section-3.3-3">
          <dt pn="section-3.3-3.1">Type (length: 2 octets)</dt>
          <dd pn="section-3.3-3.2"> The Type field identifies the sub-TLV as an SR Segment List Associated PSID - IPv4 sub-TLV. The value is set to 51.</dd>
          <dt pn="section-3.3-3.3">Length (length: 2 octets)</dt>
          <dd pn="section-3.3-3.4"> 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 set to 44. </dd>
          <dt pn="section-3.3-3.5">Headend (length: 4 octets)</dt>
          <dd pn="section-3.3-3.6"> The Headend field encodes the headend IPv4 address of the SR Policy. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.3-3.7">Color (length: 4 octets)</dt>
          <dd pn="section-3.3-3.8"> The Color field identifies the color of the SR Policy and is encoded as specified in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.3-3.9">Endpoint (length: 4 octets)</dt>
          <dd pn="section-3.3-3.10"> The Endpoint field specifies the endpoint IPv4 address of the SR Policy, as defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.3-3.11">Protocol-Origin (length: 1 octet)</dt>
          <dd pn="section-3.3-3.12"> The Protocol-Origin field indicates the protocol that originated the SR
  Candidate Path. It is defined in <xref target="RFC9256" section="2.3" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.3" derivedContent="RFC9256"/> and
  takes values from the IANA registry <xref target="PROTOCOL-ORIGIN" format="default" sectionFormat="of" derivedContent="PROTOCOL-ORIGIN"/>. If an
  unsupported value is used, validation at the responder <bcp14>MUST</bcp14>
  fail.</dd>
          <dt pn="section-3.3-3.13">Reserved (length: 3 octets)</dt>
          <dd pn="section-3.3-3.14"> The Reserved field is reserved for future use. It <bcp14>MUST</bcp14> be set to zero when transmitted and <bcp14>MUST</bcp14> be ignored upon receipt. </dd>
          <dt pn="section-3.3-3.15">Originator (length: 20 octets)</dt>
          <dd pn="section-3.3-3.16"> The Originator field identifies the originator of the SR Candidate Path and is defined in <xref target="RFC9256" section="2.4" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.4" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.3-3.17">Discriminator (length: 4 octets)</dt>
          <dd pn="section-3.3-3.18"> 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" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.5" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.3-3.19">Segment-List-ID (length: 4 octets)</dt>
          <dd pn="section-3.3-3.20"> 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" format="default" sectionFormat="of" derivedContent="Section 2.2"/>.</dd>
        </dl>
      </section>
      <section anchor="sect-3.4" numbered="true" removeInRFC="false" toc="include" pn="section-3.4">
        <name slugifiedName="name-sr-policy-associated-psid-ipv">SR Policy Associated PSID - IPv6 Sub-TLV</name>
        <t indent="0" pn="section-3.4-1"> The SR Policy Associated PSID - IPv6 sub-TLV is defined as follows: </t>
        <figure anchor="Figure_4" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-sr-policy-associated-psid-ipv6">SR Policy Associated PSID - IPv6 Sub-TLV Format</name>
          <artwork align="left" pn="section-3.4-2.1">
 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)                       |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <dl spacing="normal" newline="true" indent="3" pn="section-3.4-3">
          <dt pn="section-3.4-3.1">Type (length: 2 octets)</dt>
          <dd pn="section-3.4-3.2"> The Type field identifies the sub-TLV as an SR Policy Associated PSID - IPv6 sub-TLV. The value is set to 52.</dd>
          <dt pn="section-3.4-3.3">Length (length: 2 octets)</dt>
          <dd pn="section-3.4-3.4"> 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 set to 36. </dd>
          <dt pn="section-3.4-3.5">Headend (length: 16 octets)</dt>
          <dd pn="section-3.4-3.6"> The Headend field encodes the headend IPv6 address of the SR Policy. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.4-3.7">Color (length: 4 octets)</dt>
          <dd pn="section-3.4-3.8"> 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" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.4-3.9">Endpoint (length: 16 octets)</dt>
          <dd pn="section-3.4-3.10"> The Endpoint field encodes the endpoint IPv6 address of the SR Policy. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
        </dl>
      </section>
      <section anchor="sect-3.5" numbered="true" removeInRFC="false" toc="include" pn="section-3.5">
        <name slugifiedName="name-sr-candidate-path-associated-">SR Candidate Path Associated PSID - IPv6 Sub-TLV</name>
        <t indent="0" pn="section-3.5-1"> The SR Candidate Path Associated PSID - IPv6 sub-TLV is defined as follows: </t>
        <figure anchor="Figure_5" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-sr-candidate-path-associated-p">SR Candidate Path Associated PSID - IPv6 Sub-TLV Format</name>
          <artwork align="left" pn="section-3.5-2.1">
 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)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <dl spacing="normal" newline="true" indent="3" pn="section-3.5-3">
          <dt pn="section-3.5-3.1">Type (length: 2 octets)</dt>
          <dd pn="section-3.5-3.2"> The Type field identifies the sub-TLV as an SR Candidate Path Associated PSID - IPv6 sub-TLV. The value is set to 53.</dd>
          <dt pn="section-3.5-3.3">Length (length: 2 octets)</dt>
          <dd pn="section-3.5-3.4"> 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 set to 64. </dd>
          <dt pn="section-3.5-3.5">Headend (length: 16 octets)</dt>
          <dd pn="section-3.5-3.6"> The Headend field encodes the headend IPv6 address of the SR Candidate Path. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.5-3.7">Color (length: 4 octets)</dt>
          <dd pn="section-3.5-3.8"> The Color field identifies the policy color and is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.5-3.9">Endpoint (length: 16 octets)</dt>
          <dd pn="section-3.5-3.10"> The Endpoint field encodes the endpoint IPv6 address of the SR Candidate Path. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.5-3.11">Protocol-Origin (length: 1 octet)</dt>
          <dd pn="section-3.5-3.12"> The Protocol-Origin field indicates the protocol that originated the SR
  Candidate Path. It is defined in <xref target="RFC9256" section="2.3" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.3" derivedContent="RFC9256"/> and
  takes values from the IANA registry <xref target="PROTOCOL-ORIGIN" format="default" sectionFormat="of" derivedContent="PROTOCOL-ORIGIN"/>. If an
  unsupported value is used, validation at the responder <bcp14>MUST</bcp14>
  fail.</dd>
          <dt pn="section-3.5-3.13">Reserved (length: 3 octets)</dt>
          <dd pn="section-3.5-3.14"> The Reserved field is reserved for future use. It <bcp14>MUST</bcp14> be set to zero when sent and <bcp14>MUST</bcp14> be ignored upon receipt. </dd>
          <dt pn="section-3.5-3.15">Originator (length: 20 octets)</dt>
          <dd pn="section-3.5-3.16"> The Originator field identifies the originator of the SR Candidate Path and is encoded as defined in <xref target="RFC9256" section="2.4" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.4" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.5-3.17">Discriminator (length: 4 octets)</dt>
          <dd pn="section-3.5-3.18"> 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" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.5" derivedContent="RFC9256"/>. </dd>
        </dl>
      </section>
      <section anchor="sect-3.6" numbered="true" removeInRFC="false" toc="include" pn="section-3.6">
        <name slugifiedName="name-sr-segment-list-associated-ps">SR Segment List Associated PSID - IPv6 Sub-TLV</name>
        <t indent="0" pn="section-3.6-1"> 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 <xref target="Figure_6" format="default" sectionFormat="of" derivedContent="Figure 6"/>. </t>
        <figure anchor="Figure_6" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-sr-segment-list-associated-psi">SR Segment List Associated PSID - IPv6 Sub-TLV Format</name>
          <artwork align="left" pn="section-3.6-2.1">
 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)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <dl spacing="normal" newline="true" indent="3" pn="section-3.6-3">
          <dt pn="section-3.6-3.1">Type (length: 2 octets)</dt>
          <dd pn="section-3.6-3.2"> The Type field identifies the sub-TLV as an SR Segment List Associated PSID - IPv6 sub-TLV. The value is set to 54.</dd>
          <dt pn="section-3.6-3.3">Length (length: 2 octets)</dt>
          <dd pn="section-3.6-3.4"> 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 set to 68. </dd>
          <dt pn="section-3.6-3.5">Headend (length: 16 octets)</dt>
          <dd pn="section-3.6-3.6"> The Headend field encodes the headend IPv6 address of the SR Policy. This field is defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.6-3.7">Color (length: 4 octets)</dt>
          <dd pn="section-3.6-3.8"> The Color field identifies the color of the SR Policy and is encoded as specified in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.6-3.9">Endpoint (length: 16 octets)</dt>
          <dd pn="section-3.6-3.10"> The Endpoint field specifies the endpoint IPv6 address of the SR Policy, as defined in <xref target="RFC9256" section="2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.6-3.11">Protocol-Origin (length: 1 octet)</dt>
          <dd pn="section-3.6-3.12"> The Protocol-Origin field indicates the protocol that originated the SR
  Candidate Path. It is defined in <xref target="RFC9256" section="2.3" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.3" derivedContent="RFC9256"/> and
  takes values from the IANA registry <xref target="PROTOCOL-ORIGIN" format="default" sectionFormat="of" derivedContent="PROTOCOL-ORIGIN"/>. If an
  unsupported value is used, validation at the responder <bcp14>MUST</bcp14>
  fail.</dd>
          <dt pn="section-3.6-3.13">Reserved (length: 3 octets)</dt>
          <dd pn="section-3.6-3.14"> The Reserved field is reserved for future use. It <bcp14>MUST</bcp14> be set to zero when transmitted and <bcp14>MUST</bcp14> be ignored upon receipt. </dd>
          <dt pn="section-3.6-3.15">Originator (length: 20 octets)</dt>
          <dd pn="section-3.6-3.16"> The Originator field identifies the originator of the SR Candidate Path and is defined in <xref target="RFC9256" section="2.4" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.4" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.6-3.17">Discriminator (length: 4 octets)</dt>
          <dd pn="section-3.6-3.18"> 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" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.5" derivedContent="RFC9256"/>. </dd>
          <dt pn="section-3.6-3.19">Segment-List-ID (length: 4 octets)</dt>
          <dd pn="section-3.6-3.20"> 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" format="default" sectionFormat="of" derivedContent="Section 2.2"/>.</dd>
        </dl>
      </section>
    </section>
    <section anchor="sect-4" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-psid-fec-validation">PSID FEC Validation</name>
      <t indent="0" pn="section-4-1"> 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 <xref target="RFC8403" format="default" sectionFormat="of" derivedContent="RFC8403"/>. For the 
  PSID, the responder nodes that receive an echo request and send an echo reply <bcp14>MUST</bcp14> be the endpoint of the 
      SR path. </t>
      <t indent="0" pn="section-4-2"> When an endpoint receives the LSP echo request packet with the top FEC being the PSID, it <bcp14>MUST</bcp14> perform 
  validity checks on the content of the PSID Target FEC Stack sub-TLV.</t>
      <t indent="0" pn="section-4-3"> If a malformed Target FEC Stack sub-TLV is received, then a return code of 1, "Malformed echo request received" as defined 
  in <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/> <bcp14>MUST</bcp14> be sent. The section below is appended to step 4a of <xref target="RFC8287" section="7.4" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc8287#section-7.4" derivedContent="RFC8287"/>. </t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-psid-fec-validation-rules">PSID FEC Validation Rules</name>
        <sourcecode type="pseudocode" markers="false" pn="section-4.1-1">
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 &lt;RSC&gt;" if any below conditions fail
   (the notation &lt;RSC&gt; 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 &lt;RSC&gt;".

   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 &lt;RSC&gt;" 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 &lt;RSC&gt;".

   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 &lt;RSC&gt;" 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 &lt;RSC&gt;".

  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 &lt;RSC&gt;" 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 &lt;RSC&gt;".

   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 &lt;RSC&gt;" 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 &lt;RSC&gt;".

   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 &lt;RSC&gt;" 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 &lt;RSC&gt;".

   Set the FEC-Status to 1 and return.

}</sourcecode>
        <t indent="0" pn="section-4.1-2"> When any of the following is carried in a Reverse-Path Target FEC Stack TLV (Type 16) or Reply Path TLV (Type 21), it
	<bcp14>MUST</bcp14> be sent by an endpoint in an echo reply.</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-4.1-3">
          <li pn="section-4.1-3.1">SR Policy Associated PSID - IPv4 sub-TLV,</li>
          <li pn="section-4.1-3.2">SR Candidate Path Associated PSID - IPv4 sub-TLV,</li>
          <li pn="section-4.1-3.3">SR Segment List Associated PSID - IPv4 sub-TLV,</li>
          <li pn="section-4.1-3.4">SR Policy Associated PSID - IPv6 sub-TLV,</li>
          <li pn="section-4.1-3.5">SR Candidate Path Associated PSID - IPv6 sub-TLV, or</li>
          <li pn="section-4.1-3.6">SR Segment List Associated PSID - IPv6 sub-TLV</li>
        </ul>
        <t indent="0" pn="section-4.1-4">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 numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-5-1"> This document defines additional MPLS LSP Ping sub-TLVs and follows the mechanisms defined in <xref target="RFC8029" format="default" sectionFormat="of" derivedContent="RFC8029"/>. 
  All the security considerations defined in <xref target="RFC8029" section="5" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc8029#section-5" derivedContent="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.</t>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1"> IANA has assigned six Target FEC Stack sub-TLVs from the "Sub-TLVs for TLV Types 1, 16, and 21" registry 
  <xref target="MPLS-LSP-PING" format="default" sectionFormat="of" derivedContent="MPLS-LSP-PING"/> within the "TLVs" registry of the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) 
  Ping Parameters" registry group. The Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/> range that requires an error message to be returned if the sub-TLV is not 
  recognized (range 0-16383) has been used.</t>
      <table align="center" pn="table-2">
        <name slugifiedName="name-sub-tlvs-for-tlv-types-1-16">Sub-TLVs for TLV Types 1, 16, and 21 Registry</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Sub-Type</th>
            <th align="left" colspan="1" rowspan="1">Sub-TLV Name</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">49</td>
            <td align="left" colspan="1" rowspan="1">SR Policy Associated PSID - IPv4</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="sect-3.1" format="default" sectionFormat="of" derivedContent="Section 3.1"/> of RFC 9884</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">50</td>
            <td align="left" colspan="1" rowspan="1">SR Candidate Path Associated PSID - IPv4</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="sect-3.2" format="default" sectionFormat="of" derivedContent="Section 3.2"/> of RFC 9884</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">51</td>
            <td align="left" colspan="1" rowspan="1">SR Segment List Associated PSID - IPv4</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="sect-3.3" format="default" sectionFormat="of" derivedContent="Section 3.3"/> of RFC 9884</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">52</td>
            <td align="left" colspan="1" rowspan="1">SR Policy Associated PSID - IPv6</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="sect-3.4" format="default" sectionFormat="of" derivedContent="Section 3.4"/> of RFC 9884</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">53</td>
            <td align="left" colspan="1" rowspan="1">SR Candidate Path Associated PSID - IPv6</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="sect-3.5" format="default" sectionFormat="of" derivedContent="Section 3.5"/> of RFC 9884</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">54</td>
            <td align="left" colspan="1" rowspan="1">SR Segment List Associated PSID - IPv6</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="sect-3.6" format="default" sectionFormat="of" derivedContent="Section 3.6"/> of RFC 9884</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-idr-sr-policy-seglist-id" to="SR-SEGLIST-ID"/>
    <displayreference target="I-D.ietf-pce-multipath" to="PCE-MULTIPATH"/>
    <references pn="section-7">
      <name slugifiedName="name-references">References</name>
      <references pn="section-7.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="MPLS-LSP-PING" target="http://www.iana.org/assignments/mpls-lsp-ping-parameters" quoteTitle="true" derivedAnchor="MPLS-LSP-PING">
          <front>
            <title>Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="PROTOCOL-ORIGIN" target="https://www.iana.org/assignments/segment-routing" quoteTitle="true" derivedAnchor="PROTOCOL-ORIGIN">
          <front>
            <title>SR Policy Protocol Origin</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8029" target="https://www.rfc-editor.org/info/rfc8029" quoteTitle="true" derivedAnchor="RFC8029">
          <front>
            <title>Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures</title>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="N. Kumar" initials="N." surname="Kumar"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="March" year="2017"/>
            <abstract>
              <t indent="0">This document describes a simple and efficient mechanism to detect data-plane failures in Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs). It defines a probe message called an "MPLS echo request" and a response message called an "MPLS echo reply" for returning the result of the probe. The MPLS echo request is intended to contain sufficient information to check correct operation of the data plane and to verify the data plane against the control plane, thereby localizing faults.</t>
              <t indent="0">This document obsoletes RFCs 4379, 6424, 6829, and 7537, and updates RFC 1122.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8029"/>
          <seriesInfo name="DOI" value="10.17487/RFC8029"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8287" target="https://www.rfc-editor.org/info/rfc8287" quoteTitle="true" derivedAnchor="RFC8287">
          <front>
            <title>Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data Planes</title>
            <author fullname="N. Kumar" initials="N." role="editor" surname="Kumar"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <author fullname="N. Akiya" initials="N." surname="Akiya"/>
            <author fullname="S. Kini" initials="S." surname="Kini"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="December" year="2017"/>
            <abstract>
              <t indent="0">A Segment Routing (SR) architecture leverages source routing and tunneling paradigms and can be directly applied to the use of a Multiprotocol Label Switching (MPLS) data plane. A node steers a packet through a controlled set of instructions called "segments" by prepending the packet with an SR header.</t>
              <t indent="0">The segment assignment and forwarding semantic nature of SR raises additional considerations for connectivity verification and fault isolation for a Label Switched Path (LSP) within an SR architecture. This document illustrates the problem and defines extensions to perform LSP Ping and Traceroute for Segment Routing IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with an MPLS data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8287"/>
          <seriesInfo name="DOI" value="10.17487/RFC8287"/>
        </reference>
        <reference anchor="RFC9256" target="https://www.rfc-editor.org/info/rfc9256" quoteTitle="true" derivedAnchor="RFC9256">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t indent="0">Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t indent="0">This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        <reference anchor="RFC9545" target="https://www.rfc-editor.org/info/rfc9545" quoteTitle="true" derivedAnchor="RFC9545">
          <front>
            <title>Path Segment Identifier in MPLS-Based Segment Routing Networks</title>
            <author fullname="W. Cheng" initials="W." role="editor" surname="Cheng"/>
            <author fullname="H. Li" initials="H." surname="Li"/>
            <author fullname="C. Li" initials="C." role="editor" surname="Li"/>
            <author fullname="R. Gandhi" initials="R." surname="Gandhi"/>
            <author fullname="R. Zigler" initials="R." surname="Zigler"/>
            <date month="February" year="2024"/>
            <abstract>
              <t indent="0">A Segment Routing (SR) path is identified by an SR segment list. A subset of segments from the segment list cannot be leveraged to distinguish one SR path from another as they may be partially congruent. SR path identification is a prerequisite for various use cases such as performance measurement and end-to-end 1+1 path protection.</t>
              <t indent="0">In an SR over MPLS (SR-MPLS) data plane, an egress node cannot determine on which SR path a packet traversed the network from the label stack because the segment identifiers are removed from the label stack as the packet transits the network.</t>
              <t indent="0">This document defines a Path Segment Identifier (PSID) to identify an SR path on the egress node of the path.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9545"/>
          <seriesInfo name="DOI" value="10.17487/RFC9545"/>
        </reference>
      </references>
      <references pn="section-7.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-pce-multipath" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-multipath-16" quoteTitle="true" derivedAnchor="PCE-MULTIPATH">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Signaling Multipath Information</title>
            <author fullname="Mike Koldychev" initials="M." surname="Koldychev">
              <organization showOnFrontPage="true">Ciena Corporation</organization>
            </author>
            <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
              <organization showOnFrontPage="true">Ciena Corporation</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author fullname="Bhupendra Yadav" initials="B." surname="Yadav">
              <organization showOnFrontPage="true">Ciena</organization>
            </author>
            <author fullname="Shuping Peng" initials="S." surname="Peng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization showOnFrontPage="true">Verizon Inc.</organization>
            </author>
            <author fullname="Samuel Sidor" initials="S." surname="Sidor">
              <organization showOnFrontPage="true">Cisco Systems.</organization>
            </author>
            <date day="17" month="October" year="2025"/>
            <abstract>
              <t indent="0">Certain traffic engineering path computation problems require solutions that consist of multiple traffic paths that together form a solution. Returning a single traffic path does not provide a valid solution. This document defines mechanisms to encode multiple paths for a single set of objectives and constraints. This allows encoding of multiple Segment Lists per Candidate Path within a Segment Routing Policy. The new Path Computation Element Communication Protocol (PCEP) mechanisms are designed to be generic, where possible, to allow for future re-use outside of SR Policy. The new PCEP mechanisms are applicable to both stateless and stateful PCEP. Additionally, this document updates RFC 8231 to allow encoding of multiple Segment Lists in PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-multipath-16"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC3031" target="https://www.rfc-editor.org/info/rfc3031" quoteTitle="true" derivedAnchor="RFC3031">
          <front>
            <title>Multiprotocol Label Switching Architecture</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="A. Viswanathan" initials="A." surname="Viswanathan"/>
            <author fullname="R. Callon" initials="R." surname="Callon"/>
            <date month="January" year="2001"/>
            <abstract>
              <t indent="0">This document specifies the architecture for Multiprotocol Label Switching (MPLS). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3031"/>
          <seriesInfo name="DOI" value="10.17487/RFC3031"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" quoteTitle="true" derivedAnchor="RFC8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t indent="0">Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t indent="0">SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t indent="0">SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
        <reference anchor="RFC8403" target="https://www.rfc-editor.org/info/rfc8403" quoteTitle="true" derivedAnchor="RFC8403">
          <front>
            <title>A Scalable and Topology-Aware MPLS Data-Plane Monitoring System</title>
            <author fullname="R. Geib" initials="R." role="editor" surname="Geib"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="N. Kumar" initials="N." surname="Kumar"/>
            <date month="July" year="2018"/>
            <abstract>
              <t indent="0">This document describes features of an MPLS path monitoring system and related use cases. Segment-based routing enables a scalable and simple method to monitor data-plane liveliness of the complete set of paths belonging to a single domain. The MPLS monitoring system adds features to the traditional MPLS ping and Label Switched Path (LSP) trace, in a very complementary way. MPLS topology awareness reduces management and control-plane involvement of Operations, Administration, and Maintenance (OAM) measurements while enabling new OAM features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8403"/>
          <seriesInfo name="DOI" value="10.17487/RFC8403"/>
        </reference>
        <reference anchor="RFC9703" target="https://www.rfc-editor.org/info/rfc9703" quoteTitle="true" derivedAnchor="RFC9703">
          <front>
            <title>Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) Egress Peer Engineering (EPE) Segment Identifiers (SIDs) with MPLS Data Plane</title>
            <author fullname="S. Hegde" initials="S." surname="Hegde"/>
            <author fullname="M. Srivastava" initials="M." surname="Srivastava"/>
            <author fullname="K. Arora" initials="K." surname="Arora"/>
            <author fullname="S. Ninan" initials="S." surname="Ninan"/>
            <author fullname="X. Xu" initials="X." surname="Xu"/>
            <date month="December" year="2024"/>
            <abstract>
              <t indent="0">Egress Peer Engineering (EPE) is an application of Segment Routing (SR) that solves the problem of egress peer selection. The SR-based BGP-EPE solution allows a centralized controller, e.g., a Software-Defined Network (SDN) controller, to program any egress peer. The EPE solution requires the node or the SDN controller to program 1) the PeerNode Segment Identifier (SID) describing a session between two nodes, 2) the PeerAdj SID describing the link or links that are used by the sessions between peer nodes, and 3) the PeerSet SID describing any connected interface to any peer in the related group. This document provides new sub-TLVs for EPE-SIDs that are used in the Target FEC Stack TLV (Type 1) in MPLS Ping and Traceroute procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9703"/>
          <seriesInfo name="DOI" value="10.17487/RFC9703"/>
        </reference>
        <reference anchor="RFC9857" target="https://www.rfc-editor.org/info/rfc9857" quoteTitle="true" derivedAnchor="RFC9857">
          <front>
            <title>Advertisement of Segment Routing Policies Using BGP - Link State</title>
            <author initials="S." surname="Previdi" fullname="Stefano Previdi">
              <organization showOnFrontPage="true">Individual</organization>
            </author>
            <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar" role="editor">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author initials="J." surname="Dong" fullname="Jie Dong">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="H." surname="Gredler" fullname="Hannes Gredler">
              <organization showOnFrontPage="true">RtBrick Inc.</organization>
            </author>
            <author initials="J." surname="Tantsura" fullname="Jeff Tantsura">
              <organization showOnFrontPage="true">Nvidia</organization>
            </author>
            <date month="October" year="2025"/>
          </front>
          <seriesInfo name="RFC" value="9857"/>
          <seriesInfo name="DOI" value="10.17487/RFC9857"/>
        </reference>
        <reference anchor="I-D.ietf-idr-sr-policy-seglist-id" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr-policy-seglist-id-06" quoteTitle="true" derivedAnchor="SR-SEGLIST-ID">
          <front>
            <title>BGP SR Policy Extensions for Segment List Identifier</title>
            <author fullname="Changwang Lin" initials="C." surname="Lin">
              <organization showOnFrontPage="true">New H3C Technologies</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization showOnFrontPage="true">China Mobile</organization>
            </author>
            <author fullname="Yao Liu" initials="Y." surname="Liu">
              <organization showOnFrontPage="true">ZTE</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Mengxiao Chen" initials="M." surname="Chen">
              <organization showOnFrontPage="true">New H3C Technologies</organization>
            </author>
            <date day="24" month="September" year="2025"/>
            <abstract>
              <t indent="0">Segment Routing is a source routing paradigm that explicitly indicates the forwarding path for packets at the ingress node. An SR Policy is a set of candidate paths, each consisting of one or more segment lists. This document defines extensions to BGP SR Policy to specify the identifier of segment list.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-sr-policy-seglist-id-06"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1"> 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 indent="0" pn="section-appendix.a-2"> 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>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Xiao Min" initials="X" surname="Min">
        <organization showOnFrontPage="true">ZTE Corp.</organization>
        <address>
          <postal>
            <city>Nanjing</city>
            <country>China</country>
          </postal>
          <phone>+86 18061680168</phone>
          <email>xiao.min2@zte.com.cn</email>
        </address>
      </author>
      <author fullname="Shaofu Peng" initials="S" surname="Peng">
        <organization showOnFrontPage="true">ZTE Corp.</organization>
        <address>
          <postal>
            <city>Nanjing</city>
            <country>China</country>
          </postal>
          <email>peng.shaofu@zte.com.cn</email>
        </address>
      </author>
      <author fullname="Liyan Gong" initials="L" surname="Gong">
        <organization showOnFrontPage="true">China Mobile</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>gongliyan@chinamobile.com</email>
        </address>
      </author>
      <author fullname="Rakesh Gandhi" initials="R" surname="Gandhi">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address>
          <postal>
            <country>Canada</country>
          </postal>
          <email>rgandhi@cisco.com</email>
        </address>
      </author>
      <author fullname="Carlos Pignataro" initials="C" surname="Pignataro">
        <organization showOnFrontPage="true">Blue Fern Consulting</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>carlos@bluefern.consulting</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
