<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" docName="draft-ietf-idr-bgp-ls-sr-policy-17" number="9857" consensus="true" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" prepTime="2025-10-29T11:56:59" indexInclude="true" scripts="Common,Latin">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-idr-bgp-ls-sr-policy-17" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9857" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Advertising SR Policies Using BGP-LS">Advertisement of Segment Routing Policies Using BGP - Link State</title>
    <seriesInfo name="RFC" value="9857" stream="IETF"/>
    <author fullname="Stefano Previdi" initials="S." surname="Previdi">
      <organization showOnFrontPage="true">Individual</organization>
      <address>
        <email>stefano@previdi.net</email>
      </address>
    </author>
    <author fullname="Ketan Talaulikar" initials="K." role="editor" surname="Talaulikar">
      <organization showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>ketant.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Jie Dong" initials="J." surname="Dong">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Huawei Campus, No. 156 Beiqing Rd.</street>
          <city>Beijing</city>
          <code>100095</code>
          <country>China</country>
        </postal>
        <email>jie.dong@huawei.com</email>
      </address>
    </author>
    <author fullname="Hannes Gredler" initials="H." surname="Gredler">
      <organization showOnFrontPage="true">RtBrick Inc.</organization>
      <address>
        <email>hannes@rtbrick.com</email>
      </address>
    </author>
    <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
      <organization showOnFrontPage="true">Nvidia</organization>
      <address>
        <email>jefftant.ietf@gmail.com</email>
      </address>
    </author>
    <date month="10" year="2025"/>
    <area>RTG</area>
    <workgroup>idr</workgroup>
    <keyword>BGP</keyword>
    <keyword>BGP-LS</keyword>
    <keyword>Segment Routing</keyword>
    <keyword>SR</keyword>
    <keyword>SR Policy</keyword>
    <keyword>SR-MPLS</keyword>
    <keyword>SRv6</keyword>
    <keyword>Traffic Engineering</keyword>
    <keyword>BGP SR Policy</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document describes a mechanism used to collect Segment Routing (SR)
      Policy information that is locally available in a node and advertise it
      into BGP - Link State (BGP-LS) updates. Such information can be used by
      external components for path computation, reoptimization, service
      placement, network visualization, etc.</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/rfc9857" 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>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" 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-carrying-sr-policy-informat">Carrying SR Policy Information in BGP</xref></t>
          </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-sr-policy-candidate-path-nl">SR Policy Candidate Path NLRI Type</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-headend-as-the-bg">SR Policy Headend as the BGP-LS Producer</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-pce-as-the-bgp-ls-producer">PCE as the BGP-LS Producer</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-sr-policy-candidate-path-de">SR Policy Candidate Path Descriptor</xref></t>
          </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-sr-policy-state-tlvs">SR Policy State TLVs</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-binding-sid-tlv">SR Binding SID TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-binding-sid-tlv">SRv6 Binding SID TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-candidate-path-state-tlv">SR Candidate Path State TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-policy-name-tlv">SR Policy Name TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-candidate-path-name-tlv">SR Candidate Path Name TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.6">
                <t indent="0" pn="section-toc.1-1.5.2.6.1"><xref derivedContent="5.6" format="counter" sectionFormat="of" target="section-5.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-candidate-path-constrain">SR Candidate Path Constraints TLV</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.6.2">
                  <li pn="section-toc.1-1.5.2.6.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.6.2.1.1"><xref derivedContent="5.6.1" format="counter" sectionFormat="of" target="section-5.6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-affinity-constraint-sub-">SR Affinity Constraint Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.6.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.6.2.2.1"><xref derivedContent="5.6.2" format="counter" sectionFormat="of" target="section-5.6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-srlg-constraint-sub-tlv">SR SRLG Constraint Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.6.2.3">
                    <t indent="0" pn="section-toc.1-1.5.2.6.2.3.1"><xref derivedContent="5.6.3" format="counter" sectionFormat="of" target="section-5.6.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-bandwidth-constraint-sub">SR Bandwidth Constraint Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.6.2.4">
                    <t indent="0" pn="section-toc.1-1.5.2.6.2.4.1"><xref derivedContent="5.6.4" format="counter" sectionFormat="of" target="section-5.6.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-disjoint-group-constrain">SR Disjoint Group Constraint Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.6.2.5">
                    <t indent="0" pn="section-toc.1-1.5.2.6.2.5.1"><xref derivedContent="5.6.5" format="counter" sectionFormat="of" target="section-5.6.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-bidirectional-group-cons">SR Bidirectional Group Constraint Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.6.2.6">
                    <t indent="0" pn="section-toc.1-1.5.2.6.2.6.1"><xref derivedContent="5.6.6" format="counter" sectionFormat="of" target="section-5.6.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-metric-constraint-sub-tl">SR Metric Constraint Sub-TLV</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.5.2.7">
                <t indent="0" pn="section-toc.1-1.5.2.7.1"><xref derivedContent="5.7" format="counter" sectionFormat="of" target="section-5.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-segment-list-tlv">SR Segment List TLV</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.7.2">
                  <li pn="section-toc.1-1.5.2.7.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.7.2.1.1"><xref derivedContent="5.7.1" format="counter" sectionFormat="of" target="section-5.7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-segment-sub-tlv">SR Segment Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.7.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.7.2.2.1"><xref derivedContent="5.7.2" format="counter" sectionFormat="of" target="section-5.7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-segment-list-metric-sub-">SR Segment List Metric Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.7.2.3">
                    <t indent="0" pn="section-toc.1-1.5.2.7.2.3.1"><xref derivedContent="5.7.3" format="counter" sectionFormat="of" target="section-5.7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-segment-list-bandwidth-s">SR Segment List Bandwidth Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.7.2.4">
                    <t indent="0" pn="section-toc.1-1.5.2.7.2.4.1"><xref derivedContent="5.7.4" format="counter" sectionFormat="of" target="section-5.7.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-segment-list-identifier-">SR Segment List Identifier Sub-TLV</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </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-procedures">Procedures</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-manageability-consideration">Manageability Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-ls-nlri-types">BGP-LS NLRI Types</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-ls-protocol-ids">BGP-LS Protocol-IDs</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.3">
                <t indent="0" pn="section-toc.1-1.8.2.3.1"><xref derivedContent="8.3" format="counter" sectionFormat="of" target="section-8.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-ls-tlvs">BGP-LS TLVs</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.4">
                <t indent="0" pn="section-toc.1-1.8.2.4.1"><xref derivedContent="8.4" format="counter" sectionFormat="of" target="section-8.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sr-policy-protocol-origin">SR Policy Protocol-Origin</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.5">
                <t indent="0" pn="section-toc.1-1.8.2.5.1"><xref derivedContent="8.5" format="counter" sectionFormat="of" target="section-8.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-ls-sr-segment-descripto">BGP-LS SR Segment Descriptors</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.6">
                <t indent="0" pn="section-toc.1-1.8.2.6.1"><xref derivedContent="8.6" format="counter" sectionFormat="of" target="section-8.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-ls-sr-policy-metric-typ">BGP-LS SR Policy Metric Type</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <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.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.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.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="Introduction" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">SR Policy architecture details are specified in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>. An SR Policy comprises one or more candidate paths
      of which at a given time one and only one may be active (i.e., installed
      in forwarding and usable for the steering of traffic). Each candidate path
      in turn may have one or more SID lists of which one or more SID lists may
      be active. When multiple SID lists are active, traffic is load
      balanced over them. This document covers the advertisement of state
      information at the individual SR Policy candidate path level.</t>
      <t indent="0" pn="section-1-2">SR Policies are generally instantiated at the headend and are based
      on either local configuration or controller-based programming of the
      node using various APIs and protocols (e.g., the Path Computation Element Communication Protocol (PCEP) or BGP).</t>
      <t indent="0" pn="section-1-3">In many network environments, the configuration and state of each SR
      Policy that is available in the network is required by controllers. Such
      controllers, which are aware of both topology and SR Policy state
      information, allow the network operator to optimize several functions
      and operations in their networks.</t>
      <t indent="0" pn="section-1-4">One example of a controller is the stateful Path Computation Element
      (PCE) <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, which can provide benefits in path
      optimization. While some extensions are proposed in the PCEP for Path Computation Clients
      (PCCs) to report Label Switched Path (LSP) states to the PCE, this mechanism may not be
      applicable in a management-based PCE architecture as specified in
      <xref target="RFC4655" sectionFormat="of" section="5.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4655#section-5.5" derivedContent="RFC4655"/>. As illustrated in the figure
      below, the PCC is not a Label Switching Router (LSR) in the routing domain, thus the headend
      nodes of the SR Policies may not implement the PCEP. In this
      case, a general mechanism to collect the SR Policy states from the
      ingress Label Edge Routers (LERs) is needed. This document proposes an SR Policy state
      collection mechanism complementary to the mechanism defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>.</t>
      <figure align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-management-based-pce-usage">Management-Based PCE Usage</name>
        <artwork name="" type="" align="left" alt="" pn="section-1-5.1">
                                 -----------
                                |   -----   |
            Service             |  | TED |&lt;-+-----------&gt;
            Request             |   -----   |  TED synchronization
               |                |     |     |  mechanism (e.g., the
               v                |     |     |  routing protocol)
         ------------- Request/ |     v     |
        |             | Response|   -----   |
        |     NMS     |&lt;--------+&gt; | PCE |  |
        |             |         |   -----   |
         -------------           -----------
       Service |
       Request |
               v
          ----------  Signaling   ----------
         | Headend  | Protocol   | Adjacent |
         |  Node    |&lt;----------&gt;|   Node   |
          ----------              ----------</artwork>
      </figure>
      <t indent="0" pn="section-1-6">In networks with composite PCE nodes as specified in
      <xref target="RFC4655" sectionFormat="of" section="5.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4655#section-5.1" derivedContent="RFC4655"/>, PCE is implemented on several routers in the
      network, and the PCCs in the network can use the mechanism described in
      <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> to report the SR Policy information to the PCE
      nodes. An external component may also need to collect the SR Policy
      information from all the PCEs in the network to obtain a global view of
      the state of all SR Policy paths in the network.</t>
      <t indent="0" pn="section-1-7">In multi-area or multi-AS scenarios, each area or AS can have a child
      PCE to collect the SR Policies in its domain. In addition, a parent PCE
      needs to collect SR Policy information from multiple child PCEs to
      obtain a global view of SR Policy paths inside and across the domains
      involved.</t>
      <t indent="0" pn="section-1-8">In another network scenario, a centralized controller is used for
      service placement. Obtaining the SR Policy state information is quite
      important for making appropriate service placement decisions with the
      purpose of both meeting the application's requirements and utilizing
      network resources efficiently.</t>
      <t indent="0" pn="section-1-9">The Network Management System (NMS) may need to provide global
      visibility of the SR Policies in the network as part of the network
      visualization function.</t>
      <t indent="0" pn="section-1-10">BGP has been extended to distribute link-state and Traffic
      Engineering (TE) information to external components <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>.
      Using the same protocol to collect SR Policy and state information is
      desirable for these external components since this avoids introducing
      multiple protocols for network topology information collection. This
      document describes a mechanism to distribute SR Policy information (both
      SR-MPLS and SRv6 <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>) to external components using
      BGP-LS and covers both explicit and dynamic candidate paths. The
      advertisements of a composite candidate path are outside the scope of this
      document.</t>
      <t indent="0" pn="section-1-11">The BGP-LS Producer <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/> that is originating the
      advertisement of SR Policy information can be either:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-12">
        <li pn="section-1-12.1">
          <t indent="0" pn="section-1-12.1.1">an SR Policy headend node or</t>
        </li>
        <li pn="section-1-12.2">
          <t indent="0" pn="section-1-12.2.1">a PCE that is receiving the SR Policy information from its PCCs
          (i.e., SR Policy headend nodes) via PCEP</t>
        </li>
      </ul>
      <t indent="0" pn="section-1-13">The extensions specified in this document complement the BGP SR
      Policy SAFI <xref target="RFC9830" format="default" sectionFormat="of" derivedContent="RFC9830"/> <xref target="RFC9831" format="default" sectionFormat="of" derivedContent="RFC9831"/> and are used to advertise
      SR Policies from controllers to the headend routers using BGP by
      enabling the reporting of the operational state of those SR Policies
      back from the headend to the controllers.</t>
      <t indent="0" pn="section-1-14">While this document focuses on SR Policies, <xref target="I-D.ietf-idr-bgp-ls-te-path" format="default" sectionFormat="of" derivedContent="BGP-LS-TE-PATH"/> introduces further extensions to
      support other TE paths such as MPLS-TE LSPs.</t>
      <t indent="0" pn="section-1-15">The encodings specified in this document (specifically in Sections <xref target="SRPOLICYCP" format="counter" sectionFormat="of" derivedContent="4"/> and <xref target="SRPOLICYTLVS" format="counter" sectionFormat="of" derivedContent="5"/>) make use of
      flags that convey various types of information of the SR Policy. The
      document uses the term "set" to indicate that the value of a flag bit is
      1 and the term "clear" when the value is 0.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.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>
    <section anchor="TEINFOINBGP" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-carrying-sr-policy-informat">Carrying SR Policy Information in BGP</name>
      <t indent="0" pn="section-2-1">The "Link-State Network Layer Reachability Information (NLRI)" defined in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/> is extended
      to carry the SR Policy information. New TLVs carried in the BGP-LS
      Attribute defined in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/> are also
      defined to carry the attributes of an SR Policy in the subsequent
      sections.</t>
      <t indent="0" pn="section-2-2">The format of the Link-State NLRI is defined in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/> as follows:</t>
      <figure align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-bgp-ls-nlri-format">BGP-LS NLRI Format</name>
        <artwork align="center" name="" type="" alt="" pn="section-2-3.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            NLRI Type          |     Total NLRI Length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
//                  Link-State NLRI (variable)                 //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      </figure>
      <t indent="0" pn="section-2-4">An additional NLRI Type known as "SR Policy Candidate Path NLRI"
      (value 5) is defined for the advertisement of SR Policy Information.</t>
      <t indent="0" pn="section-2-5">This SR Policy Candidate Path NLRI is used to report the state
      details of individual SR Policy candidate paths along with their
      underlying segment lists.</t>
    </section>
    <section anchor="TEPOLICYNLRI" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-sr-policy-candidate-path-nl">SR Policy Candidate Path NLRI Type</name>
      <t indent="0" pn="section-3-1">This document defines the SR Policy Candidate Path NLRI type with its
      format as shown in the following figure:</t>
      <figure align="left" suppress-title="false" pn="figure-3">
        <name slugifiedName="name-sr-policy-candidate-path-nlr">SR Policy Candidate Path NLRI Format</name>
        <artwork align="center" name="" type="" alt="" pn="section-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
+-+-+-+-+-+-+-+-+
|  Protocol-ID  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Identifier                             |
|                        (64 bits)                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//        Local Node Descriptors TLV (for the Headend)         //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//           SR Policy Candidate Path Descriptor TLV           //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      </figure>
      <t indent="0" pn="section-3-3">Where:</t>
      <dl spacing="normal" indent="3" newline="false" pn="section-3-4">
        <dt pn="section-3-4.1">Protocol-ID field:</dt>
        <dd pn="section-3-4.2"> Specifies the component that owns the SR Policy
          state in the advertising node. An additional Protocol-ID "Segment
          Routing" (value 9) is introduced by this document that <bcp14>MUST</bcp14> be used
          for the advertisement of SR Policies.</dd>
        <dt pn="section-3-4.3">Identifier:</dt>
        <dd pn="section-3-4.4">An 8-octet value as defined in 
          <xref target="RFC9552" sectionFormat="of" section="5.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-5.2" derivedContent="RFC9552"/>.</dd>
        <dt pn="section-3-4.5">Local Node Descriptors (TLV 256):</dt>
        <dd pn="section-3-4.6">Defined in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/> and
          used as specified further in this section.</dd>
        <dt pn="section-3-4.7">SR Policy Candidate Path Descriptor TLV:</dt>
        <dd pn="section-3-4.8">Specified in <xref target="SRPOLICYCP" format="default" sectionFormat="of" derivedContent="Section 4"/>.</dd>
      </dl>
      <t indent="0" pn="section-3-5">The Local Node Descriptors TLV carries information that only
      identifies the headend node of the SR Policy irrespective of whether the
      BGP-LS Producer is a headend or a PCE node.</t>
      <t indent="0" pn="section-3-6">The Local Node Descriptors TLV <bcp14>MUST</bcp14> include at least one of the
      following Node Descriptor TLVs:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3-7">
        <li pn="section-3-7.1">
          <t indent="0" pn="section-3-7.1.1">IPv4 Router-ID of Local Node (TLV 1028) <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>,
          which identifies the headend node of the SR Policy as specified in
          <xref target="RFC9256" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>.</t>
        </li>
        <li pn="section-3-7.2">
          <t indent="0" pn="section-3-7.2.1">IPv6 Router-ID of Local Node (TLV 1029) <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>,
          which identifies the headend node of the SR Policy as specified in
          <xref target="RFC9256" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>.</t>
        </li>
      </ul>
      <t indent="0" pn="section-3-8">The following subsections describe the encoding of sub-TLVs within
      the Local Node Descriptors TLV depending on which node is the BGP-LS
      Producer.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-sr-policy-headend-as-the-bg">SR Policy Headend as the BGP-LS Producer</name>
        <t indent="0" pn="section-3.1-1">The Local Node Descriptors TLV <bcp14>MUST</bcp14> include the following Node
        Descriptor TLVs when the headend node is the BGP-LS Producer:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1-2">
          <li pn="section-3.1-2.1">
            <t indent="0" pn="section-3.1-2.1.1">BGP Router-ID (TLV 516) <xref target="RFC9086" format="default" sectionFormat="of" derivedContent="RFC9086"/>, which
            contains a valid BGP Identifier of the headend node of the SR
            Policy.</t>
          </li>
          <li pn="section-3.1-2.2">
            <t indent="0" pn="section-3.1-2.2.1">Autonomous System (TLV 512) <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>,
            which contains the Autonomous System Number (ASN) (or AS Confederation Identifier <xref target="RFC5065" format="default" sectionFormat="of" derivedContent="RFC5065"/>, if confederations are used) of the headend
            node of the SR Policy.</t>
          </li>
        </ul>
        <t indent="0" pn="section-3.1-3">The Local Node Descriptors TLV <bcp14>MAY</bcp14> include the following Node
        Descriptor TLVs when the headend node is the BGP-LS Producer:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1-4">
          <li pn="section-3.1-4.1">
            <t indent="0" pn="section-3.1-4.1.1">BGP Confederation Member (TLV 517) <xref target="RFC9086" format="default" sectionFormat="of" derivedContent="RFC9086"/>,
            which contains the ASN of the confederation member (i.e., Member-AS
            Number); if BGP confederations are used, it contains the headend node of the
            SR Policy.</t>
          </li>
          <li pn="section-3.1-4.2">
            <t indent="0" pn="section-3.1-4.2.1">Other Node Descriptors as defined in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>
            to identify the headend node of the SR Policy. The determination
            of whether the IGP Router-ID (TLV 515) contains a 4-octet
            OSPF Router-ID or a 6-octet ISO System-ID is to be done based on
            the length of that sub-TLV as the Protocol-ID in the NLRI is
            always going to be "Segment Routing".</t>
          </li>
        </ul>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-pce-as-the-bgp-ls-producer">PCE as the BGP-LS Producer</name>
        <t indent="0" pn="section-3.2-1">The PCE node <bcp14>MUST NOT</bcp14> include its identifiers in the Node
        Descriptor TLV in the NLRI as the Node Descriptor TLV <bcp14>MUST</bcp14> only carry
        the identifiers of the SR Policy headend.</t>
        <t indent="0" pn="section-3.2-2">The Local Node Descriptors TLV <bcp14>MAY</bcp14> include the following Node
        Descriptor TLVs when the PCE node is the BGP-LS Producer and it has
        this information about the headend (e.g., as part of its topology
        database):</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.2-3">
          <li pn="section-3.2-3.1">
            <t indent="0" pn="section-3.2-3.1.1">BGP Router-ID (TLV 516) <xref target="RFC9086" format="default" sectionFormat="of" derivedContent="RFC9086"/>, which
            contains a valid BGP Identifier of the headend node of the SR
            Policy.</t>
          </li>
          <li pn="section-3.2-3.2">
            <t indent="0" pn="section-3.2-3.2.1">Autonomous System (TLV 512) <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>,
            which contains the ASN (or AS Confederation Identifier <xref target="RFC5065" format="default" sectionFormat="of" derivedContent="RFC5065"/>, if confederations are used) of the headend
            node of the SR Policy.</t>
          </li>
          <li pn="section-3.2-3.3">
            <t indent="0" pn="section-3.2-3.3.1">BGP Confederation Member (TLV 517) <xref target="RFC9086" format="default" sectionFormat="of" derivedContent="RFC9086"/>,
            which contains the ASN of the confederation member (i.e., Member-AS
            Number); if BGP confederations are used, it contains the headend node of the
            SR Policy.</t>
          </li>
          <li pn="section-3.2-3.4">
            <t indent="0" pn="section-3.2-3.4.1">Other Node Descriptors as defined in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>
            to identify the headend node of the SR Policy.
	    The determination
            of whether the IGP Router-ID (TLV 515) contains a 4-octet
            OSPF Router-ID or a 6-octet ISO System-ID is to be done based on
            the length of that sub-TLV since the Protocol-ID in the NLRI is
            always going to be "Segment Routing".</t>
          </li>
        </ul>
        <t indent="0" pn="section-3.2-4">When a PCE node is functioning as the
        BGP-LS Producer on behalf of one or more headends, it <bcp14>MAY</bcp14> include its
        own BGP Router-ID (TLV 516), Autonomous System (TLV 512), or
        BGP Confederation Member (TLV 517) in the BGP-LS Attribute.</t>
      </section>
    </section>
    <section anchor="SRPOLICYCP" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-sr-policy-candidate-path-de">SR Policy Candidate Path Descriptor</name>
      <t indent="0" pn="section-4-1">The SR Policy Candidate Path Descriptor TLV identifies an SR Policy candidate path as defined in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>. It
      is a mandatory TLV for the SR Policy Candidate Path NLRI type. The TLV has
      the following format: </t>
      <figure align="left" suppress-title="false" pn="figure-4">
        <name slugifiedName="name-sr-policy-candidate-path-des">SR Policy Candidate Path Descriptor Format</name>
        <artwork align="center" name="" type="" alt="" pn="section-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              |          Length               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin|    Flags      |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Endpoint (4 or 16 octets)                //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Policy Color (4 octets)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Originator AS Number (4 octets)                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Originator Address (4 or 16 octets)             //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Discriminator (4 octets)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      </figure>
      <t indent="0" pn="section-4-3">Where:</t>
      <dl spacing="normal" newline="false" indent="3" pn="section-4-4">
        <dt pn="section-4-4.1">Type:</dt>
        <dd pn="section-4-4.2">554</dd>
        <dt pn="section-4-4.3">Length:</dt>
        <dd pn="section-4-4.4">Variable (valid values are 24, 36, or 48 octets)</dd>
        <dt pn="section-4-4.5">Protocol-Origin:</dt>
        <dd pn="section-4-4.6">1-octet field that identifies the protocol or
        component that is responsible for the instantiation of this path as
        specified in <xref target="RFC9256" sectionFormat="of" section="2.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.3" derivedContent="RFC9256"/>. The protocol-origin code points to be used are listed
        in <xref target="PROTOCOLORIGINS" format="default" sectionFormat="of" derivedContent="Section 8.4"/>.</dd>
        <dt pn="section-4-4.7">Flags:</dt>
        <dd pn="section-4-4.8">
          <t indent="0" pn="section-4-4.8.1">1-octet field with the following bit positions
        defined. Other bits <bcp14>MUST</bcp14> be cleared by the originator
        and <bcp14>MUST</bcp14> be ignored by a receiver.</t>
          <artwork name="" type="" align="left" alt="" pn="section-4-4.8.2">
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|E|O|           |
+-+-+-+-+-+-+-+-+</artwork>
          <t indent="0" pn="section-4-4.8.3">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-4-4.8.4">
            <dt pn="section-4-4.8.4.1">E-Flag:</dt>
            <dd pn="section-4-4.8.4.2">Indicates the encoding of an endpoint as an IPv6
            address when set and an IPv4 address when clear.</dd>
            <dt pn="section-4-4.8.4.3">O-Flag:</dt>
            <dd pn="section-4-4.8.4.4">Indicates the encoding of the originator address
            as an IPv6 address when set and an IPv4 address when clear.</dd>
          </dl>
        </dd>
        <dt pn="section-4-4.9">Reserved:</dt>
        <dd pn="section-4-4.10">2 octets that <bcp14>MUST</bcp14> be set to 0
        by the originator and <bcp14>MUST</bcp14> be ignored by a
        receiver.</dd>
        <dt pn="section-4-4.11">Endpoint:</dt>
        <dd pn="section-4-4.12">4 or 16 octets (as indicated by the flags)
        containing the address of the endpoint of the SR Policy as specified
        in <xref target="RFC9256" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>.</dd>
        <dt pn="section-4-4.13">Policy  Color:</dt>
        <dd pn="section-4-4.14">4 octets that indicate the color of the SR Policy
        as specified in <xref target="RFC9256" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>.</dd>
        <dt pn="section-4-4.15">Originator ASN:</dt>
        <dd pn="section-4-4.16">4 octets to carry the 4-byte encoding of
        the ASN of the originator. Refer to <xref target="RFC9256" sectionFormat="of" section="2.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.4" derivedContent="RFC9256"/> for details.</dd>
        <dt pn="section-4-4.17">Originator Address:</dt>
        <dd pn="section-4-4.18">4 or 16 octets (as indicated by the
        flags) to carry the address of the originator. Refer to <xref target="RFC9256" sectionFormat="of" section="2.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.4" derivedContent="RFC9256"/> for details.</dd>
        <dt pn="section-4-4.19">Discriminator:</dt>
        <dd pn="section-4-4.20">4 octets to carry the discriminator of the
        path.  Refer to <xref target="RFC9256" sectionFormat="of" section="2.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.5" derivedContent="RFC9256"/> for details.</dd>
      </dl>
    </section>
    <section anchor="SRPOLICYTLVS" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-sr-policy-state-tlvs">SR Policy State TLVs</name>
      <t indent="0" pn="section-5-1">This section defines the various TLVs that enable the headend to
      report the state at the SR Policy candidate path level. These TLVs (and
      their sub-TLVs) are carried in the optional non-transitive BGP-LS
      Attribute defined in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/> and are associated with the SR
      Policy Candidate Path NLRI type.</t>
      <t indent="0" pn="section-5-2">The detailed procedures for the advertisement are described in <xref target="Procedures" format="default" sectionFormat="of" derivedContent="Section 6"/>.</t>
      <section anchor="CPBSID" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-sr-binding-sid-tlv">SR Binding SID TLV</name>
        <t indent="0" pn="section-5.1-1">The SR Binding Segment Identifier (BSID) is an optional TLV that is used to report
        the BSID and its attributes for the SR Policy candidate path. The TLV
        <bcp14>MAY</bcp14> also optionally contain the Specified BSID value for reporting as
        described in <xref target="RFC9256" sectionFormat="of" section="6.2.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-6.2.3" derivedContent="RFC9256"/>. Only a single
        instance of this TLV is advertised for a given candidate path. If
        multiple instances are present, then the first valid one (i.e., not
        determined to be malformed as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is used and the rest are ignored.</t>
        <t indent="0" pn="section-5.1-2">The TLV has the following format:</t>
        <figure align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-sr-binding-sid-tlv-format">SR Binding SID TLV Format</name>
          <artwork align="left" name="" type="" alt="" pn="section-5.1-3.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             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           BSID Flags          |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Binding SID (4 or 16 octets)               //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Specified Binding SID (4 or 16 octets)         //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <t indent="0" pn="section-5.1-4">Where:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-5.1-5">
          <dt pn="section-5.1-5.1">Type:</dt>
          <dd pn="section-5.1-5.2">1201</dd>
          <dt pn="section-5.1-5.3">Length:</dt>
          <dd pn="section-5.1-5.4">Variable (valid values are 12 or 36 octets)</dd>
          <dt pn="section-5.1-5.5">BSID Flags:</dt>
          <dd pn="section-5.1-5.6">
            <t indent="0" pn="section-5.1-5.6.1">2-octet field that indicates the attribute and
          status of the Binding SID (BSID) associated with this candidate
          path. The following bit positions are defined, and the semantics are
          described in detail in <xref target="RFC9256" sectionFormat="of" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-6.2" derivedContent="RFC9256"/>.  Other bits <bcp14>MUST</bcp14> be cleared by the
          originator and <bcp14>MUST</bcp14> be ignored by a receiver.</t>
            <artwork name="" type="" align="left" alt="" pn="section-5.1-5.6.2">
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|D|B|U|L|F|                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
            <t indent="0" pn="section-5.1-5.6.3">Where:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-5.1-5.6.4">
              <dt pn="section-5.1-5.6.4.1">D-Flag:</dt>
              <dd pn="section-5.1-5.6.4.2">Indicates the data plane for the BSIDs and if
              a BSID is a 16-octet SRv6 SID (when set) or 4-octet SR/MPLS
              label value (when clear).</dd>
              <dt pn="section-5.1-5.6.4.3">B-Flag:</dt>
              <dd pn="section-5.1-5.6.4.4">Indicates the allocation of the value in the
              BSID field when set and that BSID is not allocated
              when clear.</dd>
              <dt pn="section-5.1-5.6.4.5">U-Flag:</dt>
              <dd pn="section-5.1-5.6.4.6">Indicates that the specified BSID value is
              unavailable when set. When clear, it indicates that this
              candidate path is using the specified BSID. This flag is ignored
              when there is no specified BSID.</dd>
              <dt pn="section-5.1-5.6.4.7">L-Flag:</dt>
              <dd pn="section-5.1-5.6.4.8">Indicates that the BSID value is from the Segment
              Routing Local Block (SRLB) of the headend node when set and
              from the local dynamic label pool when clear.</dd>
              <dt pn="section-5.1-5.6.4.9">F-Flag:</dt>
              <dd pn="section-5.1-5.6.4.10">Indicates that the BSID value is one allocated
              from a dynamic label pool due to fallback (e.g., when a specified
              BSID is unavailable) when set and that there has been
              no fallback for BSID allocation when clear.</dd>
            </dl>
          </dd>
          <dt pn="section-5.1-5.7">RESERVED:</dt>
          <dd pn="section-5.1-5.8">2 octets. <bcp14>MUST</bcp14> be set to 0 by
          the originator and <bcp14>MUST</bcp14> be ignored by a receiver.</dd>
          <dt pn="section-5.1-5.9">Binding SID:</dt>
          <dd pn="section-5.1-5.10">Indicates the operational or allocated
          BSID value based on the status flags.</dd>
          <dt pn="section-5.1-5.11">Specified BSID:</dt>
          <dd pn="section-5.1-5.12">Used to report the explicitly
          specified BSID value regardless of whether it is successfully
          allocated or not. The field is set to value 0 when the BSID has not been
          specified.</dd>
        </dl>
        <t indent="0" pn="section-5.1-6">The BSID fields above depend on the data plane (SRv6 or MPLS)
        indicated by the D-flag. If the D-flag is set (SRv6 data plane), then the
        length of the BSID fields is 16 octets. If the D-flag is clear (MPLS
        data plane), then the length of the BSID fields is 4 octets. When
        carrying the MPLS Label, as shown in the figure below, the TC, S, and
        TTL (total of 12 bits) are RESERVED and <bcp14>MUST</bcp14> be set to 0 by the
        originator and <bcp14>MUST</bcp14> be ignored by a receiver.</t>
        <figure align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-sr-binding-sid-label-format">SR Binding SID Label Format</name>
          <artwork name="" type="" align="left" alt="" pn="section-5.1-7.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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |          Label                        | TC  |S|       TTL     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <t indent="0" pn="section-5.1-8">In the case of an SRv6, the SR Binding SID sub-TLV does not have
        the ability to signal the SRv6 Endpoint behavior <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/> or the structure of the
        SID. Therefore, the SR Binding SID sub-TLV <bcp14>SHOULD NOT</bcp14>
        be used for the advertisement of an SRv6 Binding SID. Instead, the
        SRv6 Binding SID TLV defined in <xref target="CPBSIDSRV6" format="default" sectionFormat="of" derivedContent="Section 5.2"/> <bcp14>SHOULD</bcp14> be used for the signaling of an
        SRv6 Binding SID. The use of the SR Binding SID sub-TLV for
        advertisement of the SRv6 Binding SID has been deprecated, and it is
        documented here only for backward compatibility with implementations
        that followed early draft versions of this specification.</t>
      </section>
      <section anchor="CPBSIDSRV6" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-srv6-binding-sid-tlv">SRv6 Binding SID TLV</name>
        <t indent="0" pn="section-5.2-1">The SRv6 Binding SID (BSID) is an optional TLV that is used to
        report the SRv6 BSID and its attributes for the SR Policy candidate
        path. The TLV <bcp14>MAY</bcp14> also optionally contain the Specified SRv6 BSID
        value for reporting as described in <xref target="RFC9256" sectionFormat="of" section="6.2.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-6.2.3" derivedContent="RFC9256"/>. Multiple instances of this TLV may be used to
        report each of the SRv6 BSIDs associated with the candidate path.</t>
        <t indent="0" pn="section-5.2-2">The TLV has the following format:</t>
        <figure align="left" suppress-title="false" pn="figure-7">
          <name slugifiedName="name-srv6-binding-sid-tlv-format">SRv6 Binding SID TLV Format</name>
          <artwork align="left" name="" type="" alt="" pn="section-5.2-3.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             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           BSID Flags          |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Binding SID (16 octets)                   //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Specified Binding SID (16 octets)             //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//   sub-TLVs (variable)                                       //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <t indent="0" pn="section-5.2-4">Where:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-5.2-5">
          <dt pn="section-5.2-5.1">Type:</dt>
          <dd pn="section-5.2-5.2">1212</dd>
          <dt pn="section-5.2-5.3">Length:</dt>
          <dd pn="section-5.2-5.4">Variable</dd>
          <dt pn="section-5.2-5.5">BSID Flags:</dt>
          <dd pn="section-5.2-5.6">
            <t indent="0" pn="section-5.2-5.6.1">2-octet field that indicates the attribute
          and status of the BSID associated with this candidate
          path. The following bit positions are defined, and the semantics are
          described in detail in <xref target="RFC9256" sectionFormat="of" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-6.2" derivedContent="RFC9256"/>.  Other bits <bcp14>MUST</bcp14> be cleared by the
          originator and <bcp14>MUST</bcp14> be ignored by a receiver.</t>
            <artwork name="" type="" align="left" alt="" pn="section-5.2-5.6.2">
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|B|U|F|                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
            <t indent="0" pn="section-5.2-5.6.3">Where:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-5.2-5.6.4">
              <dt pn="section-5.2-5.6.4.1">B-Flag:</dt>
              <dd pn="section-5.2-5.6.4.2">Indicates the allocation of the value in the
              BSID field when set and that BSID is not allocated
              when clear.</dd>
              <dt pn="section-5.2-5.6.4.3">U-Flag:</dt>
              <dd pn="section-5.2-5.6.4.4">Indicates the specified BSID value is
              unavailable when set. When clear, it indicates that this
              candidate path is using the specified BSID. This flag is ignored
              when there is no specified BSID.</dd>
              <dt pn="section-5.2-5.6.4.5">F-Flag:</dt>
              <dd pn="section-5.2-5.6.4.6">Indicates that the BSID value is one allocated
              dynamically due to fallback (e.g., when the specified BSID is
              unavailable) when set and that there has been no
              fallback for BSID allocation when clear.</dd>
            </dl>
          </dd>
          <dt pn="section-5.2-5.7">RESERVED:</dt>
          <dd pn="section-5.2-5.8">2 octets. <bcp14>MUST</bcp14> be set to 0 by
          the originator and <bcp14>MUST</bcp14> be ignored by a receiver.</dd>
          <dt pn="section-5.2-5.9">Binding SID:</dt>
          <dd pn="section-5.2-5.10">Indicates the operational or allocated
          BSID value based on the status flags.</dd>
          <dt pn="section-5.2-5.11">Specified BSID:</dt>
          <dd pn="section-5.2-5.12">Used to report the explicitly
          specified BSID value regardless of whether it is successfully
          allocated or not. The field is set to value 0 when the BSID has not been
          specified.</dd>
          <dt pn="section-5.2-5.13">Sub-TLVs:</dt>
          <dd pn="section-5.2-5.14">Variable and contain any other optional
          attributes associated with the SRv6 BSID.</dd>
        </dl>
        <t indent="0" pn="section-5.2-6">The SRv6 Endpoint Behavior TLV (1250) and the SRv6 SID Structure
        TLV (1252) <bcp14>MAY</bcp14> optionally be used as sub-TLVs of the SRv6 Binding SID
        TLV to indicate the SRv6 Endpoint behavior and SID structure for the
        Binding SID value in the TLV. <xref target="RFC9514" format="default" sectionFormat="of" derivedContent="RFC9514"/> defines the SRv6
        Endpoint Behavior TLV and the SRv6 SID Structure TLV.</t>
      </section>
      <section anchor="CPSTATE" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-sr-candidate-path-state-tlv">SR Candidate Path State TLV</name>
        <t indent="0" pn="section-5.3-1">The SR Candidate Path State TLV provides the operational status and
        attributes of the SR Policy at the candidate path level. Only a single
        instance of this TLV is advertised for a given candidate path. If
        multiple instances are present, then the first valid one (i.e., not
        determined to be malformed as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is used and the rest are ignored.</t>
        <t indent="0" pn="section-5.3-2">The TLV has the following format:</t>
        <figure align="left" suppress-title="false" pn="figure-8">
          <name slugifiedName="name-sr-candidate-path-state-tlv-">SR Candidate Path State TLV Format</name>
          <artwork align="left" name="" type="" alt="" pn="section-5.3-3.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             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Priority    |   RESERVED    |              Flags            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Preference (4 octets)                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <t indent="0" pn="section-5.3-4">Where:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-5.3-5">
          <dt pn="section-5.3-5.1">Type:</dt>
          <dd pn="section-5.3-5.2">1202</dd>
          <dt pn="section-5.3-5.3">Length:</dt>
          <dd pn="section-5.3-5.4">8 octets</dd>
          <dt pn="section-5.3-5.5">Priority:</dt>
          <dd pn="section-5.3-5.6">1-octet value that indicates the priority of the
            candidate path. Refer to <xref target="RFC9256" sectionFormat="of" section="2.12" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.12" derivedContent="RFC9256"/>.</dd>
          <dt pn="section-5.3-5.7">RESERVED:</dt>
          <dd pn="section-5.3-5.8">1 octet. <bcp14>MUST</bcp14> be set to 0 by the originator and <bcp14>MUST</bcp14>
            be ignored by a receiver.</dd>
          <dt pn="section-5.3-5.9">Flags:</dt>
          <dd pn="section-5.3-5.10">
            <t indent="0" pn="section-5.3-5.10.1">2-octet field that indicates the attribute and status of the
            candidate path. The following bit positions are defined, and the
            semantics are described in <xref target="RFC9256" sectionFormat="of" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-5" derivedContent="RFC9256"/>
            unless stated otherwise for individual flags. Other bits <bcp14>MUST</bcp14> be
            cleared by the originator and <bcp14>MUST</bcp14> be ignored by a
            receiver.</t>
            <artwork name="" type="" align="left" alt="" pn="section-5.3-5.10.2">
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|A|B|E|V|O|D|C|I|T|U|         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
            <t indent="0" pn="section-5.3-5.10.3">Where:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-5.3-5.10.4">
              <dt pn="section-5.3-5.10.4.1">S-Flag:</dt>
              <dd pn="section-5.3-5.10.4.2">Indicates that the candidate path is in an
                administrative shut state when set and not in an administrative
                shut state when clear.</dd>
              <dt pn="section-5.3-5.10.4.3">A-Flag:</dt>
              <dd pn="section-5.3-5.10.4.4">Indicates that the candidate path is the active path
                (i.e., one provisioned in the forwarding plane as specified in
                <xref target="RFC9256" sectionFormat="of" section="2.9" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.9" derivedContent="RFC9256"/>) for the SR Policy
                when set and not the active path when clear.</dd>
              <dt pn="section-5.3-5.10.4.5">B-Flag:</dt>
              <dd pn="section-5.3-5.10.4.6">Indicates that the candidate path is the backup path
                (i.e., one identified for path protection of the active path as
                specified in <xref target="RFC9256" sectionFormat="of" section="9.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-9.3" derivedContent="RFC9256"/>) for the
                SR Policy when set and not the backup path when clear.</dd>
              <dt pn="section-5.3-5.10.4.7">E-Flag:</dt>
              <dd pn="section-5.3-5.10.4.8">Indicates that the candidate path has been
                evaluated for validity (e.g., headend may evaluate candidate
                paths based on their preferences) when set and has not been
                evaluated for validity when clear.</dd>
              <dt pn="section-5.3-5.10.4.9">V-Flag:</dt>
              <dd pn="section-5.3-5.10.4.10">Indicates that the candidate path has at least one valid
                SID list when set and that no valid SID list is available
                or evaluated when clear. When the E-flag is clear (i.e., the
                candidate path has not been evaluated), then this flag <bcp14>MUST</bcp14> be
                set to 0 by the originator and <bcp14>MUST</bcp14> be ignored by a receiver.</dd>
              <dt pn="section-5.3-5.10.4.11">O-Flag:</dt>
              <dd pn="section-5.3-5.10.4.12">Indicates that the candidate path was instantiated by
                the headend due to an on-demand next hop trigger based on a
                local template when set and that the candidate path has not
                been instantiated due to an on-demand next hop trigger when clear.
                Refer to <xref target="RFC9256" sectionFormat="of" section="8.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-8.5" derivedContent="RFC9256"/> for
                details.</dd>
              <dt pn="section-5.3-5.10.4.13">D-Flag:</dt>
              <dd pn="section-5.3-5.10.4.14">Indicates that the candidate path was delegated for
                computation to a PCE/controller when set and that
                the candidate path has not been delegated for computation when
                clear.</dd>
              <dt pn="section-5.3-5.10.4.15">C-Flag:</dt>
              <dd pn="section-5.3-5.10.4.16">Indicates that the candidate path was provisioned by a
                PCE/controller when set and that the candidate path
                was not provisioned by a PCE/controller when clear.</dd>
              <dt pn="section-5.3-5.10.4.17">I-Flag:</dt>
              <dd pn="section-5.3-5.10.4.18">Indicates that the candidate path is to perform the
                "Drop-Upon-Invalid" behavior when no other valid candidate
                path is available for this SR Policy when the flag is set.
                Refer to <xref target="RFC9256" sectionFormat="of" section="8.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-8.2" derivedContent="RFC9256"/> for details.
                When clear, it indicates that the candidate path is not
                enabled for the "Drop-Upon-Invalid" behavior.</dd>
              <dt pn="section-5.3-5.10.4.19">T-Flag:</dt>
              <dd pn="section-5.3-5.10.4.20">Indicates that the candidate path has been marked as
                eligible for use as a transit policy on the headend when set
                and not eligible for use as a transit policy when clear.
                Transit policy is a policy whose BSID can be used in the
                segment list of another SR Policy. Refer to 
                <xref target="RFC9256" sectionFormat="of" section="8.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-8.3" derivedContent="RFC9256"/> for steering into a transit policy
                using its BSID.</dd>
              <dt pn="section-5.3-5.10.4.21">U-Flag:</dt>
              <dd pn="section-5.3-5.10.4.22">Indicates that the candidate path is reported as
                active and is dropping traffic as a result of the "Drop-Upon-Invalid"
                behavior being activated for the SR Policy when set.
                When clear, it indicates that the candidate path is not
                dropping traffic as a result of the "Drop-Upon-Invalid"
                behavior. Refer to <xref target="RFC9256" sectionFormat="of" section="8.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-8.2" derivedContent="RFC9256"/> for
                details.</dd>
            </dl>
          </dd>
          <dt pn="section-5.3-5.11">Preference:</dt>
          <dd pn="section-5.3-5.12">4-octet value that indicates the preference of the
            candidate path. Refer to <xref target="RFC9256" sectionFormat="of" section="2.7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.7" derivedContent="RFC9256"/>
            for details.</dd>
        </dl>
      </section>
      <section anchor="POLNAME" numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-sr-policy-name-tlv">SR Policy Name TLV</name>
        <t indent="0" pn="section-5.4-1">The SR Policy Name TLV is an optional TLV that is used to carry the
        symbolic name associated with the SR Policy. Only a single instance of
        this TLV is advertised for a given candidate path. If multiple
        instances are present, then the first valid one (i.e., not determined to
        be malformed as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is
        used and the rest are ignored.</t>
        <t indent="0" pn="section-5.4-2">The TLV has the following format:</t>
        <figure align="left" suppress-title="false" pn="figure-9">
          <name slugifiedName="name-sr-policy-name-tlv-format">SR Policy Name TLV Format</name>
          <artwork align="left" name="" type="" alt="" pn="section-5.4-3.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            |              Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   SR Policy Name (variable)                  //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <t indent="0" pn="section-5.4-4">Where:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-5.4-5">
          <dt pn="section-5.4-5.1">Type:</dt>
          <dd pn="section-5.4-5.2">1213</dd>
          <dt pn="section-5.4-5.3">Length:</dt>
          <dd pn="section-5.4-5.4">Variable</dd>
          <dt pn="section-5.4-5.5">SR Policy Name:</dt>
          <dd pn="section-5.4-5.6">Symbolic name for the SR Policy without a NUL
            terminator as specified in <xref target="RFC9256" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.1" derivedContent="RFC9256"/>. It is <bcp14>RECOMMENDED</bcp14> that the size of the
            symbolic name be limited to 255 bytes. Implementations <bcp14>MAY</bcp14> choose
            to truncate long names to 255 bytes when signaling via BGP-LS.</dd>
        </dl>
      </section>
      <section anchor="CPNAME" numbered="true" toc="include" removeInRFC="false" pn="section-5.5">
        <name slugifiedName="name-sr-candidate-path-name-tlv">SR Candidate Path Name TLV</name>
        <t indent="0" pn="section-5.5-1">The SR Candidate Path Name TLV is an optional TLV that is used to
        carry the symbolic name associated with the candidate path. Only a
        single instance of this TLV is advertised for a given candidate path.
        If multiple instances are present, then the first valid one (i.e., not
        determined to be malformed as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is used and the rest are ignored.</t>
        <t indent="0" pn="section-5.5-2">The TLV has the following format:</t>
        <figure align="left" suppress-title="false" pn="figure-10">
          <name slugifiedName="name-sr-candidate-path-name-tlv-">SR Candidate Path Name TLV Format</name>
          <artwork align="left" name="" type="" alt="" pn="section-5.5-3.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            |              Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Candidate Path Name (variable)                //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <t indent="0" pn="section-5.5-4">Where:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-5.5-5">
          <dt pn="section-5.5-5.1">Type:</dt>
          <dd pn="section-5.5-5.2">1203</dd>
          <dt pn="section-5.5-5.3">Length:</dt>
          <dd pn="section-5.5-5.4">Variable</dd>
          <dt pn="section-5.5-5.5">Candidate Path Name:</dt>
          <dd pn="section-5.5-5.6">Symbolic name for the SR Policy
            candidate path without a NUL terminator as specified in <xref target="RFC9256" sectionFormat="of" section="2.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.6" derivedContent="RFC9256"/>. It is
            <bcp14>RECOMMENDED</bcp14> that the size of the symbolic name be
            limited to 255 bytes. Implementations <bcp14>MAY</bcp14> choose to
            truncate long names to 255 bytes when signaling via BGP-LS.</dd>
        </dl>
      </section>
      <section anchor="CPCONSTRAINTS" numbered="true" toc="include" removeInRFC="false" pn="section-5.6">
        <name slugifiedName="name-sr-candidate-path-constrain">SR Candidate Path Constraints TLV</name>
        <t indent="0" pn="section-5.6-1">The SR Candidate Path Constraints TLV is an optional TLV that is
        used to report the constraints associated with the candidate path. The
        constraints are generally applied to a dynamic candidate path that is
        either computed by the headend or delegated to a controller.
        The constraints may also be applied to an explicit path where the
        computation entity is expected to validate that the path satisfies the
        specified constraints; if not, the path is to be invalidated (e.g.,
        due to topology changes). Only a single instance of this TLV is
        advertised for a given candidate path. If multiple instances are
        present, then the first valid one (i.e., not determined to be malformed as
        per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is used and the
        rest are ignored.</t>
        <t indent="0" pn="section-5.6-2">The TLV has the following format:</t>
        <figure align="left" suppress-title="false" pn="figure-11">
          <name slugifiedName="name-sr-candidate-path-constraint">SR Candidate Path Constraints TLV Format</name>
          <artwork align="left" name="" type="" alt="" pn="section-5.6-3.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            |              Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Flags            |          RESERVED1            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             MTID              |   Algorithm   |   RESERVED2   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   sub-TLVs (variable)                                        //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <t indent="0" pn="section-5.6-4">Where:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-5.6-5">
          <dt pn="section-5.6-5.1">Type:</dt>
          <dd pn="section-5.6-5.2">1204</dd>
          <dt pn="section-5.6-5.3">Length:</dt>
          <dd pn="section-5.6-5.4">Variable</dd>
          <dt pn="section-5.6-5.5">Flags:</dt>
          <dd pn="section-5.6-5.6">
            <t indent="0" pn="section-5.6-5.6.1">2-octet field that indicates the constraints that are
            being applied to the candidate path. The following bit positions
            are defined, and the other bits <bcp14>MUST</bcp14> be cleared by the originator
            and <bcp14>MUST</bcp14> be ignored by a receiver.</t>
            <artwork name="" type="" align="left" alt="" pn="section-5.6-5.6.2"> 
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|D|P|U|A|T|S|F|H|               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
            <t indent="0" pn="section-5.6-5.6.3">Where:</t>
            <dl spacing="normal" indent="3" newline="false" pn="section-5.6-5.6.4">
              <dt pn="section-5.6-5.6.4.1">D-Flag:</dt>
              <dd pn="section-5.6-5.6.4.2">Indicates that the candidate path uses an SRv6
                data plane when set and an SR/MPLS data plane when clear.</dd>
              <dt pn="section-5.6-5.6.4.3">P-Flag:</dt>
              <dd pn="section-5.6-5.6.4.4">Indicates that the candidate path prefers the use
                of only protected SIDs when set and that the
                candidate path does not prefer the use of only protected SIDs
                when clear. This flag is mutually exclusive with the U-flag
                (i.e., both of these flags cannot be set at the same time).</dd>
              <dt pn="section-5.6-5.6.4.5">U-Flag:</dt>
              <dd pn="section-5.6-5.6.4.6">Indicates that the candidate path prefers the use
                of only unprotected SIDs when set and that the
                candidate path does not prefer the use of only unprotected
                SIDs when clear. This flag is mutually exclusive with the
                P-Flag (i.e., both of these flags cannot be set at the same
                time).</dd>
              <dt pn="section-5.6-5.6.4.7">A-Flag:</dt>
              <dd pn="section-5.6-5.6.4.8">Indicates that the candidate path uses only the
                SIDs belonging to the specified SR Algorithm when set and
                that the candidate path does not use only the SIDs
                belonging to the specified SR Algorithm when clear.</dd>
              <dt pn="section-5.6-5.6.4.9">T-Flag:</dt>
              <dd pn="section-5.6-5.6.4.10">Indicates that the candidate path uses only the
                SIDs belonging to the specified topology when set and
                that the candidate path does not use only the SIDs
                belonging to the specified topology when clear.</dd>
              <dt pn="section-5.6-5.6.4.11">S-Flag:</dt>
              <dd pn="section-5.6-5.6.4.12">Indicates that the use of protected (P-flag) or
                unprotected (U-flag) SIDs becomes a strict constraint instead
                of a preference when set and that there is no strict
                constraint (and only a preference) when clear.</dd>
              <dt pn="section-5.6-5.6.4.13">F-Flag:</dt>
              <dd pn="section-5.6-5.6.4.14">Indicates that the candidate path is fixed once
                computed and not modified except on operator intervention and
                that the candidate path may be modified as part of
                recomputation when clear.</dd>
              <dt pn="section-5.6-5.6.4.15">H-Flag:</dt>
              <dd pn="section-5.6-5.6.4.16">Indicates that the candidate path uses only
                adjacency SIDs and traverses hop-by-hop over the links
                corresponding to those adjacency SIDs when set and
                that the candidate path is not restricted to using only
                hop-by-hop adjacency SIDs when clear.</dd>
            </dl>
          </dd>
          <dt pn="section-5.6-5.7">RESERVED1:</dt>
          <dd pn="section-5.6-5.8">2 octets. <bcp14>MUST</bcp14> be set to 0 by the originator and
            <bcp14>MUST</bcp14> be ignored by a receiver.</dd>
          <dt pn="section-5.6-5.9">MTID:</dt>
          <dd pn="section-5.6-5.10">Indicates the multi-topology identifier of the IGP
            topology that is preferred to be used when the path is set up.
            When the T-flag is set, then the path is strictly using the
            specified topology SIDs only.</dd>
          <dt pn="section-5.6-5.11">Algorithm:</dt>
          <dd pn="section-5.6-5.12">Indicates the algorithm that is preferred to be used
            when the path is set up. When the A-flag is set, then the path is
            strictly using the specified algorithm SIDs only. The algorithm
            values are from the "IGP Algorithm Types" IANA registry under the 
            "Interior Gateway Protocol (IGP) Parameters" registry group.</dd>
          <dt pn="section-5.6-5.13">RESERVED2:</dt>
          <dd pn="section-5.6-5.14">1 octet. <bcp14>MUST</bcp14> be set to 0 by the originator and <bcp14>MUST</bcp14>
            be ignored by a receiver.</dd>
          <dt pn="section-5.6-5.15">sub-TLVs:</dt>
          <dd pn="section-5.6-5.16">One or more optional sub-TLVs <bcp14>MAY</bcp14> be included in this
            TLV to describe other constraints. These sub-TLVs are: SR Affinity
            Constraint, SR Shared Risk Link Group (SRLG) Constraint, SR Bandwidth Constraint, SR
            Disjoint Group Constraint, SR Bidirectional Group Constraint, and
            SR Metric Constraint.</dd>
        </dl>
        <t indent="0" pn="section-5.6-6">These constraint sub-TLVs are defined below.</t>
        <section anchor="CPAFFINITY" numbered="true" toc="include" removeInRFC="false" pn="section-5.6.1">
          <name slugifiedName="name-sr-affinity-constraint-sub-">SR Affinity Constraint Sub-TLV</name>
          <t indent="0" pn="section-5.6.1-1">The SR Affinity Constraint sub-TLV is an optional sub-TLV of the
          SR Candidate Path Constraints TLV that is used to carry the affinity
          constraints <xref target="RFC2702" format="default" sectionFormat="of" derivedContent="RFC2702"/> associated with the candidate
          path. The affinity is expressed in terms of an Extended Administrative Group
          (EAG) as defined in <xref target="RFC7308" format="default" sectionFormat="of" derivedContent="RFC7308"/>. Only a single instance
          of this sub-TLV is advertised for a given candidate path. If
          multiple instances are present, then the first valid one (i.e., not
          determined to be malformed as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is used and the rest are ignored.</t>
          <t indent="0" pn="section-5.6.1-2">The sub-TLV has the following format:</t>
          <figure align="left" suppress-title="false" pn="figure-12">
            <name slugifiedName="name-sr-affinity-constraint-sub-t">SR Affinity Constraint Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.6.1-3.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            |              Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Excl-Any-Size | Incl-Any-Size | Incl-All-Size |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Exclude-Any EAG (optional, variable)             //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Include-Any EAG (optional, variable)             //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Include-All EAG (optional, variable)             //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.6.1-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-5.6.1-5">
            <dt pn="section-5.6.1-5.1">Type:</dt>
            <dd pn="section-5.6.1-5.2">1208</dd>
            <dt pn="section-5.6.1-5.3">Length:</dt>
            <dd pn="section-5.6.1-5.4">Variable, dependent on the size of the EAG.
              <bcp14>MUST</bcp14> be a non-zero multiple of 4 octets.</dd>
            <dt pn="section-5.6.1-5.5">Exclude-Any-Size:</dt>
            <dd pn="section-5.6.1-5.6">1 octet to indicate the size of
              Exclude-Any EAG bitmask size in multiples of 4 octets (e.g.,
              value 0 indicates the Exclude-Any EAG field is skipped, and value 1
              indicates that 4 octets of Exclude-Any EAG are included).</dd>
            <dt pn="section-5.6.1-5.7">Include-Any-Size:</dt>
            <dd pn="section-5.6.1-5.8">1 octet to indicate the size of
              Include-Any EAG bitmask size in multiples of 4 octets (e.g.,
              value 0 indicates the Include-Any EAG field is skipped, and value 1
              indicates that 4 octets of Include-Any EAG are included).</dd>
            <dt pn="section-5.6.1-5.9">Include-All-Size:</dt>
            <dd pn="section-5.6.1-5.10">1 octet to indicate the size of
              Include-All EAG bitmask size in multiples of 4 octets (e.g.,
              value 0 indicates the Include-All EAG field is skipped, and value 1
              indicates that 4 octets of Include-All EAG are included).</dd>
            <dt pn="section-5.6.1-5.11">RESERVED:</dt>
            <dd pn="section-5.6.1-5.12">1 octet. <bcp14>MUST</bcp14> be set to 0 by the originator and
              <bcp14>MUST</bcp14> be ignored by a receiver.</dd>
            <dt pn="section-5.6.1-5.13">Exclude-Any EAG:</dt>
            <dd pn="section-5.6.1-5.14">The bitmask used to represent the affinities
              that have been excluded from the path.</dd>
            <dt pn="section-5.6.1-5.15">Include-Any EAG:</dt>
            <dd pn="section-5.6.1-5.16">The bitmask used to represent the affinities
              that have been included in the path.</dd>
            <dt pn="section-5.6.1-5.17">Include-All EAG:</dt>
            <dd pn="section-5.6.1-5.18">The bitmask used to represent all the
              affinities that have been included in the path.</dd>
          </dl>
        </section>
        <section anchor="CPSRLG" numbered="true" toc="include" removeInRFC="false" pn="section-5.6.2">
          <name slugifiedName="name-sr-srlg-constraint-sub-tlv">SR SRLG Constraint Sub-TLV</name>
          <t indent="0" pn="section-5.6.2-1">The SR SRLG Constraint sub-TLV is an optional sub-TLV of the SR
          Candidate Path Constraints TLV that is used to carry the SRLG values <xref target="RFC4202" format="default" sectionFormat="of" derivedContent="RFC4202"/> that have been
          excluded from the candidate path. Only a single instance of this
          sub-TLV is advertised for a given candidate path. If multiple
          instances are present, then the first valid one (i.e., not determined to
          be malformed as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>)
          is used and the rest are ignored.</t>
          <t indent="0" pn="section-5.6.2-2">The sub-TLV has the following format:</t>
          <figure align="left" suppress-title="false" pn="figure-13">
            <name slugifiedName="name-sr-srlg-constraint-sub-tlv-">SR SRLG Constraint Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.6.2-3.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            |              Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         SRLG Values (variable, multiples of 4 octets)        //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.6.2-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-5.6.2-5">
            <dt pn="section-5.6.2-5.1">Type:</dt>
            <dd pn="section-5.6.2-5.2">1209</dd>
            <dt pn="section-5.6.2-5.3">Length:</dt>
            <dd pn="section-5.6.2-5.4">Variable, dependent on the number of SRLGs encoded.
              <bcp14>MUST</bcp14> be a non-zero multiple of 4 octets.</dd>
            <dt pn="section-5.6.2-5.5">SRLG Values:</dt>
            <dd pn="section-5.6.2-5.6">One or more SRLG values. Each SRLG value is of 4
              octets.</dd>
          </dl>
        </section>
        <section anchor="CPBW" numbered="true" toc="include" removeInRFC="false" pn="section-5.6.3">
          <name slugifiedName="name-sr-bandwidth-constraint-sub">SR Bandwidth Constraint Sub-TLV</name>
          <t indent="0" pn="section-5.6.3-1">The SR Bandwidth Constraint sub-TLV is an optional sub-TLV of the
          SR Candidate Path Constraints TLV that is used to indicate the
          bandwidth that has been requested for the candidate path. Only a
          single instance of this sub-TLV is advertised for a given candidate
          path. If multiple instances are present, then the first valid one (i.e.,
          not determined to be malformed as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is used and the rest are ignored.</t>
          <t indent="0" pn="section-5.6.3-2">The sub-TLV has the following format:</t>
          <figure align="left" suppress-title="false" pn="figure-14">
            <name slugifiedName="name-sr-bandwidth-constraint-sub-">SR Bandwidth Constraint Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.6.3-3.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            |              Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Bandwidth                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.6.3-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-5.6.3-5">
            <dt pn="section-5.6.3-5.1">Type:</dt>
            <dd pn="section-5.6.3-5.2">1210</dd>
            <dt pn="section-5.6.3-5.3">Length:</dt>
            <dd pn="section-5.6.3-5.4">4 octets</dd>
            <dt pn="section-5.6.3-5.5">Bandwidth:</dt>
            <dd pn="section-5.6.3-5.6">4 octets that specify the desired bandwidth in
              unit of bytes per second in IEEE floating point format <xref target="IEEE754" format="default" sectionFormat="of" derivedContent="IEEE754"/>.</dd>
          </dl>
        </section>
        <section anchor="CPDISJOINT" numbered="true" toc="include" removeInRFC="false" pn="section-5.6.4">
          <name slugifiedName="name-sr-disjoint-group-constrain">SR Disjoint Group Constraint Sub-TLV</name>
          <t indent="0" pn="section-5.6.4-1">The SR Disjoint Group Constraint sub-TLV is an optional sub-TLV
          of the SR Candidate Path Constraints TLV that is used to carry the
          disjointness constraint associated with the candidate path. The
          disjointness between two SR Policy candidate paths is expressed by
          associating them with the same disjoint group identifier and then
          specifying the type of disjointness required between their paths.
          The types of disjointness are described in <xref target="RFC8800" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8800#section-3" derivedContent="RFC8800"/> where the level of disjointness increases in the
          order: link, node, SRLG, Node + SRLG. The computation is expected to
          achieve the highest level of disjointness requested; when that is
          not possible, then fall back to a lesser level progressively based on
          the levels indicated. Only a single instance of this sub-TLV is
          advertised for a given candidate path. If multiple instances are
          present, then the first valid one (i.e., not determined to be malformed
          as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is used and
          the rest are ignored.</t>
          <t indent="0" pn="section-5.6.4-2">The sub-TLV has the following format:</t>
          <figure align="left" suppress-title="false" pn="figure-15">
            <name slugifiedName="name-sr-disjoint-group-constraint">SR Disjoint Group Constraint Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.6.4-3.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            |              Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Request Flags |  Status Flags |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Disjoint Group Identifier (variable)                 //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.6.4-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-5.6.4-5">
            <dt pn="section-5.6.4-5.1">Type:</dt>
            <dd pn="section-5.6.4-5.2">1211</dd>
            <dt pn="section-5.6.4-5.3">Length:</dt>
            <dd pn="section-5.6.4-5.4">Variable. Minimum of 8 octets.</dd>
            <dt pn="section-5.6.4-5.5">Request Flags:</dt>
            <dd pn="section-5.6.4-5.6">
              <t indent="0" pn="section-5.6.4-5.6.1">1 octet to indicate the level of
              disjointness requested as specified in the form of flags. The
              following flags are defined, and the other bits <bcp14>MUST</bcp14> be cleared
              by the originator and <bcp14>MUST</bcp14> be ignored by a receiver.</t>
              <artwork name="" type="" align="left" alt="" pn="section-5.6.4-5.6.2">
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|S|N|L|F|I|     |
+-+-+-+-+-+-+-+-+</artwork>
              <t indent="0" pn="section-5.6.4-5.6.3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.6.4-5.6.4">
                <dt pn="section-5.6.4-5.6.4.1">S-Flag:</dt>
                <dd pn="section-5.6.4-5.6.4.2">Indicates that SRLG disjointness is requested
                  when set and that SRLG disjointness is not
                  requested when clear.</dd>
                <dt pn="section-5.6.4-5.6.4.3">N-Flag:</dt>
                <dd pn="section-5.6.4-5.6.4.4">Indicates that node disjointness is requested
                  when set and that node disjointness is not
                  requested when clear.</dd>
                <dt pn="section-5.6.4-5.6.4.5">L-Flag:</dt>
                <dd pn="section-5.6.4-5.6.4.6">Indicates that link disjointness is requested
                  when set and that the link disjointness is not
                  requested when clear.</dd>
                <dt pn="section-5.6.4-5.6.4.7">F-Flag:</dt>
                <dd pn="section-5.6.4-5.6.4.8">Indicates that the computation may fall back to a
                  lower level of disjointness amongst the ones requested when
                  all cannot be achieved when set and that fallback
                  to a lower level of disjointness is not allowed when
                  clear.</dd>
                <dt pn="section-5.6.4-5.6.4.9">I-Flag:</dt>
                <dd pn="section-5.6.4-5.6.4.10">Indicates that the computation may fall back to
                  the default best path (e.g., an IGP path) in case none of the
                  desired disjointness can be achieved when set and 
                  that fallback to the default best path is not allowed when
                  clear.</dd>
              </dl>
            </dd>
            <dt pn="section-5.6.4-5.7">Status Flags:</dt>
            <dd pn="section-5.6.4-5.8">
              <t indent="0" pn="section-5.6.4-5.8.1">1 octet to indicate the level of disjointness
              that has been achieved by the computation as specified in the
              form of flags. The following flags are defined, and the other
              bits <bcp14>MUST</bcp14> be cleared by the originator and <bcp14>MUST</bcp14> be ignored by a
              receiver.</t>
              <artwork name="" type="" align="left" alt="" pn="section-5.6.4-5.8.2">
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|S|N|L|F|I|X|   |
+-+-+-+-+-+-+-+-+</artwork>
              <t indent="0" pn="section-5.6.4-5.8.3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.6.4-5.8.4">
                <dt pn="section-5.6.4-5.8.4.1">S-Flag:</dt>
                <dd pn="section-5.6.4-5.8.4.2">Indicates that SRLG disjointness is achieved when
                  set and that SRLG disjointness is not achieved
                  when clear.</dd>
                <dt pn="section-5.6.4-5.8.4.3">N-Flag:</dt>
                <dd pn="section-5.6.4-5.8.4.4">Indicates that node disjointness is achieved when
                  set and that node disjointness was not achieved
                  when clear.</dd>
                <dt pn="section-5.6.4-5.8.4.5">L-Flag:</dt>
                <dd pn="section-5.6.4-5.8.4.6">Indicates that link disjointness is achieved when
                  set and that link disjointness was not achieved
                  when clear.</dd>
                <dt pn="section-5.6.4-5.8.4.7">F-Flag:</dt>
                <dd pn="section-5.6.4-5.8.4.8">Indicates that the computation has fallen back to
                  a lower level of disjointness than requested when set and
                  that there has been no fallback to a lower level
                  of disjointness when clear.</dd>
                <dt pn="section-5.6.4-5.8.4.9">I-Flag:</dt>
                <dd pn="section-5.6.4-5.8.4.10">Indicates that the computation has fallen back to
                  the best path (e.g., an IGP path) and disjointness has not been
                  achieved when set and that there has been no
                  fallback to the best path when clear.</dd>
                <dt pn="section-5.6.4-5.8.4.11">X-Flag:</dt>
                <dd pn="section-5.6.4-5.8.4.12">Indicates that the disjointness constraint could
                  not be achieved and hence the path has been invalidated when set
                  and that the path has not been invalidated due to
                  unmet disjointness constraints when clear.</dd>
              </dl>
            </dd>
            <dt pn="section-5.6.4-5.9">RESERVED:</dt>
            <dd pn="section-5.6.4-5.10">2 octets. <bcp14>MUST</bcp14> be set to 0 by the originator and
              <bcp14>MUST</bcp14> be ignored by a receiver.</dd>
            <dt pn="section-5.6.4-5.11">Disjoint Group Identifier:</dt>
            <dd pn="section-5.6.4-5.12">4-octet value that is the group
              identifier for a set of disjoint paths. Alternatively, this
              field <bcp14>MAY</bcp14> contain the entire PCEP ASSOCIATION Object as
              specified in <xref target="RFC8697" sectionFormat="of" section="6.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8697#section-6.1" derivedContent="RFC8697"/> (including
              its optional TLVs) when PCEP is used for the signaling of the SR
              Policy candidate path and where the BGP-LS Producer is unable to
              determine the group identifier that can be accommodated in a
              4-octet value (since PCEP supports multiple methods of encoding
              an association identifier). Note that the parsing of the PCEP
              object is expected to be performed only by the BGP-LS Consumer
              (hence, outside the scope of this document) and not by any BGP
              Speaker as specified in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>. If the PCEP
              object size is such that the update for a single SR Policy
              Candidate Path NLRI would exceed the supported BGP message size
              by the implementation, then the PCEP ASSOCIATION Object <bcp14>MUST NOT</bcp14>
              be encoded and this sub-TLV skipped along with an error log.
              Refer to <xref target="RFC9552" sectionFormat="of" section="5.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-5.3" derivedContent="RFC9552"/> for discussion on
              implications of encoding large sets of information into
              BGP-LS.</dd>
          </dl>
        </section>
        <section anchor="CPBIDIR" numbered="true" toc="include" removeInRFC="false" pn="section-5.6.5">
          <name slugifiedName="name-sr-bidirectional-group-cons">SR Bidirectional Group Constraint Sub-TLV</name>
          <t indent="0" pn="section-5.6.5-1">The SR Bidirectional Group Constraint sub-TLV is an optional
          sub-TLV of the SR Candidate Path Constraints TLV that is used to
          carry the bidirectional constraint associated with the candidate
          path. The bidirectional relationship between two SR Policy candidate
          paths is expressed by associating them with the same bidirectional
          group identifier and then specifying the type of bidirectional
          routing required between their paths. Only a single instance of this
          sub-TLV is advertised for a given candidate path. If multiple
          instances are present, then the first valid one (i.e., not determined to
          be malformed as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) 
          is used and the rest are ignored.</t>
          <t indent="0" pn="section-5.6.5-2">The sub-TLV has the following format:</t>
          <figure align="left" suppress-title="false" pn="figure-16">
            <name slugifiedName="name-sr-bidirectional-group-const">SR Bidirectional Group Constraint Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.6.5-3.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            |              Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Flags            |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Bidirectional Group Identifier (variable)         //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.6.5-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-5.6.5-5">
            <dt pn="section-5.6.5-5.1">Type:</dt>
            <dd pn="section-5.6.5-5.2">1214</dd>
            <dt pn="section-5.6.5-5.3">Length:</dt>
            <dd pn="section-5.6.5-5.4">Variable. Minimum of 8 octets.</dd>
            <dt pn="section-5.6.5-5.5">Flags:</dt>
            <dd pn="section-5.6.5-5.6">
              <t indent="0" pn="section-5.6.5-5.6.1">2 octets to indicate the bidirectional path setup
              information as specified in the form of flags. The following
              flags are defined, and the other bits <bcp14>MUST</bcp14> be cleared by the
              originator and <bcp14>MUST</bcp14> be ignored by a receiver.</t>
              <artwork name="" type="" align="left" alt="" pn="section-5.6.5-5.6.2">
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|C|                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              <t indent="0" pn="section-5.6.5-5.6.3">Where:</t>
              <dl spacing="normal" indent="3" newline="false" pn="section-5.6.5-5.6.4">
                <dt pn="section-5.6.5-5.6.4.1">R-Flag:</dt>
                <dd pn="section-5.6.5-5.6.4.2">Indicates that the candidate path of the SR
                  Policy forms the reverse path when the R-flag is set. If the
                  R-flag is clear, the candidate path forms the forward
                  path.</dd>
                <dt pn="section-5.6.5-5.6.4.3">C-Flag:</dt>
                <dd pn="section-5.6.5-5.6.4.4">Indicates that the bidirectional path is
                  co-routed when set and that the bidirectional path
                  is not co-routed when clear.</dd>
              </dl>
            </dd>
            <dt pn="section-5.6.5-5.7">RESERVED:</dt>
            <dd pn="section-5.6.5-5.8">2 octets. <bcp14>MUST</bcp14> be set to 0 by
            the originator and <bcp14>MUST</bcp14> be ignored by a
            receiver.</dd>
            <dt pn="section-5.6.5-5.9">Bidirectional Group Identifier:</dt>
            <dd pn="section-5.6.5-5.10">4-octet value that is
            the group identifier for a set of bidirectional paths.
            Alternatively, this field <bcp14>MAY</bcp14> contain the entire
            PCEP ASSOCIATION Object as specified in <xref target="RFC8697" sectionFormat="of" section="6.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8697#section-6.1" derivedContent="RFC8697"/> (including its optional TLVs)
            when PCEP is used for the signaling of the SR Policy candidate path
            and where the BGP-LS Producer is unable to determine the group
            identifier that can be accommodated in a 4-octet value (since PCEP
            supports multiple methods of encoding an association
            identifier). Note that the parsing of the PCEP object is expected
            to be performed only by the BGP-LS Consumer (hence, outside the
            scope of this document) and not by any BGP Speaker as specified in
            <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>. If the PCEP object size
            is such that the update for a single SR Policy Candidate Path NLRI
            would exceed the supported BGP message size by the implementation,
            then the PCEP ASSOCIATION Object <bcp14>MUST NOT</bcp14> be
            encoded and this sub-TLV skipped along with an error log. Refer to
            <xref target="RFC9552" sectionFormat="of" section="5.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-5.3" derivedContent="RFC9552"/> for
            discussion on implications of encoding large sets of information
            into BGP-LS.</dd>
          </dl>
        </section>
        <section anchor="CPMETRIC" numbered="true" toc="include" removeInRFC="false" pn="section-5.6.6">
          <name slugifiedName="name-sr-metric-constraint-sub-tl">SR Metric Constraint Sub-TLV</name>
          <t indent="0" pn="section-5.6.6-1">The SR Metric Constraint sub-TLV is an optional sub-TLV of the SR
          Candidate Path Constraints TLV that is used to report the
          optimization metric of the candidate path. For a dynamic path
          computation, it is used to report the optimization metric used along
          with its parameters. For an explicit path, this sub-TLV <bcp14>MAY</bcp14> be used
          to report the metric margin or is bound to be used for validation
          (i.e., the path is invalidated if the metric is beyond specified
          values). Multiple instances of this sub-TLV may be used to report
          different metric type uses.</t>
          <t indent="0" pn="section-5.6.6-2">The sub-TLV has the following format: </t>
          <figure align="left" suppress-title="false" pn="figure-17">
            <name slugifiedName="name-sr-metric-constraint-sub-tlv">SR Metric Constraint Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.6.6-3.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             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Metric Type  |      Flags    |          RESERVED             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Metric Margin                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Metric Bound                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.6.6-4">Where:</t>
          <dl spacing="normal" indent="3" newline="false" pn="section-5.6.6-5">
            <dt pn="section-5.6.6-5.1">Type:</dt>
            <dd pn="section-5.6.6-5.2">1215</dd>
            <dt pn="section-5.6.6-5.3">Length:</dt>
            <dd pn="section-5.6.6-5.4">12 octets</dd>
            <dt pn="section-5.6.6-5.5">Metric Type:</dt>
            <dd pn="section-5.6.6-5.6">
              <t indent="0" pn="section-5.6.6-5.6.1">1-octet field that identifies the type of
              metric being used. Below is a list of metric types
               introduced by this document along with references for each. Where
              the references are for IS-IS and OSPF specifications, those
              metric types are defined for a link while in the SR Policy
              context those relate to the candidate path or the segment list.
              The metric type code points that may be used in this sub-TLV are
              also listed in <xref target="METRICTYPE" format="default" sectionFormat="of" derivedContent="Section 8.6"/> of this document.
	      Note that the metric types in this field are taken from the
              "BGP-LS SR Policy Metric Types" IANA registry, which includes 
              IGP Metric Types as well as metric types specific to SR Policy
              path computation (i.e., the metric types are not from the 
              "IGP Metric-Type" registry).  Additional
              metric types may be introduced by future documents. This
              document does not make any assumptions about a smaller metric value
              being better than a higher metric value; that is something
              that is dependent on the semantics of the specific metric type. This
              document uses the words "best" and "worst" to abstract this
              aspect when referring to metric margins and bounds.</t>
              <dl spacing="normal" newline="true" indent="3" pn="section-5.6.6-5.6.2">
                <dt pn="section-5.6.6-5.6.2.1">Type 0: IGP:</dt>
                <dd pn="section-5.6.6-5.6.2.2">This is specified in <xref target="RFC5305" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5305#section-3" derivedContent="RFC5305"/> for IS-IS and is known as the default metric. This is specified in <xref target="RFC2328" format="default" sectionFormat="of" derivedContent="RFC2328"/> for OSPFv2 and in <xref target="RFC5340" format="default" sectionFormat="of" derivedContent="RFC5340"/> for OSPFv3 and is known as the metric in both.</dd>
                <dt pn="section-5.6.6-5.6.2.3">Type 1: Min Unidirectional Delay:</dt>
                <dd pn="section-5.6.6-5.6.2.4">This is
                specified in <xref target="RFC8570" sectionFormat="of" section="4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8570#section-4.2" derivedContent="RFC8570"/> for IS-IS and in <xref target="RFC7471" sectionFormat="of" section="4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7471#section-4.2" derivedContent="RFC7471"/> for OSPFv2/OSPFv3.</dd>
                <dt pn="section-5.6.6-5.6.2.5">Type 2: TE:</dt>
                <dd pn="section-5.6.6-5.6.2.6">This is specified in <xref target="RFC5305" sectionFormat="of" section="3.7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5305#section-3.7" derivedContent="RFC5305"/> for IS-IS as the TE
                default metric, in <xref target="RFC3630" sectionFormat="of" section="2.5.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc3630#section-2.5.5" derivedContent="RFC3630"/> for OSPFv2, and in <xref target="RFC5329" sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5329#section-4" derivedContent="RFC5329"/> for
                OSPFv3.</dd>
                <dt pn="section-5.6.6-5.6.2.7">Type 3: Hop Count:</dt>
                <dd pn="section-5.6.6-5.6.2.8">This is specified in <xref target="RFC5440" sectionFormat="of" section="7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5440#section-7" derivedContent="RFC5440"/>.</dd>
                <dt pn="section-5.6.6-5.6.2.9">Type 4: SID List Length:</dt>
                <dd pn="section-5.6.6-5.6.2.10">This is specified in
                <xref target="RFC8664" sectionFormat="of" section="4.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8664#section-4.5" derivedContent="RFC8664"/>.</dd>
                <dt pn="section-5.6.6-5.6.2.11">Type 5: Bandwidth:</dt>
                <dd pn="section-5.6.6-5.6.2.12">This is specified in <xref target="RFC9843" sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9843#section-4" derivedContent="RFC9843"/>.</dd>
                <dt pn="section-5.6.6-5.6.2.13">Type 6: Avg Unidirectional Delay:</dt>
                <dd pn="section-5.6.6-5.6.2.14">This is
                specified in <xref target="RFC8570" sectionFormat="of" section="4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8570#section-4.1" derivedContent="RFC8570"/> for IS-IS and in <xref target="RFC7471" sectionFormat="of" section="4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7471#section-4.1" derivedContent="RFC7471"/> for OSPFv2/OSPFv3.</dd>
                <dt pn="section-5.6.6-5.6.2.15">Type 7: Unidirectional Delay Variation:</dt>
                <dd pn="section-5.6.6-5.6.2.16">This is
                specified in <xref target="RFC8570" sectionFormat="of" section="4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8570#section-4.3" derivedContent="RFC8570"/> for IS-IS and in <xref target="RFC7471" sectionFormat="of" section="4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7471#section-4.3" derivedContent="RFC7471"/> for OSPFv2/OSPFv3.</dd>
                <dt pn="section-5.6.6-5.6.2.17">Type 8: Loss:</dt>
                <dd pn="section-5.6.6-5.6.2.18">This is specified in <xref target="RFC8570" sectionFormat="of" section="4.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8570#section-4.4" derivedContent="RFC8570"/> for IS-IS
                and in <xref target="RFC7471" sectionFormat="of" section="4.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7471#section-4.4" derivedContent="RFC7471"/> for OSPFv2/OSPFv3.</dd>
                <dt pn="section-5.6.6-5.6.2.19">Types 128 to 255 (both inclusive): User
                Defined:</dt>
                <dd pn="section-5.6.6-5.6.2.20">This is specified in <xref target="RFC9843" sectionFormat="of" section="2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9843#section-2" derivedContent="RFC9843"/> for IS-IS and OSPF.</dd>
              </dl>
            </dd>
            <dt pn="section-5.6.6-5.7">Flags:</dt>
            <dd pn="section-5.6.6-5.8">
              <t indent="0" pn="section-5.6.6-5.8.1">1-octet field that indicates the validity of
            the metric fields and their semantics. The following bit positions
            are defined, and the other bits <bcp14>MUST</bcp14> be cleared by
            the originator and <bcp14>MUST</bcp14> be ignored by a
            receiver.</t>
              <artwork name="" type="" align="left" alt="" pn="section-5.6.6-5.8.2">
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|O|M|A|B|       |
+-+-+-+-+-+-+-+-+</artwork>
              <t indent="0" pn="section-5.6.6-5.8.3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.6.6-5.8.4">
                <dt pn="section-5.6.6-5.8.4.1">O-Flag:</dt>
                <dd pn="section-5.6.6-5.8.4.2">Indicates that this is the optimization metric
                  being reported for a dynamic candidate path when set and
                  that the metric is not the optimization metric
                  when clear. This bit <bcp14>MUST NOT</bcp14> be set in more than one
                  instance of this TLV for a given candidate path
                  advertisement.</dd>
                <dt pn="section-5.6.6-5.8.4.3">M-Flag:</dt>
                <dd pn="section-5.6.6-5.8.4.4">Indicates that the metric margin allowed is
                  specified when set and that the metric margin allowed
                  is not specified when clear.</dd>
                <dt pn="section-5.6.6-5.8.4.5">A-Flag:</dt>
                <dd pn="section-5.6.6-5.8.4.6">Indicates that the metric margin is specified as
                  an absolute value when set and that the metric margin is expressed as a percentage
                  of the minimum metric when clear.</dd>
                <dt pn="section-5.6.6-5.8.4.7">B-Flag:</dt>
                <dd pn="section-5.6.6-5.8.4.8">Indicates that the metric bound allowed for the
                  path is specified when set and that the metric bound
                  is not specified when clear.</dd>
              </dl>
            </dd>
            <dt pn="section-5.6.6-5.9">RESERVED:</dt>
            <dd pn="section-5.6.6-5.10">2 octets. <bcp14>MUST</bcp14> be set to 0 by
            the originator and <bcp14>MUST</bcp14> be ignored by a
            receiver.</dd>
            <dt pn="section-5.6.6-5.11">Metric Margin:</dt>
            <dd pn="section-5.6.6-5.12">4-octet value that indicates the
            metric margin when the M-flag is set. The metric margin is
            specified, depending on the A-flag, as either an absolute value or
            a percentage of the best computed path metric based on the
            specified constraints for path calculation. The metric margin
            allows for the metric value of the computed path to vary
            (depending on the semantics of the specific metric type) from the
            best metric value possible to optimizing for other factors (that are
            not specified as constraints) such as bandwidth availability,
            minimal SID stack depth, and the maximizing of ECMP for the computed SR path.</dd>
            <dt pn="section-5.6.6-5.13">Metric Bound:</dt>
            <dd pn="section-5.6.6-5.14">4-octet value that indicates the worst
            metric value (depending on the semantics of the specific metric
            type) allowed when the B-flag is set. If the computed path
            metric crosses the specified bound value, then the path is
            considered invalid.</dd>
          </dl>
          <t indent="0" pn="section-5.6.6-6">The absolute metric margin and the metric bound values are
          encoded as specified for each metric type. For metric types that are
          smaller than 4 octets in size, the most significant bits are filled
          with zeros. The percentage metric margin is encoded as an unsigned
          integer percentage value.</t>
        </section>
      </section>
      <section anchor="SEGMENTLIST" numbered="true" toc="include" removeInRFC="false" pn="section-5.7">
        <name slugifiedName="name-sr-segment-list-tlv">SR Segment List TLV</name>
        <t indent="0" pn="section-5.7-1">The SR Segment List TLV is used to report a single SID list of a
        candidate path. Multiple instances of this TLV may be used to report
        multiple SID lists of a candidate path.</t>
        <t indent="0" pn="section-5.7-2">The TLV has the following format: </t>
        <figure align="left" suppress-title="false" pn="figure-18">
          <name slugifiedName="name-sr-segment-list-tlv-format">SR Segment List TLV Format</name>
          <artwork align="left" name="" type="" alt="" pn="section-5.7-3.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             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Flags            |           RESERVED1           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             MTID              |   Algorithm   |    RESERVED2  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Weight (4 octets)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   sub-TLVs (variable)                                        //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <t indent="0" pn="section-5.7-4">Where:</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-5.7-5">
          <dt pn="section-5.7-5.1">Type:</dt>
          <dd pn="section-5.7-5.2">1205</dd>
          <dt pn="section-5.7-5.3">Length:</dt>
          <dd pn="section-5.7-5.4">Variable</dd>
          <dt pn="section-5.7-5.5">Flags:</dt>
          <dd pn="section-5.7-5.6">
            <t indent="0" pn="section-5.7-5.6.1"> 2-octet field that indicates the attribute and status of the
            SID list. The following bit positions are defined, and the semantics
            are described in detail in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>. Other bits
            <bcp14>MUST</bcp14> be cleared by the originator and <bcp14>MUST</bcp14> be ignored by a
            receiver.</t>
            <artwork name="" type="" align="left" alt="" pn="section-5.7-5.6.2">
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|D|E|C|V|R|F|A|T|M|             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
            <t indent="0" pn="section-5.7-5.6.3">Where:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-5.7-5.6.4">
              <dt pn="section-5.7-5.6.4.1">D-Flag:</dt>
              <dd pn="section-5.7-5.6.4.2">Indicates that the SID list consists of SRv6 SIDs
              when set and SR/MPLS labels when clear.</dd>
              <dt pn="section-5.7-5.6.4.3">E-Flag:</dt>
              <dd pn="section-5.7-5.6.4.4">Indicates that the SID list is associated with
              an explicit candidate path when set and a dynamic candidate
              path when clear. All segment lists of a given candidate path
              <bcp14>MUST</bcp14> be either explicit or dynamic. In case of
              inconsistency, the receiver <bcp14>MAY</bcp14> consider them all
              to be dynamic.</dd>
              <dt pn="section-5.7-5.6.4.5">C-Flag:</dt>
              <dd pn="section-5.7-5.6.4.6">Indicates that the SID list has been computed
              for a dynamic path when set. It is always reported as set for
              explicit paths. When clear, it indicates that the SID list has
              not been computed for a dynamic path.</dd>
              <dt pn="section-5.7-5.6.4.7">V-Flag:</dt>
              <dd pn="section-5.7-5.6.4.8">Indicates that the SID list has passed
              verification or its verification was not required when set and
              that it failed verification when clear.</dd>
              <dt pn="section-5.7-5.6.4.9">R-Flag:</dt>
              <dd pn="section-5.7-5.6.4.10">Indicates that the first Segment has been
              resolved when set and that it failed resolution when clear.</dd>
              <dt pn="section-5.7-5.6.4.11">F-Flag:</dt>
              <dd pn="section-5.7-5.6.4.12">Indicates that the computation for the
              dynamic path failed when set and that it succeeded (or was not required in
              case of an explicit path) when clear.</dd>
              <dt pn="section-5.7-5.6.4.13">A-Flag:</dt>
              <dd pn="section-5.7-5.6.4.14">Indicates that all the SIDs in the SID list
              belong to the specified algorithm when set and that
              not all the SIDs belong to the specified algorithm when
              clear.</dd>
              <dt pn="section-5.7-5.6.4.15">T-Flag:</dt>
              <dd pn="section-5.7-5.6.4.16">Indicates that all the SIDs in the SID list
              belong to the specified topology (identified by the
              multi-topology ID) when set and that not all the SIDs
              belong to the specified topology when clear.</dd>
              <dt pn="section-5.7-5.6.4.17">M-Flag:</dt>
              <dd pn="section-5.7-5.6.4.18">Indicates that the SID list has been removed
              from the forwarding plane due to fault detection by a monitoring
              mechanism (e.g., Bidirectional Forwarding Detection (BFD)) when set and that no fault is detected or
             no monitoring is being done when clear.</dd>
            </dl>
          </dd>
          <dt pn="section-5.7-5.7">RESERVED1:</dt>
          <dd pn="section-5.7-5.8">2 octets. <bcp14>MUST</bcp14> be set to 0 by
            the originator and <bcp14>MUST</bcp14> be ignored by a
            receiver.</dd>
          <dt pn="section-5.7-5.9">MTID:</dt>
          <dd pn="section-5.7-5.10">2 octets that indicate the multi-topology identifier of
            the IGP topology that is to be used when the T-flag is set.</dd>
          <dt pn="section-5.7-5.11">Algorithm:</dt>
          <dd pn="section-5.7-5.12">1 octet that indicates the algorithm of the SIDs
            used in the SID list when the A-flag is set. The algorithm values
            are from the "IGP Algorithm Types" IANA registry under the "Interior
            Gateway Protocol (IGP) Parameters" registry group.</dd>
          <dt pn="section-5.7-5.13">RESERVED2:</dt>
          <dd pn="section-5.7-5.14">1 octet. <bcp14>MUST</bcp14> be set to 0 by
            the originator and <bcp14>MUST</bcp14> be ignored by a
            receiver.</dd>
          <dt pn="section-5.7-5.15">Weight:</dt>
          <dd pn="section-5.7-5.16">4-octet field that indicates the weight
            associated with the SID list for weighted load balancing. Refer to
            Sections <xref target="RFC9256" sectionFormat="bare" section="2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.2" derivedContent="RFC9256"/> and <xref target="RFC9256" sectionFormat="bare" section="2.11" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-2.11" derivedContent="RFC9256"/> of <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>.</dd>
          <dt pn="section-5.7-5.17">Sub-TLVs:</dt>
          <dd pn="section-5.7-5.18">Variable and contain the ordered set of Segments and
            any other optional attributes associated with the specific
            SID list.</dd>
        </dl>
        <t indent="0" pn="section-5.7-6">The SR Segment sub-TLV (defined in <xref target="SEGMENTTLV" format="default" sectionFormat="of" derivedContent="Section 5.7.1"/>)
        <bcp14>MUST</bcp14> be included as an ordered set of sub-TLVs within the SR Segment
        List TLV when the SID list is not empty. A SID list may be empty in
        certain situations (e.g., for a dynamic path) where the headend has not
        yet performed the computation and hence not derived the segments
        required for the path. In such cases where the SID list is empty, the
        SR Segment List TLV <bcp14>MUST NOT</bcp14> include any SR Segment sub-TLVs.</t>
        <section anchor="SEGMENTTLV" numbered="true" toc="include" removeInRFC="false" pn="section-5.7.1">
          <name slugifiedName="name-sr-segment-sub-tlv">SR Segment Sub-TLV</name>
          <t indent="0" pn="section-5.7.1-1">The SR Segment sub-TLV describes a single segment in a SID list.
          One or more instances of this sub-TLV in an ordered manner
          constitute a SID list for an SR Policy candidate path. It is a
          sub-TLV of the SR Segment List TLV and it has the following format:
          </t>
          <figure align="left" suppress-title="false" pn="figure-19">
            <name slugifiedName="name-sr-segment-sub-tlv-format">SR Segment Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.7.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             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Segment Type  |    RESERVED   |             Flags             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   SID (4 or 16 octets)                       //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//               Segment Descriptor (variable)                 //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//   sub-TLVs (variable)                                       //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.7.1-3">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1-4">
            <dt pn="section-5.7.1-4.1">Type:</dt>
            <dd pn="section-5.7.1-4.2">1206</dd>
            <dt pn="section-5.7.1-4.3">Length:</dt>
            <dd pn="section-5.7.1-4.4">Variable</dd>
            <dt pn="section-5.7.1-4.5">Segment Type:</dt>
            <dd pn="section-5.7.1-4.6">1 octet that indicates the type of
            segment.  Initial values are specified by this document (see <xref target="SEGMENTDESC" format="default" sectionFormat="of" derivedContent="Section 5.7.1.1"/> for details). Additional
            segment types are possible but are out of scope for this
            document.</dd>
            <dt pn="section-5.7.1-4.7">RESERVED:</dt>
            <dd pn="section-5.7.1-4.8">1 octet. <bcp14>MUST</bcp14> be set to 0 by
            the originator and <bcp14>MUST</bcp14> be ignored by a
            receiver.</dd>
            <dt pn="section-5.7.1-4.9">Flags:</dt>
            <dd pn="section-5.7.1-4.10">
              <t indent="0" pn="section-5.7.1-4.10.1">2-octet field that indicates the attribute and
            status of the Segment and its SID. The following bit positions are
            defined, and the semantics are described in <xref target="RFC9256" sectionFormat="of" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-5" derivedContent="RFC9256"/>. Other bits <bcp14>MUST</bcp14>
            be cleared by the originator and <bcp14>MUST</bcp14> be ignored by
            a receiver.</t>
              <artwork name="" type="" align="left" alt="" pn="section-5.7.1-4.10.2">
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|E|V|R|A|                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              <t indent="0" pn="section-5.7.1-4.10.3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1-4.10.4">
                <dt pn="section-5.7.1-4.10.4.1">S-Flag:</dt>
                <dd pn="section-5.7.1-4.10.4.2">Indicates the presence of the SID value in the
                SID field when set and no value when
                clear.</dd>
                <dt pn="section-5.7.1-4.10.4.3">E-Flag:</dt>
                <dd pn="section-5.7.1-4.10.4.4">Indicates that the SID value is an explicitly
                provisioned value (locally on headend or via controller/PCE)
                when set and is a dynamically resolved value by headend when
                clear.</dd>
                <dt pn="section-5.7.1-4.10.4.5">V-Flag:</dt>
                <dd pn="section-5.7.1-4.10.4.6">Indicates that the SID has passed verification
                or did not require verification when set. When the V-flag is
                clear, it indicates the SID has failed verification.</dd>
                <dt pn="section-5.7.1-4.10.4.7">R-Flag:</dt>
                <dd pn="section-5.7.1-4.10.4.8">Indicates that the SID has been resolved or did
                not require resolution (e.g., because it is not the first SID)
                when set. When the R-flag is clear, it indicates the SID has
                failed resolution.</dd>
                <dt pn="section-5.7.1-4.10.4.9">A-Flag:</dt>
                <dd pn="section-5.7.1-4.10.4.10">Indicates that the Algorithm indicated in
                the segment descriptor is valid when set. When clear, it
                indicates that the headend is unable to determine the
                algorithm of the SID.</dd>
              </dl>
            </dd>
            <dt pn="section-5.7.1-4.11">SID:</dt>
            <dd pn="section-5.7.1-4.12">
              <t indent="0" pn="section-5.7.1-4.12.1">4 octets carrying the MPLS Label or 16 octets carrying
              the SRv6 SID based on the Segment Type. When carrying the MPLS
              Label, as shown in the figure below, the TC, S, and TTL (total
              of 12 bits) are RESERVED and <bcp14>MUST</bcp14> be set to 0 by the originator
              and <bcp14>MUST</bcp14> be ignored by a receiver.</t>
              <artwork name="" type="" align="left" alt="" pn="section-5.7.1-4.12.2">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Label                        | TC  |S|       TTL     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
            </dd>
            <dt pn="section-5.7.1-4.13">Segment Descriptor:</dt>
            <dd pn="section-5.7.1-4.14">Variable size segment descriptor
            based on the type of segment (refer to <xref target="SEGMENTDESC" format="default" sectionFormat="of" derivedContent="Section 5.7.1.1"/> for details).</dd>
            <dt pn="section-5.7.1-4.15">Sub-Sub-TLVs:</dt>
            <dd pn="section-5.7.1-4.16">Variable and contain any other optional
            attributes associated with the specific segment.</dd>
          </dl>
          <t indent="0" pn="section-5.7.1-5">The SRv6 Endpoint Behavior TLV (1250) and the SRv6 SID Structure
          TLV (1252) defined in <xref target="RFC9514" format="default" sectionFormat="of" derivedContent="RFC9514"/> are used as
          sub-sub-TLVs of the SR Segment sub-TLV. These two sub-sub-TLVs are
          used to optionally indicate the SRv6 Endpoint behavior and SID
          structure when advertising the SRv6-specific segment types.</t>
          <section anchor="SEGMENTDESC" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1">
            <name slugifiedName="name-segment-descriptors">Segment Descriptors</name>
            <t indent="0" pn="section-5.7.1.1-1"><xref target="RFC9256" sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-4" derivedContent="RFC9256"/> defines multiple types of
            segments and their descriptions. This section defines the encoding
            of the segment descriptors for each of those segment types to be
            used in the Segment sub-TLV described previously in <xref target="SEGMENTTLV" format="default" sectionFormat="of" derivedContent="Section 5.7.1"/>.</t>
            <t indent="0" pn="section-5.7.1.1-2">The following types are currently defined, and their mappings to
            the respective segment types are defined in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>:
            </t>
            <table anchor="SR_segment_types" align="center" pn="table-1">
              <name slugifiedName="name-sr-segment-types">SR Segment Types</name>
              <thead>
                <tr>
                  <th align="left" colspan="1" rowspan="1">Type</th>
                  <th align="left" colspan="1" rowspan="1">Segment Description</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left" colspan="1" rowspan="1">1</td>
                  <td align="left" colspan="1" rowspan="1">(Type A) SR-MPLS Label</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">2</td>
                  <td align="left" colspan="1" rowspan="1">(Type B) SRv6 SID</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">3</td>
                  <td align="left" colspan="1" rowspan="1">(Type C) IPv4 Prefix with optional SR Algorithm</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">4</td>
                  <td align="left" colspan="1" rowspan="1">(Type D) IPv6 Global Prefix with optional SR Algorithm for SR-MPLS</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">5</td>
                  <td align="left" colspan="1" rowspan="1">(Type E) IPv4 Prefix with Local Interface ID</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">6</td>
                  <td align="left" colspan="1" rowspan="1">(Type F) IPv4 Addresses for link endpoints as Local, Remote pair</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">7</td>
                  <td align="left" colspan="1" rowspan="1">(Type G) IPv6 Prefix and Interface ID for link endpoints as Local, Remote pair for SR-MPLS</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">8</td>
                  <td align="left" colspan="1" rowspan="1">(Type H) IPv6 Addresses for link endpoints as Local, Remote pair for SR-MPLS</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">9</td>
                  <td align="left" colspan="1" rowspan="1">(Type I) IPv6 Global Prefix with optional SR Algorithm for SRv6</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">10</td>
                  <td align="left" colspan="1" rowspan="1">(Type J) IPv6 Prefix and Interface ID for link endpoints as Local, Remote pair for SRv6</td>
                </tr>
                <tr>
                  <td align="left" colspan="1" rowspan="1">11</td>
                  <td align="left" colspan="1" rowspan="1">(Type K) IPv6 Addresses for link endpoints as Local, Remote pair for SRv6</td>
                </tr>
              </tbody>
            </table>
            <section anchor="TYPE1" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.1">
              <name slugifiedName="name-type-1-segment-type-a">Type 1: Segment Type A</name>
              <t indent="0" pn="section-5.7.1.1.1-1">The Segment is an SR-MPLS type and is specified simply as the
              label. The format of its segment descriptor is as
              follows:</t>
              <figure align="left" suppress-title="false" pn="figure-20">
                <name slugifiedName="name-type-1-segment-descriptor">Type 1 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.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
+-+-+-+-+-+-+-+-+
|   Algorithm   |
+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.1-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.1-4">
                <dt pn="section-5.7.1.1.1-4.1">Algorithm:</dt>
                <dd pn="section-5.7.1.1.1-4.2">1-octet value that indicates the
                algorithm used for picking the SID. This is valid only when
                the A-flag has been set in the Segment TLV. The algorithm
                values are from the "IGP Algorithm Types" IANA registry under the
                "Interior Gateway Protocol (IGP) Parameters" registry group.</dd>
              </dl>
            </section>
            <section anchor="TYPE2" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.2">
              <name slugifiedName="name-type-2-segment-type-b">Type 2: Segment Type B</name>
              <t indent="0" pn="section-5.7.1.1.2-1">The Segment is an SRv6 type and is specified simply as SRv6
              SID. The format of its segment descriptor is as
              follows:</t>
              <figure align="left" suppress-title="false" pn="figure-21">
                <name slugifiedName="name-type-2-segment-descriptor">Type 2 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.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
+-+-+-+-+-+-+-+-+
|   Algorithm   |
+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.2-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.2-4">
                <dt pn="section-5.7.1.1.2-4.1">Algorithm:</dt>
                <dd pn="section-5.7.1.1.2-4.2">1-octet value that indicates the
                algorithm used for picking the SID. This is valid only when
                the A-flag has been set in the Segment TLV. The algorithm
                values are from the "IGP Algorithm Types" IANA registry under the
                "Interior Gateway Protocol (IGP) Parameters" registry group.</dd>
              </dl>
            </section>
            <section anchor="TYPE3" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.3">
              <name slugifiedName="name-type-3-segment-type-c">Type 3: Segment Type C</name>
              <t indent="0" pn="section-5.7.1.1.3-1">The Segment is an SR-MPLS Prefix SID type and is specified as an
              IPv4 node address. The format of its segment descriptor is as
              follows:</t>
              <figure align="left" suppress-title="false" pn="figure-22">
                <name slugifiedName="name-type-3-segment-descriptor">Type 3 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.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
+-+-+-+-+-+-+-+-+
|   Algorithm   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 IPv4 Node Address (4 octets)                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.3-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.3-4">
                <dt pn="section-5.7.1.1.3-4.1">Algorithm:</dt>
                <dd pn="section-5.7.1.1.3-4.2">1-octet value that indicates the
                algorithm used for picking the SID. The algorithm values are
                from the "IGP Algorithm Types" IANA registry under the "Interior
                Gateway Protocol (IGP) Parameters" registry group.</dd>
                <dt pn="section-5.7.1.1.3-4.3">IPv4 Node Address:</dt>
                <dd pn="section-5.7.1.1.3-4.4">4-octet value that carries the
                IPv4 address associated with the node.</dd>
              </dl>
            </section>
            <section anchor="TYPE4" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.4">
              <name slugifiedName="name-type-4-segment-type-d">Type 4: Segment Type D</name>
              <t indent="0" pn="section-5.7.1.1.4-1">The Segment is an SR-MPLS Prefix SID type and is specified as an
              IPv6 node global address. The format of its segment descriptor is as
              follows:</t>
              <figure align="left" suppress-title="false" pn="figure-23">
                <name slugifiedName="name-type-4-segment-descriptor">Type 4 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.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
+-+-+-+-+-+-+-+-+
|   Algorithm   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|          IPv6 Node Global Address (16 octets)                 |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.4-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.4-4">
                <dt pn="section-5.7.1.1.4-4.1">Algorithm:</dt>
                <dd pn="section-5.7.1.1.4-4.2">1-octet value that indicates the
                algorithm used for picking the SID. The algorithm values are
                from the "IGP Algorithm Types" IANA registry under the "Interior
                Gateway Protocol (IGP) Parameters" registry group.</dd>
                <dt pn="section-5.7.1.1.4-4.3">IPv6 Node Global Address:</dt>
                <dd pn="section-5.7.1.1.4-4.4">16-octet value that
                carries the IPv6 global address associated with the node.</dd>
              </dl>
            </section>
            <section anchor="TYPE5" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.5">
              <name slugifiedName="name-type-5-segment-type-e">Type 5: Segment Type E</name>
              <t indent="0" pn="section-5.7.1.1.5-1">The Segment is an SR-MPLS Adjacency SID type and is specified as
              an IPv4 node address along with the local interface ID on that
              node. The format of its segment descriptor is as follows:</t>
              <figure align="left" suppress-title="false" pn="figure-24">
                <name slugifiedName="name-type-5-segment-descriptor">Type 5 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 IPv4 Node Address (4 octets)                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Local Interface ID (4 octets)                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.5-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.5-4">
                <dt pn="section-5.7.1.1.5-4.1">IPv4 Node Address:</dt>
                <dd pn="section-5.7.1.1.5-4.2">4-octet value that carries the
                IPv4 address associated with the node.</dd>
                <dt pn="section-5.7.1.1.5-4.3">Local Interface ID:</dt>
                <dd pn="section-5.7.1.1.5-4.4">4-octet value that carries
                the local interface ID of the node identified by the Node
                Address.</dd>
              </dl>
            </section>
            <section anchor="TYPE6" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.6">
              <name slugifiedName="name-type-6-segment-type-f">Type 6: Segment Type F</name>
              <t indent="0" pn="section-5.7.1.1.6-1">The Segment is an SR-MPLS Adjacency SID type and is specified as
              a pair of IPv4 local and remote interface addresses. The format of its
              segment descriptor is as follows:</t>
              <figure align="left" suppress-title="false" pn="figure-25">
                <name slugifiedName="name-type-6-segment-descriptor">Type 6 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              IPv4 Local Interface Address (4 octets)          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             IPv4 Remote Interface Address (4 octets)          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.6-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.6-4">
                <dt pn="section-5.7.1.1.6-4.1">IPv4 Local Interface Address:</dt>
                <dd pn="section-5.7.1.1.6-4.2">4-octet value that carries
                the local IPv4 address associated with the node's
                interface.</dd>
                <dt pn="section-5.7.1.1.6-4.3">IPv4 Remote Interface Address:</dt>
                <dd pn="section-5.7.1.1.6-4.4">4-octet value that carries
                the remote IPv4 address associated with the interface on the
                node's neighbor. This is optional and <bcp14>MAY</bcp14> be
                set to 0 when not used (e.g., when identifying point-to-point
                links).</dd>
              </dl>
            </section>
            <section anchor="TYPE7" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.7">
              <name slugifiedName="name-type-7-segment-type-g">Type 7: Segment Type G</name>
              <t indent="0" pn="section-5.7.1.1.7-1">The Segment is an SR-MPLS Adjacency SID type and is specified as
              a pair of IPv6 global address and interface ID for local and
              remote nodes. The format of its segment descriptor is as
              follows:</t>
              <figure align="left" suppress-title="false" pn="figure-26">
                <name slugifiedName="name-type-7-segment-descriptor">Type 7 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.7-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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|          IPv6 Local Node Global Address (16 octets)           |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Local Node Interface ID (4 octets)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|          IPv6 Remote Node Global Address (16 octets)          |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Remote Node Interface ID (4 octets)                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.7-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.7-4">
                <dt pn="section-5.7.1.1.7-4.1">IPv6 Local Node Global Address:</dt>
                <dd pn="section-5.7.1.1.7-4.2"> 16-octet value
                that carries the IPv6 global address associated with the
                local node.</dd>
                <dt pn="section-5.7.1.1.7-4.3">Local Node Interface ID:</dt>
                <dd pn="section-5.7.1.1.7-4.4">4-octet value that
                carries the interface ID of the local node identified by the
                Local Node Address.</dd>
                <dt pn="section-5.7.1.1.7-4.5">IPv6 Remote Node Global Address:</dt>
                <dd pn="section-5.7.1.1.7-4.6">16-octet value
                that carries the IPv6 global address associated with the
                remote node. This is optional and <bcp14>MAY</bcp14> be set to
                0 when not used (e.g., when identifying point-to-point
                links).</dd>
                <dt pn="section-5.7.1.1.7-4.7">Remote Node Interface ID:</dt>
                <dd pn="section-5.7.1.1.7-4.8">4-octet value that
                carries the interface ID of the remote node identified by the
                Remote Node Address. This is optional and <bcp14>MAY</bcp14>
                be set to 0 when not used (e.g., when identifying
                point-to-point links).</dd>
              </dl>
            </section>
            <section anchor="TYPE8" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.8">
              <name slugifiedName="name-type-8-segment-type-h">Type 8: Segment Type H</name>
              <t indent="0" pn="section-5.7.1.1.8-1">The Segment is an SR-MPLS Adjacency SID type and is specified as
              a pair of IPv6 global addresses for local and remote interface
              addresses. The format of its segment descriptor is as
              follows:</t>
              <figure align="left" suppress-title="false" pn="figure-27">
                <name slugifiedName="name-type-8-segment-descriptor">Type 8 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.8-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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|        IPv6 Local Interface Global Address (16 octets)        |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|        IPv6 Remote Interface Global Address (16 octets)       |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.8-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.8-4">
                <dt pn="section-5.7.1.1.8-4.1">IPv6 Local Global Address:</dt>
                <dd pn="section-5.7.1.1.8-4.2">16-octet value that carries
                the local IPv6 address associated with the node's
                interface.</dd>
                <dt pn="section-5.7.1.1.8-4.3">IPv6 Remote Global Address:</dt>
                <dd pn="section-5.7.1.1.8-4.4">16-octet value that carries
                the remote IPv6 address associated with the interface on the
                node's neighbor.</dd>
              </dl>
            </section>
            <section anchor="TYPE9" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.9">
              <name slugifiedName="name-type-9-segment-type-i">Type 9: Segment Type I</name>
              <t indent="0" pn="section-5.7.1.1.9-1">The Segment is an SRv6 END SID type and is specified as an IPv6
              node global address. The format of its segment descriptor is as
              follows:</t>
              <figure align="left" suppress-title="false" pn="figure-28">
                <name slugifiedName="name-type-9-segment-descriptor">Type 9 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.9-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
+-+-+-+-+-+-+-+-+
|   Algorithm   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|          IPv6 Node Global Address (16 octets)                 |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.9-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.9-4">
                <dt pn="section-5.7.1.1.9-4.1">Algorithm:</dt>
                <dd pn="section-5.7.1.1.9-4.2">1-octet value that indicates the
                algorithm used for picking the SID. The algorithm values are
                from the "IGP Algorithm Types" IANA registry under the "Interior
                Gateway Protocol (IGP) Parameters" registry group.</dd>
                <dt pn="section-5.7.1.1.9-4.3">IPv6 Node Global Address:</dt>
                <dd pn="section-5.7.1.1.9-4.4">16-octet value that
                carries the IPv6 global address associated with the node.</dd>
              </dl>
            </section>
            <section anchor="TYPE10" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.10">
              <name slugifiedName="name-type-10-segment-type-j">Type 10: Segment Type J</name>
              <t indent="0" pn="section-5.7.1.1.10-1">The Segment is an SRv6 END.X SID type and is specified as a pair
              of IPv6 global address and interface ID for local and remote
              nodes. The format of its segment descriptor is as
              follows:</t>
              <figure align="left" suppress-title="false" pn="figure-29">
                <name slugifiedName="name-type-10-segment-descriptor">Type 10 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.10-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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|          IPv6 Local Node Global Address (16 octets)           |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Local Node Interface ID (4 octets)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|          IPv6 Remote Node Global Address (16 octets)          |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Remote Node Interface ID (4 octets)                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.10-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.10-4">
                <dt pn="section-5.7.1.1.10-4.1">IPv6 Local Node Global Address:</dt>
                <dd pn="section-5.7.1.1.10-4.2">16-octet value
                that carries the IPv6 global address associated with the
                local node.</dd>
                <dt pn="section-5.7.1.1.10-4.3">Local Node Interface ID:</dt>
                <dd pn="section-5.7.1.1.10-4.4">4-octet value that
                carries the interface ID of the local node identified by the
                Local Node Address.</dd>
                <dt pn="section-5.7.1.1.10-4.5">IPv6 Remote Node Global Address:</dt>
                <dd pn="section-5.7.1.1.10-4.6">16-octet value
                that carries the IPv6 global address associated with the
                remote node. This is optional and <bcp14>MAY</bcp14> be set to
                0 when not used (e.g., when identifying point-to-point
                links).</dd>
                <dt pn="section-5.7.1.1.10-4.7">Remote Node Interface ID:</dt>
                <dd pn="section-5.7.1.1.10-4.8">4-octet value that
                carries the interface ID of the remote node identified by the
                Remote Node Address. This is optional and <bcp14>MAY</bcp14>
                be set to 0 when not used (e.g., when identifying
                point-to-point links).</dd>
              </dl>
            </section>
            <section anchor="TYPE11" numbered="true" toc="exclude" removeInRFC="false" pn="section-5.7.1.1.11">
              <name slugifiedName="name-type-11-segment-type-k">Type 11: Segment Type K</name>
              <t indent="0" pn="section-5.7.1.1.11-1">The Segment is an SRv6 END.X SID type and is specified as a pair
              of IPv6 global addresses for local and remote interface
              addresses. The format of its segment descriptor is as
              follows:</t>
              <figure align="left" suppress-title="false" pn="figure-30">
                <name slugifiedName="name-type-11-segment-descriptor">Type 11 Segment Descriptor</name>
                <artwork align="left" name="" type="" alt="" pn="section-5.7.1.1.11-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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|        IPv6 Local Interface Global Address (16 octets)        |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|        IPv6 Remote Interface Global Address (16 octets)       |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
              </figure>
              <t indent="0" pn="section-5.7.1.1.11-3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.1.1.11-4">
                <dt pn="section-5.7.1.1.11-4.1">IPv6 Local Global Address:</dt>
                <dd pn="section-5.7.1.1.11-4.2">16-octet value that carries
                the local IPv6 address associated with the node's
                interface.</dd>
                <dt pn="section-5.7.1.1.11-4.3">IPv6 Remote Global Address:</dt>
                <dd pn="section-5.7.1.1.11-4.4">16-octet value that carries
                the remote IPv6 address associated with the interface on the
                node's neighbor.</dd>
              </dl>
            </section>
          </section>
        </section>
        <section anchor="SLMETRIC" numbered="true" toc="include" removeInRFC="false" pn="section-5.7.2">
          <name slugifiedName="name-sr-segment-list-metric-sub-">SR Segment List Metric Sub-TLV</name>
          <t indent="0" pn="section-5.7.2-1">The SR Segment List Metric sub-TLV reports the computed metric of
          the specific SID list. It is used to report the type of metric and
          its computed value by the computation entity (i.e., either the
          headend or the controller when the path is delegated) when
          available. More than one instance of this sub-TLV may be present in
          the SR Segment List to report metric values of different metric types.
          The metric margin and bound may be optionally reported using this
          sub-TLV when this information is not being reported using the SR
          Metric Constraint sub-TLV (refer to <xref target="CPMETRIC" format="default" sectionFormat="of" derivedContent="Section 5.6.6"/>) at
          the SR Policy candidate path level.</t>
          <t indent="0" pn="section-5.7.2-2">It is a sub-TLV of the SR Segment List TLV and has the following
          format: </t>
          <figure align="left" suppress-title="false" pn="figure-31">
            <name slugifiedName="name-sr-segment-list-metric-sub-t">SR Segment List Metric Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.7.2-3.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             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Metric Type  |      Flags    |          RESERVED             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Metric Margin                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Metric Bound                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Metric Value                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.7.2-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-5.7.2-5">
            <dt pn="section-5.7.2-5.1">Type:</dt>
            <dd pn="section-5.7.2-5.2">1207</dd>
            <dt pn="section-5.7.2-5.3">Length:</dt>
            <dd pn="section-5.7.2-5.4">16 octets</dd>
            <dt pn="section-5.7.2-5.5">Metric Type:</dt>
            <dd pn="section-5.7.2-5.6">1-octet field that identifies the type
            of metric. The semantics are the same as the metric type field in
            the SR Metric Constraint sub-TLV in <xref target="CPMETRIC" format="default" sectionFormat="of" derivedContent="Section 5.6.6"/> of this document.</dd>
            <dt pn="section-5.7.2-5.7">Flags:</dt>
            <dd pn="section-5.7.2-5.8">
              <t indent="0" pn="section-5.7.2-5.8.1">1-octet field that indicates the validity of the
              metric fields and their semantics. The following bit positions
              are defined, and the other bits <bcp14>MUST</bcp14> be cleared by the originator
              and <bcp14>MUST</bcp14> be ignored by a receiver.</t>
              <artwork name="" type="" align="left" alt="" pn="section-5.7.2-5.8.2">
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|M|A|B|V|       |
+-+-+-+-+-+-+-+-+</artwork>
              <t indent="0" pn="section-5.7.2-5.8.3">Where:</t>
              <dl spacing="normal" newline="false" indent="3" pn="section-5.7.2-5.8.4">
                <dt pn="section-5.7.2-5.8.4.1">M-Flag:</dt>
                <dd pn="section-5.7.2-5.8.4.2">Indicates that the metric margin allowed
                for this path computation is specified when set and 
                that the metric margin allowed is not specified when clear.</dd>
                <dt pn="section-5.7.2-5.8.4.3">A-Flag:</dt>
                <dd pn="section-5.7.2-5.8.4.4">Indicates that the metric margin is
                specified as an absolute value when set and that the metric margin is expressed as a
                percentage of the minimum metric when clear.</dd>
                <dt pn="section-5.7.2-5.8.4.5">B-Flag:</dt>
                <dd pn="section-5.7.2-5.8.4.6">Indicates that the metric bound allowed
                for the path is specified when set and that the metric
                bound is not specified when clear.</dd>
                <dt pn="section-5.7.2-5.8.4.7">V-Flag:</dt>
                <dd pn="section-5.7.2-5.8.4.8">Indicates that the computed metric value
                is being reported when set and that the computed
                metric value is not being reported when clear.</dd>
              </dl>
            </dd>
            <dt pn="section-5.7.2-5.9">RESERVED:</dt>
            <dd pn="section-5.7.2-5.10">2 octets. <bcp14>MUST</bcp14> be set to 0 by
            the originator and <bcp14>MUST</bcp14> be ignored by a
            receiver.</dd>
            <dt pn="section-5.7.2-5.11">Metric Margin:</dt>
            <dd pn="section-5.7.2-5.12">4-octet value that indicates the
            metric margin value when the M-flag is set. The metric margin is
            specified, depending on the A-flag, as either an absolute value or
            a percentage of the best computed path metric based on the
            specified constraints for path calculation. The metric margin
            allows for the metric value of the computed path to vary
            (depending on the semantics of the specific metric type) from the
            best metric value possible to optimizing for other factors (that are
            not specified as constraints) such as bandwidth availability,
            minimal SID stack depth, and the maximizing of ECMP for the computed SR path.</dd>
            <dt pn="section-5.7.2-5.13">Metric Bound:</dt>
            <dd pn="section-5.7.2-5.14">4-octet value that indicates the worst
            metric value (depending on the semantics of the specific metric
            type) that is allowed when the B-flag is set. If the computed path
            metric crosses the specified bound value, then the path is
            considered invalid.</dd>
            <dt pn="section-5.7.2-5.15">Metric Value:</dt>
            <dd pn="section-5.7.2-5.16">4-octet value that indicates the metric
            of the computed path when the V-flag is set. This value is
            available and reported when the computation is successful and a
            valid path is available.</dd>
          </dl>
          <t indent="0" pn="section-5.7.2-6">The absolute metric margin, metric bound, and metric values are
          encoded as specified for each metric type. For metric types that are
          smaller than 4 octets in size, the most significant bits are filled
          with zeros. The percentage metric margin is encoded as an unsigned
          integer percentage value.</t>
        </section>
        <section anchor="SLBW" numbered="true" toc="include" removeInRFC="false" pn="section-5.7.3">
          <name slugifiedName="name-sr-segment-list-bandwidth-s">SR Segment List Bandwidth Sub-TLV</name>
          <t indent="0" pn="section-5.7.3-1">The SR Segment List Bandwidth sub-TLV is an optional sub-TLV used
          to report the bandwidth allocated to the specific SID list by the
          path computation entity. Only a single instance of this sub-TLV is
          advertised for a given segment list. If multiple instances are
          present, then the first valid one (i.e., not determined to be malformed
          as per <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is used and
          the rest are ignored.</t>
          <t indent="0" pn="section-5.7.3-2">It is a sub-TLV of the SR Segment List TLV and has the following
          format: </t>
          <figure align="left" suppress-title="false" pn="figure-32">
            <name slugifiedName="name-sr-segment-list-bandwidth-su">SR Segment List Bandwidth Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.7.3-3.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             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Bandwidth                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.7.3-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-5.7.3-5">
            <dt pn="section-5.7.3-5.1">Type:</dt>
            <dd pn="section-5.7.3-5.2">1216</dd>
            <dt pn="section-5.7.3-5.3">Length:</dt>
            <dd pn="section-5.7.3-5.4">4 octets</dd>
            <dt pn="section-5.7.3-5.5">Bandwidth:</dt>
            <dd pn="section-5.7.3-5.6">4 octets that specify the allocated
            bandwidth in unit of bytes per second in IEEE floating point
            format <xref target="IEEE754" format="default" sectionFormat="of" derivedContent="IEEE754"/>.</dd>
          </dl>
        </section>
        <section anchor="SLID" numbered="true" toc="include" removeInRFC="false" pn="section-5.7.4">
          <name slugifiedName="name-sr-segment-list-identifier-">SR Segment List Identifier Sub-TLV</name>
          <t indent="0" pn="section-5.7.4-1">The SR Segment List Identifier sub-TLV is an optional sub-TLV
          used to report an identifier associated with the specific SID list.
          Only a single instance of this sub-TLV is advertised for a given
          segment list. If multiple instances are present, then the first
          valid one (i.e., not determined to be malformed as per 
          <xref target="RFC9552" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9552#section-8.2.2" derivedContent="RFC9552"/>) is used and the rest are ignored.</t>
          <t indent="0" pn="section-5.7.4-2">It is a sub-TLV of the SR Segment List TLV and has the following
          format: </t>
          <figure align="left" suppress-title="false" pn="figure-33">
            <name slugifiedName="name-sr-segment-list-identifier-s">SR Segment List Identifier Sub-TLV Format</name>
            <artwork align="left" name="" type="" alt="" pn="section-5.7.4-3.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             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Segment List Identifier                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
          </figure>
          <t indent="0" pn="section-5.7.4-4">Where:</t>
          <dl spacing="normal" newline="false" indent="3" pn="section-5.7.4-5">
            <dt pn="section-5.7.4-5.1">Type:</dt>
            <dd pn="section-5.7.4-5.2">1217</dd>
            <dt pn="section-5.7.4-5.3">Length:</dt>
            <dd pn="section-5.7.4-5.4">4 octets</dd>
            <dt pn="section-5.7.4-5.5">Segment List Identifier:</dt>
            <dd pn="section-5.7.4-5.6">4 octets that carry a 32-bit
            unsigned non-zero integer that serves as the identifier associated
            with the segment list. A value of 0 indicates that there is no
            identifier associated with the segment list. The scope of this
            identifier is the SR Policy candidate path.</dd>
          </dl>
        </section>
      </section>
    </section>
    <section anchor="Procedures" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-procedures">Procedures</name>
      <t indent="0" pn="section-6-1">The BGP-LS advertisements for the SR Policy Candidate Path NLRI type
      are generally originated by the headend node for the SR Policies that
      are instantiated on its local node (i.e., the headend is the BGP-LS
      Producer). The BGP-LS Producer may also be a node (e.g., a PCE) that is
      advertising on behalf of the headend.</t>
      <t indent="0" pn="section-6-2">For the reporting of SR Policy candidate paths, the NLRI descriptor
      TLV as specified in <xref target="SRPOLICYCP" format="default" sectionFormat="of" derivedContent="Section 4"/> is used. An SR Policy
      candidate path may be instantiated on the headend node via a local
      configuration, PCEP, or BGP SR Policy signaling, and this is indicated
      via the SR Protocol-Origin. When a PCE node is the BGP-LS Producer, it
      uses the "in PCEP" variants of the SR Protocol-Origin (where available)
      so as to distinguish them from advertisements by headend nodes. The SR
      Policy candidate path's state and attributes are encoded in the BGP-LS
      Attribute field as SR Policy State TLVs and sub-TLVs as described in
      <xref target="SRPOLICYTLVS" format="default" sectionFormat="of" derivedContent="Section 5"/>. The SR Candidate Path State TLV as
      defined in <xref target="CPSTATE" format="default" sectionFormat="of" derivedContent="Section 5.3"/> is included to report the state of
      the candidate path. The SR BSID TLV as defined in Sections <xref target="CPBSID" format="counter" sectionFormat="of" derivedContent="5.1"/> and <xref target="CPBSIDSRV6" format="counter" sectionFormat="of" derivedContent="5.2"/> is included to report
      the BSID of the candidate path when one is either specified or allocated
      by the headend. The constraints and the optimization metric for the SR
      Policy candidate path are reported using the SR Candidate Path
      Constraints TLV and its sub-TLVs as described in <xref target="CPCONSTRAINTS" format="default" sectionFormat="of" derivedContent="Section 5.6"/>. The SR Segment List TLV is included for each SID list(s) associated with the candidate path. Each SR Segment
      List TLV in turn includes an SR Segment sub-TLV(s) to report the segment(s)
      and its status. The SR Segment List Metric sub-TLV is used to report
      the metric values at an individual SID list level.</t>
    </section>
    <section anchor="Manageability" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-manageability-consideration">Manageability Considerations</name>
      <t indent="0" pn="section-7-1">The existing BGP operational and management procedures apply to this
      document. No new procedures are defined in this document. The
      considerations as specified in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/> apply to this
      document.</t>
      <t indent="0" pn="section-7-2">In general, the SR Policy headend nodes are responsible for the
      advertisement of SR Policy state information.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-8-1">This section describes the code point allocations by IANA for this
      document.</t>
      <section anchor="NLRITYPES" numbered="true" toc="include" removeInRFC="false" pn="section-8.1">
        <name slugifiedName="name-bgp-ls-nlri-types">BGP-LS NLRI Types</name>
        <t indent="0" pn="section-8.1-1">IANA maintains a registry called "BGP-LS NLRI Types" under the "Border
        Gateway Protocol - Link State (BGP-LS) Parameters" registry group.</t>
        <t indent="0" pn="section-8.1-2">The following NLRI Type code point has been allocated
        by IANA:</t>
        <table align="center" pn="table-2">
          <name slugifiedName="name-nlri-type-code-point">NLRI Type Code Point</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Type</th>
              <th align="left" colspan="1" rowspan="1">NLRI Type</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">5</td>
              <td align="left" colspan="1" rowspan="1">SR Policy Candidate Path NLRI</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="PROTOCOLIDS" numbered="true" toc="include" removeInRFC="false" pn="section-8.2">
        <name slugifiedName="name-bgp-ls-protocol-ids">BGP-LS Protocol-IDs</name>
        <t indent="0" pn="section-8.2-1">IANA maintains a registry called "BGP-LS Protocol-IDs" under the
        "Border Gateway Protocol - Link State (BGP-LS) Parameters" registry
        group.</t>
        <t indent="0" pn="section-8.2-2">The following Protocol-ID code point has been allocated by
        IANA:</t>
        <table align="center" pn="table-3">
          <name slugifiedName="name-protocol-id-code-point">Protocol-ID Code Point</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Protocol-ID</th>
              <th align="left" colspan="1" rowspan="1">NLRI information source protocol</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">9</td>
              <td align="left" colspan="1" rowspan="1">Segment Routing</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="BGPLSTLVS" numbered="true" toc="include" removeInRFC="false" pn="section-8.3">
        <name slugifiedName="name-bgp-ls-tlvs">BGP-LS TLVs</name>
        <t indent="0" pn="section-8.3-1">IANA maintains a registry called "BGP-LS NLRI and Attribute TLVs"
        under the "Border Gateway Protocol - Link State (BGP-LS) Parameters"
        registry group.</t>
        <t indent="0" pn="section-8.3-2">The following table lists the TLV code points that have been
        allocated by IANA:</t>
        <table align="center" pn="table-4">
          <name slugifiedName="name-nlri-and-attribute-tlv-code">NLRI and Attribute TLV Code Points</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">TLV Code Point</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">554</td>
              <td align="left" colspan="1" rowspan="1">SR Policy Candidate Path Descriptor</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1201</td>
              <td align="left" colspan="1" rowspan="1">SR Binding SID</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1202</td>
              <td align="left" colspan="1" rowspan="1">SR Candidate Path State</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1203</td>
              <td align="left" colspan="1" rowspan="1">SR Candidate Path Name</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1204</td>
              <td align="left" colspan="1" rowspan="1">SR Candidate Path Constraints</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1205</td>
              <td align="left" colspan="1" rowspan="1">SR Segment List</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1206</td>
              <td align="left" colspan="1" rowspan="1">SR Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1207</td>
              <td align="left" colspan="1" rowspan="1">SR Segment List Metric</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1208</td>
              <td align="left" colspan="1" rowspan="1">SR Affinity Constraint</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1209</td>
              <td align="left" colspan="1" rowspan="1">SR SRLG Constraint</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1210</td>
              <td align="left" colspan="1" rowspan="1">SR Bandwidth Constraint</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1211</td>
              <td align="left" colspan="1" rowspan="1">SR Disjoint Group Constraint</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1212</td>
              <td align="left" colspan="1" rowspan="1">SRv6 Binding SID</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1213</td>
              <td align="left" colspan="1" rowspan="1">SR Policy Name</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1214</td>
              <td align="left" colspan="1" rowspan="1">SR Bidirectional Group Constraint</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1215</td>
              <td align="left" colspan="1" rowspan="1">SR Metric Constraint</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1216</td>
              <td align="left" colspan="1" rowspan="1">SR Segment List Bandwidth</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1217</td>
              <td align="left" colspan="1" rowspan="1">SR Segment List Identifier</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="PROTOCOLORIGINS" numbered="true" toc="include" removeInRFC="false" pn="section-8.4">
        <name slugifiedName="name-sr-policy-protocol-origin">SR Policy Protocol-Origin</name>
        <t indent="0" pn="section-8.4-1">Per this document, IANA has created and maintains a new registry called "SR Policy Protocol-Origin" under
        the "Segment Routing" registry group with the allocation policy of Expert
        Review <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/> using the guidelines for designated
        experts as specified in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>. This registry contains the code points allocated to the
        "Protocol-Origin" field defined in <xref target="SRPOLICYCP" format="default" sectionFormat="of" derivedContent="Section 4"/>.</t>
        <t indent="0" pn="section-8.4-2">IANA has assigned the initial values as follows:</t>
        <table align="center" pn="table-5">
          <name slugifiedName="name-sr-policy-protocol-origin-c">SR Policy Protocol-Origin Code Points</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Code Point</th>
              <th align="left" colspan="1" rowspan="1">Protocol-Origin</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">PCEP</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">BGP SR Policy</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">Configuration (CLI, YANG model via NETCONF, etc.)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4-9</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">10</td>
              <td align="left" colspan="1" rowspan="1">PCEP (in PCEP or when BGP-LS Producer is PCE)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">11-19</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">20</td>
              <td align="left" colspan="1" rowspan="1">BGP SR Policy (in PCEP or when BGP-LS Producer is PCE)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">21-29</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">30</td>
              <td align="left" colspan="1" rowspan="1">Configuration (CLI, YANG model via NETCONF, etc. In PCEP or when BGP-LS Producer is PCE)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">31-250</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">251-255</td>
              <td align="left" colspan="1" rowspan="1">Reserved for Private Use</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="SEGDESC" numbered="true" toc="include" removeInRFC="false" pn="section-8.5">
        <name slugifiedName="name-bgp-ls-sr-segment-descripto">BGP-LS SR Segment Descriptors</name>
        <t indent="0" pn="section-8.5-1">Per this document, IANA has created a registry called "BGP-LS SR Segment
        Descriptor Types" under the "Border Gateway Protocol - Link State
        (BGP-LS) Parameters" registry group with the allocation policy of
        Expert Review <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/> using the guidelines for
        designated experts as specified in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>. There is
        also an additional guideline for the designated experts to maintain the
        alignment between the allocations in this registry with those in the
        "Segment Types" registry under the "Segment Routing" registry group.
        This requires that an allocation in the Segment Routing "Segment
        Types" registry is required before allocation can be done in the
        "BGP-LS SR Segment Descriptor Types" registry for a new segment type.
        However, this does not mandate that the specification of a new Segment
        Routing Segment Type also requires the specification of its equivalent
        SR Segment Descriptor Type in BGP-LS; that can be done as and when
        required while maintaining alignment.</t>
        <t indent="0" pn="section-8.5-2">This registry contains the code points allocated to the "Segment
        Type" field defined in <xref target="SEGMENTTLV" format="default" sectionFormat="of" derivedContent="Section 5.7.1"/> and described in
        <xref target="SEGMENTDESC" format="default" sectionFormat="of" derivedContent="Section 5.7.1.1"/>. IANA has assigned the initial values as follows:</t>
        <table align="center" pn="table-6">
          <name slugifiedName="name-bgp-ls-sr-segment-descriptor">BGP-LS SR Segment Descriptor Type Code Points</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Code Point</th>
              <th align="left" colspan="1" rowspan="1">Segment Descriptor</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">Type A Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">Type B Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">Type C Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">Type D Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">5</td>
              <td align="left" colspan="1" rowspan="1">Type E Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">Type F Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">7</td>
              <td align="left" colspan="1" rowspan="1">Type G Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">8</td>
              <td align="left" colspan="1" rowspan="1">Type H Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">9</td>
              <td align="left" colspan="1" rowspan="1">Type I Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">10</td>
              <td align="left" colspan="1" rowspan="1">Type J Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">11</td>
              <td align="left" colspan="1" rowspan="1">Type K Segment</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">12-255</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="METRICTYPE" numbered="true" toc="include" removeInRFC="false" pn="section-8.6">
        <name slugifiedName="name-bgp-ls-sr-policy-metric-typ">BGP-LS SR Policy Metric Type</name>
        <t indent="0" pn="section-8.6-1">Per this document, IANA has created a registry called "BGP-LS SR
        Policy Metric Types" under the "Border Gateway Protocol - Link State
        (BGP-LS) Parameters" registry group with the allocation policy of
        Expert Review <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/> using the guidelines for
        designated experts as specified in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>. This
        registry contains the code points allocated to the metric type field
        defined in <xref target="SLMETRIC" format="default" sectionFormat="of" derivedContent="Section 5.7.2"/>. IANA has assigned the initial values as follows:</t>
        <table align="center" pn="table-7">
          <name slugifiedName="name-sr-policy-metric-type-code-">SR Policy Metric Type Code Point</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Code Point</th>
              <th align="left" colspan="1" rowspan="1">Metric Type</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">IGP</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">Min Unidirectional Delay</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">TE</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">Hop Count</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">SID List Length</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">5</td>
              <td align="left" colspan="1" rowspan="1">Bandwidth</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">Avg Unidirectional Delay</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">7</td>
              <td align="left" colspan="1" rowspan="1">Unidirectional Delay Variation</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">8</td>
              <td align="left" colspan="1" rowspan="1">Loss</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">9-127</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">128-255</td>
              <td align="left" colspan="1" rowspan="1">User Defined</td>
              <td align="left" colspan="1" rowspan="1">RFC 9857</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-9-1">Procedures and protocol extensions defined in this document do not
      affect the base BGP security model. See <xref target="RFC6952" format="default" sectionFormat="of" derivedContent="RFC6952"/> for
      details. The security considerations of the base BGP-LS specification as
      described in <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/> also apply.</t>
      <t indent="0" pn="section-9-2">The BGP-LS SR Policy extensions specified in this document enable
      TE and service programming use cases within an SR
      domain as described in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>. SR operates within a
      trusted SR domain <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>, and its security
      considerations also apply to BGP sessions when carrying SR Policy
      information. The SR Policies advertised to controllers and other
      applications via BGP-LS are expected to be used entirely within this
      trusted SR domain, i.e., within a single AS or between multiple
      ASes/domains within a single provider network. Therefore, precaution is
      necessary to ensure that the SR Policy information advertised via BGP
      sessions is limited to nodes and/or controllers/applications in a secure
      manner within this trusted SR domain. The general guidance for BGP-LS
      with respect to isolation of BGP-LS sessions from BGP sessions for other
      address-families (refer to the security considerations of <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>) may be used to ensure that the SR Policy information
      is not advertised to an External BGP (EBGP) peering session
      outside the SR domain by accident or error.</t>
      <t indent="0" pn="section-9-3">Additionally, it may be considered that the export of SR Policy
      information, as described in this document, constitutes a risk to
      the confidentiality of mission-critical or commercially sensitive
      information about the network (more specifically, endpoint/node
      addresses, SR SIDs, and the SR Policies deployed). BGP peerings are not
      automatic and require configuration. Thus, it is the responsibility of
      the network operator to ensure that only trusted nodes (that include
      both routers and controller applications) within the SR domain are
      configured to receive such information.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-idr-bgp-ls-te-path" to="BGP-LS-TE-PATH"/>
    <references pn="section-10">
      <name slugifiedName="name-references">References</name>
      <references pn="section-10.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <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="RFC2328" target="https://www.rfc-editor.org/info/rfc2328" quoteTitle="true" derivedAnchor="RFC2328">
          <front>
            <title>OSPF Version 2</title>
            <author fullname="J. Moy" initials="J." surname="Moy"/>
            <date month="April" year="1998"/>
            <abstract>
              <t indent="0">This memo documents version 2 of the OSPF protocol. OSPF is a link- state routing protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="54"/>
          <seriesInfo name="RFC" value="2328"/>
          <seriesInfo name="DOI" value="10.17487/RFC2328"/>
        </reference>
        <reference anchor="RFC3630" target="https://www.rfc-editor.org/info/rfc3630" quoteTitle="true" derivedAnchor="RFC3630">
          <front>
            <title>Traffic Engineering (TE) Extensions to OSPF Version 2</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="D. Yeung" initials="D." surname="Yeung"/>
            <date month="September" year="2003"/>
            <abstract>
              <t indent="0">This document describes extensions to the OSPF protocol version 2 to support intra-area Traffic Engineering (TE), using Opaque Link State Advertisements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3630"/>
          <seriesInfo name="DOI" value="10.17487/RFC3630"/>
        </reference>
        <reference anchor="RFC5305" target="https://www.rfc-editor.org/info/rfc5305" quoteTitle="true" derivedAnchor="RFC5305">
          <front>
            <title>IS-IS Extensions for Traffic Engineering</title>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="H. Smit" initials="H." surname="Smit"/>
            <date month="October" year="2008"/>
            <abstract>
              <t indent="0">This document describes extensions to the Intermediate System to Intermediate System (IS-IS) protocol to support Traffic Engineering (TE). This document extends the IS-IS protocol by specifying new information that an Intermediate System (router) can place in Link State Protocol Data Units (LSP). This information describes additional details regarding the state of the network that are useful for traffic engineering computations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5305"/>
          <seriesInfo name="DOI" value="10.17487/RFC5305"/>
        </reference>
        <reference anchor="RFC5329" target="https://www.rfc-editor.org/info/rfc5329" quoteTitle="true" derivedAnchor="RFC5329">
          <front>
            <title>Traffic Engineering Extensions to OSPF Version 3</title>
            <author fullname="K. Ishiguro" initials="K." surname="Ishiguro"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="A. Davey" initials="A." surname="Davey"/>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <date month="September" year="2008"/>
            <abstract>
              <t indent="0">This document describes extensions to OSPFv3 to support intra-area Traffic Engineering (TE). This document extends OSPFv2 TE to handle IPv6 networks. A new TLV and several new sub-TLVs are defined to support IPv6 networks. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5329"/>
          <seriesInfo name="DOI" value="10.17487/RFC5329"/>
        </reference>
        <reference anchor="RFC5340" target="https://www.rfc-editor.org/info/rfc5340" quoteTitle="true" derivedAnchor="RFC5340">
          <front>
            <title>OSPF for IPv6</title>
            <author fullname="R. Coltun" initials="R." surname="Coltun"/>
            <author fullname="D. Ferguson" initials="D." surname="Ferguson"/>
            <author fullname="J. Moy" initials="J." surname="Moy"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="July" year="2008"/>
            <abstract>
              <t indent="0">This document describes the modifications to OSPF to support version 6 of the Internet Protocol (IPv6). The fundamental mechanisms of OSPF (flooding, Designated Router (DR) election, area support, Short Path First (SPF) calculations, etc.) remain unchanged. However, some changes have been necessary, either due to changes in protocol semantics between IPv4 and IPv6, or simply to handle the increased address size of IPv6. These modifications will necessitate incrementing the protocol version from version 2 to version 3. OSPF for IPv6 is also referred to as OSPF version 3 (OSPFv3).</t>
              <t indent="0">Changes between OSPF for IPv4, OSPF Version 2, and OSPF for IPv6 as described herein include the following. Addressing semantics have been removed from OSPF packets and the basic Link State Advertisements (LSAs). New LSAs have been created to carry IPv6 addresses and prefixes. OSPF now runs on a per-link basis rather than on a per-IP-subnet basis. Flooding scope for LSAs has been generalized. Authentication has been removed from the OSPF protocol and instead relies on IPv6's Authentication Header and Encapsulating Security Payload (ESP).</t>
              <t indent="0">Even with larger IPv6 addresses, most packets in OSPF for IPv6 are almost as compact as those in OSPF for IPv4. Most fields and packet- size limitations present in OSPF for IPv4 have been relaxed. In addition, option handling has been made more flexible.</t>
              <t indent="0">All of OSPF for IPv4's optional capabilities, including demand circuit support and Not-So-Stubby Areas (NSSAs), are also supported in OSPF for IPv6. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5340"/>
          <seriesInfo name="DOI" value="10.17487/RFC5340"/>
        </reference>
        <reference anchor="RFC5440" target="https://www.rfc-editor.org/info/rfc5440" quoteTitle="true" derivedAnchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author fullname="JP. Vasseur" initials="JP." role="editor" surname="Vasseur"/>
            <author fullname="JL. Le Roux" initials="JL." role="editor" surname="Le Roux"/>
            <date month="March" year="2009"/>
            <abstract>
              <t indent="0">This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs. Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering. PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5440"/>
          <seriesInfo name="DOI" value="10.17487/RFC5440"/>
        </reference>
        <reference anchor="RFC7471" target="https://www.rfc-editor.org/info/rfc7471" quoteTitle="true" derivedAnchor="RFC7471">
          <front>
            <title>OSPF Traffic Engineering (TE) Metric Extensions</title>
            <author fullname="S. Giacalone" initials="S." surname="Giacalone"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="A. Atlas" initials="A." surname="Atlas"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <date month="March" year="2015"/>
            <abstract>
              <t indent="0">In certain networks, such as, but not limited to, financial information networks (e.g., stock market data providers), network performance information (e.g., link propagation delay) is becoming critical to data path selection.</t>
              <t indent="0">This document describes common extensions to RFC 3630 "Traffic Engineering (TE) Extensions to OSPF Version 2" and RFC 5329 "Traffic Engineering Extensions to OSPF Version 3" to enable network performance information to be distributed in a scalable fashion. The information distributed using OSPF TE Metric Extensions can then be used to make path selection decisions based on network performance.</t>
              <t indent="0">Note that this document only covers the mechanisms by which network performance information is distributed. The mechanisms for measuring network performance information or using that information, once distributed, are outside the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7471"/>
          <seriesInfo name="DOI" value="10.17487/RFC7471"/>
        </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="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="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="RFC8570" target="https://www.rfc-editor.org/info/rfc8570" quoteTitle="true" derivedAnchor="RFC8570">
          <front>
            <title>IS-IS Traffic Engineering (TE) Metric Extensions</title>
            <author fullname="L. Ginsberg" initials="L." role="editor" surname="Ginsberg"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="S. Giacalone" initials="S." surname="Giacalone"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="March" year="2019"/>
            <abstract>
              <t indent="0">In certain networks, such as, but not limited to, financial information networks (e.g., stock market data providers), network-performance criteria (e.g., latency) are becoming as critical to data-path selection as other metrics.</t>
              <t indent="0">This document describes extensions to IS-IS Traffic Engineering Extensions (RFC 5305). These extensions provide a way to distribute and collect network-performance information in a scalable fashion. The information distributed using IS-IS TE Metric Extensions can then be used to make path-selection decisions based on network performance.</t>
              <t indent="0">Note that this document only covers the mechanisms with which network-performance information is distributed. The mechanisms for measuring network performance or acting on that information, once distributed, are outside the scope of this document.</t>
              <t indent="0">This document obsoletes RFC 7810.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8570"/>
          <seriesInfo name="DOI" value="10.17487/RFC8570"/>
        </reference>
        <reference anchor="RFC8664" target="https://www.rfc-editor.org/info/rfc8664" quoteTitle="true" derivedAnchor="RFC8664">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing</title>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="J. Hardwick" initials="J." surname="Hardwick"/>
            <date month="December" year="2019"/>
            <abstract>
              <t indent="0">Segment Routing (SR) enables any head-end node to select any path without relying on a hop-by-hop signaling technique (e.g., LDP or RSVP-TE). It depends only on "segments" that are advertised by link-state Interior Gateway Protocols (IGPs). An SR path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), an explicit configuration, or a Path Computation Element (PCE). This document specifies extensions to the Path Computation Element Communication Protocol (PCEP) that allow a stateful PCE to compute and initiate Traffic-Engineering (TE) paths, as well as a Path Computation Client (PCC) to request a path subject to certain constraints and optimization criteria in SR networks.</t>
              <t indent="0">This document updates RFC 8408.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8664"/>
          <seriesInfo name="DOI" value="10.17487/RFC8664"/>
        </reference>
        <reference anchor="RFC8697" target="https://www.rfc-editor.org/info/rfc8697" quoteTitle="true" derivedAnchor="RFC8697">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships between Sets of Label Switched Paths (LSPs)</title>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="D. Dhody" initials="D." surname="Dhody"/>
            <author fullname="Y. Tanaka" initials="Y." surname="Tanaka"/>
            <date month="January" year="2020"/>
            <abstract>
              <t indent="0">This document introduces a generic mechanism to create a grouping of Label Switched Paths (LSPs) in the context of a Path Computation Element (PCE). This grouping can then be used to define associations between sets of LSPs or between a set of LSPs and a set of attributes (such as configuration parameters or behaviors), and it is equally applicable to the stateful PCE (active and passive modes) and the stateless PCE.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8697"/>
          <seriesInfo name="DOI" value="10.17487/RFC8697"/>
        </reference>
        <reference anchor="RFC8986" target="https://www.rfc-editor.org/info/rfc8986" quoteTitle="true" derivedAnchor="RFC8986">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="February" year="2021"/>
            <abstract>
              <t indent="0">The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t indent="0">Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t indent="0">This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
        <reference anchor="RFC9086" target="https://www.rfc-editor.org/info/rfc9086" quoteTitle="true" derivedAnchor="RFC9086">
          <front>
            <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing BGP Egress Peer Engineering</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="S. Ray" initials="S." surname="Ray"/>
            <author fullname="J. Dong" initials="J." surname="Dong"/>
            <date month="August" year="2021"/>
            <abstract>
              <t indent="0">A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with a list of segment identifiers (SIDs). A segment can represent any instruction, topological or service based. SR segments allow steering a flow through any topological path and service chain while maintaining per-flow state only at the ingress node of the SR domain.</t>
              <t indent="0">This document describes an extension to Border Gateway Protocol - Link State (BGP-LS) for advertisement of BGP Peering Segments along with their BGP peering node information so that efficient BGP Egress Peer Engineering (EPE) policies and strategies can be computed based on Segment Routing.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9086"/>
          <seriesInfo name="DOI" value="10.17487/RFC9086"/>
        </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="RFC9514" target="https://www.rfc-editor.org/info/rfc9514" quoteTitle="true" derivedAnchor="RFC9514">
          <front>
            <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6)</title>
            <author fullname="G. Dawra" initials="G." surname="Dawra"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <author fullname="D. Bernier" initials="D." surname="Bernier"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <date month="December" year="2023"/>
            <abstract>
              <t indent="0">Segment Routing over IPv6 (SRv6) allows for a flexible definition of end-to-end paths within various topologies by encoding paths as sequences of topological or functional sub-paths called "segments". These segments are advertised by various protocols such as BGP, IS-IS, and OSPFv3.</t>
              <t indent="0">This document defines extensions to BGP - Link State (BGP-LS) to advertise SRv6 segments along with their behaviors and other attributes via BGP. The BGP-LS address-family solution for SRv6 described in this document is similar to BGP-LS for SR for the MPLS data plane, which is defined in RFC 9085.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9514"/>
          <seriesInfo name="DOI" value="10.17487/RFC9514"/>
        </reference>
        <reference anchor="RFC9552" target="https://www.rfc-editor.org/info/rfc9552" quoteTitle="true" derivedAnchor="RFC9552">
          <front>
            <title>Distribution of Link-State and Traffic Engineering Information Using BGP</title>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <date month="December" year="2023"/>
            <abstract>
              <t indent="0">In many environments, a component external to a network is called upon to perform computations based on the network topology and the current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
              <t indent="0">This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism applies to physical and virtual (e.g., tunnel) IGP links. The mechanism described is subject to policy control.</t>
              <t indent="0">Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
              <t indent="0">This document obsoletes RFC 7752 by completely replacing that document. It makes some small changes and clarifications to the previous specification. This document also obsoletes RFC 9029 by incorporating the updates that it made to RFC 7752.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9552"/>
          <seriesInfo name="DOI" value="10.17487/RFC9552"/>
        </reference>
        <reference anchor="RFC9843" target="https://www.rfc-editor.org/info/rfc9843" quoteTitle="true" derivedAnchor="RFC9843">
          <front>
            <title>IGP Flexible Algorithms: Bandwidth, Delay, Metrics, and Constraints</title>
            <author fullname="S. Hegde" initials="S." surname="Hegde"/>
            <author fullname="W. Britto" initials="W." surname="Britto"/>
            <author fullname="R. Shetty" initials="R." surname="Shetty"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <date month="September" year="2025"/>
            <abstract>
              <t indent="0">Many networks configure the IGP link metric relative to the link capacity, and high bandwidth traffic gets routed per the link capacity. Flexible Algorithms provide mechanisms to create constraint-based paths in an IGP. This specification documents a generic metric-type and a set of bandwidth-related constraints to be used in Flexible Algorithms.</t>
              <t indent="0">This document updates RFC 9350.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9843"/>
          <seriesInfo name="DOI" value="10.17487/RFC9843"/>
        </reference>
      </references>
      <references pn="section-10.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-idr-bgp-ls-te-path" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ls-te-path-02" quoteTitle="true" derivedAnchor="BGP-LS-TE-PATH">
          <front>
            <title>Advertisement of Traffic Engineering Paths 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="November" day="11" year="2024"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-ls-te-path-02"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="IEEE754" target="https://ieeexplore.ieee.org/document/8766229" quoteTitle="true" derivedAnchor="IEEE754">
          <front>
            <title>IEEE Standard for Floating-Point Arithmetic</title>
            <author>
              <organization abbrev="IEEE" showOnFrontPage="true">Institute of Electrical and Electronics Engineers</organization>
            </author>
            <date day="22" month="July" year="2019"/>
          </front>
          <seriesInfo name="IEEE Std" value="754-2019"/>
          <seriesInfo name="DOI" value="10.1109/ieeestd.2019.8766229"/>
        </reference>
        <reference anchor="RFC2702" target="https://www.rfc-editor.org/info/rfc2702" quoteTitle="true" derivedAnchor="RFC2702">
          <front>
            <title>Requirements for Traffic Engineering Over MPLS</title>
            <author fullname="D. Awduche" initials="D." surname="Awduche"/>
            <author fullname="J. Malcolm" initials="J." surname="Malcolm"/>
            <author fullname="J. Agogbua" initials="J." surname="Agogbua"/>
            <author fullname="M. O'Dell" initials="M." surname="O'Dell"/>
            <author fullname="J. McManus" initials="J." surname="McManus"/>
            <date month="September" year="1999"/>
            <abstract>
              <t indent="0">This document presents a set of requirements for Traffic Engineering over Multiprotocol Label Switching (MPLS). It identifies the functional capabilities required to implement policies that facilitate efficient and reliable network operations in an MPLS domain. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2702"/>
          <seriesInfo name="DOI" value="10.17487/RFC2702"/>
        </reference>
        <reference anchor="RFC4202" target="https://www.rfc-editor.org/info/rfc4202" quoteTitle="true" derivedAnchor="RFC4202">
          <front>
            <title>Routing Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)</title>
            <author fullname="K. Kompella" initials="K." role="editor" surname="Kompella"/>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <date month="October" year="2005"/>
            <abstract>
              <t indent="0">This document specifies routing extensions in support of carrying link state information for Generalized Multi-Protocol Label Switching (GMPLS). This document enhances the routing extensions required to support MPLS Traffic Engineering (TE). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4202"/>
          <seriesInfo name="DOI" value="10.17487/RFC4202"/>
        </reference>
        <reference anchor="RFC4655" target="https://www.rfc-editor.org/info/rfc4655" quoteTitle="true" derivedAnchor="RFC4655">
          <front>
            <title>A Path Computation Element (PCE)-Based Architecture</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>
            <author fullname="J. Ash" initials="J." surname="Ash"/>
            <date month="August" year="2006"/>
            <abstract>
              <t indent="0">Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
              <t indent="0">This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
        </reference>
        <reference anchor="RFC5065" target="https://www.rfc-editor.org/info/rfc5065" quoteTitle="true" derivedAnchor="RFC5065">
          <front>
            <title>Autonomous System Confederations for BGP</title>
            <author fullname="P. Traina" initials="P." surname="Traina"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <date month="August" year="2007"/>
            <abstract>
              <t indent="0">The Border Gateway Protocol (BGP) is an inter-autonomous system routing protocol designed for Transmission Control Protocol/Internet Protocol (TCP/IP) networks. BGP requires that all BGP speakers within a single autonomous system (AS) must be fully meshed. This represents a serious scaling problem that has been well documented in a number of proposals.</t>
              <t indent="0">This document describes an extension to BGP that may be used to create a confederation of autonomous systems that is represented as a single autonomous system to BGP peers external to the confederation, thereby removing the "full mesh" requirement. The intention of this extension is to aid in policy administration and reduce the management complexity of maintaining a large autonomous system.</t>
              <t indent="0">This document obsoletes RFC 3065. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5065"/>
          <seriesInfo name="DOI" value="10.17487/RFC5065"/>
        </reference>
        <reference anchor="RFC6952" target="https://www.rfc-editor.org/info/rfc6952" quoteTitle="true" derivedAnchor="RFC6952">
          <front>
            <title>Analysis of BGP, LDP, PCEP, and MSDP Issues According to the Keying and Authentication for Routing Protocols (KARP) Design Guide</title>
            <author fullname="M. Jethanandani" initials="M." surname="Jethanandani"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="L. Zheng" initials="L." surname="Zheng"/>
            <date month="May" year="2013"/>
            <abstract>
              <t indent="0">This document analyzes TCP-based routing protocols, the Border Gateway Protocol (BGP), the Label Distribution Protocol (LDP), the Path Computation Element Communication Protocol (PCEP), and the Multicast Source Distribution Protocol (MSDP), according to guidelines set forth in Section 4.2 of "Keying and Authentication for Routing Protocols Design Guidelines", RFC 6518.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6952"/>
          <seriesInfo name="DOI" value="10.17487/RFC6952"/>
        </reference>
        <reference anchor="RFC7308" target="https://www.rfc-editor.org/info/rfc7308" quoteTitle="true" derivedAnchor="RFC7308">
          <front>
            <title>Extended Administrative Groups in MPLS Traffic Engineering (MPLS-TE)</title>
            <author fullname="E. Osborne" initials="E." surname="Osborne"/>
            <date month="July" year="2014"/>
            <abstract>
              <t indent="0">MPLS Traffic Engineering (MPLS-TE) advertises 32 administrative groups (commonly referred to as "colors" or "link colors") using the Administrative Group sub-TLV. This is defined for OSPFv2 (RFC 3630), OSPFv3 (RFC 5329) and IS-IS (RFC 5305).</t>
              <t indent="0">This document adds a sub-TLV to the IGP TE extensions, "Extended Administrative Group". This sub-TLV provides for additional administrative groups (link colors) beyond the current limit of 32.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7308"/>
          <seriesInfo name="DOI" value="10.17487/RFC7308"/>
        </reference>
        <reference anchor="RFC8231" target="https://www.rfc-editor.org/info/rfc8231" quoteTitle="true" derivedAnchor="RFC8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="September" year="2017"/>
            <abstract>
              <t indent="0">The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t indent="0">Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions. This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="RFC8800" target="https://www.rfc-editor.org/info/rfc8800" quoteTitle="true" derivedAnchor="RFC8800">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extension for Label Switched Path (LSP) Diversity Constraint Signaling</title>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="C. Barth" initials="C." surname="Barth"/>
            <author fullname="M. Negi" initials="M." surname="Negi"/>
            <date month="July" year="2020"/>
            <abstract>
              <t indent="0">This document introduces a simple mechanism to associate a group of Label Switched Paths (LSPs) via an extension to the Path Computation Element Communication Protocol (PCEP) with the purpose of computing diverse (disjointed) paths for those LSPs. The proposed extension allows a Path Computation Client (PCC) to advertise to a Path Computation Element (PCE) that a particular LSP belongs to a particular Disjoint Association Group; thus, the PCE knows that the LSPs in the same group need to be disjoint from each other.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8800"/>
          <seriesInfo name="DOI" value="10.17487/RFC8800"/>
        </reference>
        <reference anchor="RFC9830" target="https://www.rfc-editor.org/info/rfc9830" quoteTitle="true" derivedAnchor="RFC9830">
          <front>
            <title>Advertising Segment Routing Policies in BGP</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <author fullname="D. Jain" initials="D." surname="Jain"/>
            <date month="September" year="2025"/>
            <abstract>
              <t indent="0">A Segment Routing (SR) Policy is an ordered list of segments (also referred to as "instructions") that define a source-routed policy. An SR Policy consists of one or more Candidate Paths (CPs), each comprising one or more segment lists. A headend can be provisioned with these CPs using various mechanisms such as Command-Line Interface (CLI), Network Configuration Protocol (NETCONF), Path Computation Element Communication Protocol (PCEP), or BGP.</t>
              <t indent="0">This document specifies how BGP can be used to distribute SR Policy CPs. It introduces a BGP SAFI for advertising a CP of an SR Policy and defines sub-TLVs for the Tunnel Encapsulation Attribute to signal information related to these CPs.</t>
              <t indent="0">Furthermore, this document updates RFC 9012 by extending the Color Extended Community to support additional steering modes over SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9830"/>
          <seriesInfo name="DOI" value="10.17487/RFC9830"/>
        </reference>
        <reference anchor="RFC9831" target="https://www.rfc-editor.org/info/rfc9831" quoteTitle="true" derivedAnchor="RFC9831">
          <front>
            <title>Segment Type Extensions for BGP Segment Routing (SR) Policy</title>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <author fullname="D. Jain" initials="D." surname="Jain"/>
            <date month="September" year="2025"/>
            <abstract>
              <t indent="0">This document specifies the signaling of additional Segment Routing (SR) Segment Types for SR Policies in BGP using the SR Policy Subsequent Address Family Identifier (SAFI).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9831"/>
          <seriesInfo name="DOI" value="10.17487/RFC9831"/>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">The authors would like to thank <contact fullname="Dhruv Dhody"/>,
      <contact fullname="Mohammed Abdul Aziz Khalid"/>, <contact fullname="Lou       Berger"/>, <contact fullname="Acee Lindem"/>, <contact fullname="Siva       Sivabalan"/>, <contact fullname="Arjun Sreekantiah"/>, <contact fullname="Dhanendra Jain"/>, <contact fullname="Francois Clad"/>,
      <contact fullname="Zafar Ali"/>, <contact fullname="Stephane       Litkowski"/>, <contact fullname="Aravind Babu Mahendra Babu"/>, <contact fullname="Geetanjalli Bhalla"/>, <contact fullname="Ahmed Bashandy"/>,
      <contact fullname="Mike Koldychev"/>, <contact fullname="Samuel       Sidor"/>, <contact fullname="Alex Tokar"/>, <contact fullname="Rajesh       Melarcode Venkatesswaran"/>, <contact fullname="Lin Changwang"/>,
      <contact fullname="Liu Yao"/>, <contact fullname="Joel Halpern"/>, and
      <contact fullname="Ned Smith"/> for their reviews and valuable
      comments. The authors would also like to thank <contact fullname="Susan       Hares"/> for her shepherd review and helpful comments to
      improve this document. The authors would like to thank <contact fullname="John Scudder"/> for his AD review and helpful suggestions to
      improve this document.</t>
    </section>
    <section anchor="Contributors" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.b-1">The following people have contributed substantially to the content of
      this document and should be considered coauthors:</t>
      <contact fullname="Clarence Filsfils">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <email>cfilsfil@cisco.com</email>
        </address>
      </contact>
      <contact fullname="Mach(Guoyi) Chen">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <email>mach.chen@huawei.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Stefano Previdi" initials="S." surname="Previdi">
        <organization showOnFrontPage="true">Individual</organization>
        <address>
          <email>stefano@previdi.net</email>
        </address>
      </author>
      <author fullname="Ketan Talaulikar" initials="K." role="editor" surname="Talaulikar">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <country>India</country>
          </postal>
          <email>ketant.ietf@gmail.com</email>
        </address>
      </author>
      <author fullname="Jie Dong" initials="J." surname="Dong">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Huawei Campus, No. 156 Beiqing Rd.</street>
            <city>Beijing</city>
            <code>100095</code>
            <country>China</country>
          </postal>
          <email>jie.dong@huawei.com</email>
        </address>
      </author>
      <author fullname="Hannes Gredler" initials="H." surname="Gredler">
        <organization showOnFrontPage="true">RtBrick Inc.</organization>
        <address>
          <email>hannes@rtbrick.com</email>
        </address>
      </author>
      <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
        <organization showOnFrontPage="true">Nvidia</organization>
        <address>
          <email>jefftant.ietf@gmail.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
