<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-ietf-pce-segment-routing-ipv6-25" number="9603" updates="" obsoletes="" category="std" consensus="true" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="false" symRefs="true" xml:lang="en" prepTime="2024-07-29T13:34:57" indexInclude="true" scripts="Common,Han,Latin">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-pce-segment-routing-ipv6-25" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9603" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="PCEP SRv6">Path Computation Element Communication Protocol (PCEP) Extensions for IPv6 Segment Routing</title>
    <seriesInfo name="RFC" value="9603" stream="IETF"/>
    <author fullname="李呈" asciiFullname="Cheng Li" role="editor">
      <organization ascii="Huawei Technologies" showOnFrontPage="true">华为技术有限公司</organization>
      <address>
        <postal>
          <street ascii="Huawei Campus, No. 156 Beiqing Rd.">华为北研所</street>
          <city ascii="Beijing">北京</city>
          <code>100095</code>
          <country ascii="China">中国</country>
        </postal>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <author initials="P." surname="Kaladharan" fullname="Prejeeth Kaladharan">
      <organization showOnFrontPage="true">RtBrick Inc</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>prejeeth@rtbrick.com</email>
      </address>
    </author>
    <author initials="S." surname="Sivabalan" fullname="Siva Sivabalan">
      <organization showOnFrontPage="true">Ciena Corporation</organization>
      <address>
        <email>msiva282@gmail.com</email>
      </address>
    </author>
    <author initials="M." surname="Koldychev" fullname="Mike Koldychev">
      <organization showOnFrontPage="true">Ciena Corporation</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>mkoldych@ciena.com</email>
      </address>
    </author>
    <author initials="Y." surname="Zhu" fullname="Yongqing Zhu">
      <organization showOnFrontPage="true">China Telecom</organization>
      <address>
        <postal>
          <street>109 West Zhongshan Ave, Tianhe District</street>
          <city>Bangalore</city>
          <region>Guangzhou</region>
          <country>China</country>
        </postal>
        <email>zhuyq8@chinatelecom.cn</email>
      </address>
    </author>
    <date month="07" year="2024"/>
    <area>RTG</area>
    <workgroup>pce</workgroup>
    <keyword>PCEP</keyword>
    <keyword>SRv6</keyword>
    <keyword>IPv6</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">Segment Routing (SR) can be used to steer packets through a network
      using the IPv6 or MPLS data plane, employing the source routing
      paradigm.</t>
      <t indent="0" pn="section-abstract-2">An SR Path can be derived from a variety of mechanisms,
      including an IGP Shortest Path Tree (SPT), explicit configuration, or a
      Path Computation Element (PCE).</t>
      <t indent="0" pn="section-abstract-3">Since SR can be applied to both MPLS and IPv6 data planes, a PCE
      should be able to compute an SR Path for both MPLS and IPv6 data
      planes. The Path Computation Element Communication Protocol (PCEP)
      extension and mechanisms to support SR-MPLS have been defined. This document outlines the
      necessary extensions to support SR for the IPv6 data plane within
      PCEP.</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/rfc9603" 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) 2024 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-terminology">Terminology</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-overview-of-pcep-operation-">Overview of PCEP Operation in SRv6 Networks</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-operation-overview">Operation Overview</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-srv6-specific-pcep-message-">SRv6-Specific PCEP Message Extensions</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-object-formats">Object Formats</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-open-object">The OPEN Object</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.1.2">
                  <li pn="section-toc.1-1.4.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.1.1"><xref derivedContent="4.1.1" format="counter" sectionFormat="of" target="section-4.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-srv6-pce-capability-sub">The SRv6 PCE Capability sub-TLV</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-rp-srp-object">The RP/SRP Object</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ero">ERO</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.3.2">
                  <li pn="section-toc.1-1.4.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.3.2.1.1"><xref derivedContent="4.3.1" format="counter" sectionFormat="of" target="section-4.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-ero-subobject">SRv6-ERO Subobject</xref></t>
                    <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.3.2.1.2">
                      <li pn="section-toc.1-1.4.2.3.2.1.2.1">
                        <t indent="0" pn="section-toc.1-1.4.2.3.2.1.2.1.1"><xref derivedContent="4.3.1.1" format="counter" sectionFormat="of" target="section-4.3.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sid-structure">SID Structure</xref></t>
                      </li>
                      <li pn="section-toc.1-1.4.2.3.2.1.2.2">
                        <t indent="0" pn="section-toc.1-1.4.2.3.2.1.2.2.1"><xref derivedContent="4.3.1.2" format="counter" sectionFormat="of" target="section-4.3.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-order-of-the-optional-field">Order of the Optional Fields</xref></t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rro">RRO</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.4.2">
                  <li pn="section-toc.1-1.4.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.4.2.1.1"><xref derivedContent="4.4.1" format="counter" sectionFormat="of" target="section-4.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-rro-subobject">SRv6-RRO Subobject</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-procedures">Procedures</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-exchanging-the-srv6-capabil">Exchanging the SRv6 Capability</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-ero-processing">ERO Processing</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.2.2">
                  <li pn="section-toc.1-1.5.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.1.1"><xref derivedContent="5.2.1" format="counter" sectionFormat="of" target="section-5.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-ero-validation">SRv6 ERO Validation</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.2.1"><xref derivedContent="5.2.2" format="counter" sectionFormat="of" target="section-5.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-interpreting-the-srv6-ero">Interpreting the SRv6-ERO</xref></t>
                  </li>
                </ul>
              </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-rro-processing">RRO Processing</xref></t>
              </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-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-manageability-consideration">Manageability Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-control-of-function-and-pol">Control of Function and Policy</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-information-and-data-models">Information and Data Models</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.3">
                <t indent="0" pn="section-toc.1-1.7.2.3.1"><xref derivedContent="7.3" format="counter" sectionFormat="of" target="section-7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-liveness-detection-and-moni">Liveness Detection and Monitoring</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.4">
                <t indent="0" pn="section-toc.1-1.7.2.4.1"><xref derivedContent="7.4" format="counter" sectionFormat="of" target="section-7.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-verify-correct-operations">Verify Correct Operations</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.5">
                <t indent="0" pn="section-toc.1-1.7.2.5.1"><xref derivedContent="7.5" format="counter" sectionFormat="of" target="section-7.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-on-other-proto">Requirements on Other Protocols</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.6">
                <t indent="0" pn="section-toc.1-1.7.2.6.1"><xref derivedContent="7.6" format="counter" sectionFormat="of" target="section-7.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-impact-on-network-operation">Impact on Network Operations</xref></t>
              </li>
            </ul>
          </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-pcep-ero-and-rro-subobjects">PCEP ERO and RRO Subobjects</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-new-srv6-ero-nai-type-regis">New SRv6-ERO NAI Type Registry</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-new-srv6-ero-flag-registry">New SRv6-ERO Flag Registry</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-lsp-error-code-tlv">LSP-ERROR-CODE TLV</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-path-setup-type-capability-">PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators</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-srv6-pce-capability-flags">SRv6 PCE Capability Flags</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.7">
                <t indent="0" pn="section-toc.1-1.8.2.7.1"><xref derivedContent="8.7" format="counter" sectionFormat="of" target="section-8.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-path-setup-type">New Path Setup Type</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.8">
                <t indent="0" pn="section-toc.1-1.8.2.8.1"><xref derivedContent="8.8" format="counter" sectionFormat="of" target="section-8.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-error-objects">ERROR Objects</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-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.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.11">
            <t indent="0" pn="section-toc.1-1.11.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.12">
            <t indent="0" pn="section-toc.1-1.12.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" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">As defined in <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>, Segment Routing (SR) architecture allows the source node to steer a packet through a path indicated by an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based, and it can have a semantic local to an SR node or global within an SR domain.</t>
      <t indent="0" pn="section-1-2"><xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> describes Path Computation Element Communication Protocol (PCEP) for communication between a Path Computation Client (PCC) and a PCE or between a pair of PCEs. A PCE or a PCC operating as a PCE (in a hierarchical PCE environment) computes paths for MPLS Traffic Engineering Label Switched Paths (MPLS-TE LSPs) based on various constraints and optimization criteria.</t>
      <t indent="0" pn="section-1-3"><xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> specifies extensions to PCEP that allow a stateful PCE to compute and recommend network paths in compliance with <xref target="RFC4657" format="default" sectionFormat="of" derivedContent="RFC4657"/> and defines objects and TLVs for MPLS-TE LSPs. Stateful PCEP extensions provide synchronization of LSP state between a PCC and a PCE or between a pair of PCEs, delegation of LSP control, reporting of LSP state from a PCC to a PCE, and controlling the setup and path routing of an LSP from a PCE to a PCC. Stateful PCEP extensions are intended for an operational model in which LSPs are configured on the PCC, and control over them is delegated to the PCE.</t>
      <t indent="0" pn="section-1-4">A mechanism to dynamically initiate LSPs on a PCC based on the requests from a stateful PCE or a controller using stateful PCE is specified in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>. As per <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>, it is possible to use a stateful PCE for computing one or more SR-TE paths taking into account various constraints and objective functions. Once a path is computed, the stateful PCE can initiate an SR-TE path on a PCC using PCEP extensions specified in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> and the SR-specific PCEP extensions specified in <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>.</t>
      <t indent="0" pn="section-1-5"><xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> specifies PCEP extensions for supporting an SR-TE LSP for the MPLS data plane. This document extends <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> to support SR for the IPv6 data plane. Additionally, using procedures described in this document, a PCC can request an SRv6 path from either a stateful or stateless PCE. This specification relies on the PATH-SETUP-TYPE TLV and procedures specified in <xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/>.</t>
      <t indent="0" pn="section-1-6">This specification provides a mechanism for a network controller (acting as a PCE) to instantiate candidate paths for an SR Policy onto a
head-end node (acting as a PCC) using PCEP. For more information on the SR Policy architecture, see <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>, which applies to both SR-MPLS and SRv6.</t>
      <section anchor="requirements-language" numbered="true" removeInRFC="false" toc="include" 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="terminology" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">This document uses the following terms defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>: PCC, PCE, PCEP, PCEP Peer.</t>
      <t indent="0" pn="section-2-2">This document uses the following terms defined in <xref target="RFC8051" format="default" sectionFormat="of" derivedContent="RFC8051"/>: Stateful PCE, Delegation.</t>
      <t indent="0" pn="section-2-3">Further, the following terms are used in the document:</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-2-4">
        <dt pn="section-2-4.1">MSD:</dt>
        <dd pn="section-2-4.2">
          <t indent="0" pn="section-2-4.2.1">Maximum SID Depth</t>
        </dd>
        <dt pn="section-2-4.3">PST:</dt>
        <dd pn="section-2-4.4">
          <t indent="0" pn="section-2-4.4.1">Path Setup Type</t>
        </dd>
        <dt pn="section-2-4.5">SR:</dt>
        <dd pn="section-2-4.6">
          <t indent="0" pn="section-2-4.6.1">Segment Routing</t>
        </dd>
        <dt pn="section-2-4.7">SID:</dt>
        <dd pn="section-2-4.8">
          <t indent="0" pn="section-2-4.8.1">Segment Identifier</t>
        </dd>
        <dt pn="section-2-4.9">SRv6:</dt>
        <dd pn="section-2-4.10">
          <t indent="0" pn="section-2-4.10.1">Segment Routing over IPv6 data plane</t>
        </dd>
        <dt pn="section-2-4.11">SRH:</dt>
        <dd pn="section-2-4.12">
          <t indent="0" pn="section-2-4.12.1">IPv6 Segment Routing Header <xref target="RFC8754" format="default" sectionFormat="of" derivedContent="RFC8754"/></t>
        </dd>
        <dt pn="section-2-4.13">SRv6 path:</dt>
        <dd pn="section-2-4.14">
          <t indent="0" pn="section-2-4.14.1">IPv6 Segment List (A list of IPv6 SIDs representing a path in IPv6 SR domain in the context of this document.)</t>
        </dd>
      </dl>
      <t indent="0" pn="section-2-5">Further, note that the term "LSP" used in the PCEP specifications
would be equivalent to an SRv6 path (represented as a list of SRv6
segments) in the context of supporting SRv6 in PCEP.</t>
    </section>
    <section anchor="Overview" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-overview-of-pcep-operation-">Overview of PCEP Operation in SRv6 Networks</name>
      <t indent="0" pn="section-3-1">Basic operations for PCEP speakers are built on <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>.</t>
      <t indent="0" pn="section-3-2">In PCEP messages, route information is carried in the Explicit Route Object (ERO), which consists of a sequence of subobjects. <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> defined a new ERO subobject denoted by "SR-ERO subobject" that is capable of carrying a SID as well as the identity of the node/adjacency represented by the SID for SR-MPLS. SR-capable PCEP speakers can generate and/or process such an ERO subobject. An ERO containing SR-ERO subobjects can be included in the PCEP Path Computation Reply (PCRep) message defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, the PCEP LSP Initiate Request message (PCInitiate) defined in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>, as well as in the PCEP LSP Update Request (PCUpd) and PCEP LSP State Report (PCRpt) messages defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>. <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> also defines a new Reported Route Object (RRO), called "SR-RRO", to represent the SID list that was applied by the PCC, which is the actual path taken by the LSP in SR-MPLS network.</t>
      <t indent="0" pn="section-3-3">The SRv6 paths computed by a PCE can be represented as an ordered list of SRv6 segments. This document defines new subobjects "SRv6-ERO" and "SRv6-RRO" in the ERO and the RRO, respectively, to carry the SRv6 SID. SRv6-capable
PCEP speakers <bcp14>MUST</bcp14> be able to generate and/or process these subobjects.</t>
      <t indent="0" pn="section-3-4">When a PCEP session between a PCC and a PCE is established, both PCEP speakers exchange their capabilities to indicate their ability to support SRv6-specific functionality as described in <xref target="SRv6-PCE-Capability-sub-TLV" format="default" sectionFormat="of" derivedContent="Section 4.1.1"/>.</t>
      <t indent="0" pn="section-3-5">In summary, this document defines:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3-6">
        <li pn="section-3-6.1">
          <t indent="0" pn="section-3-6.1.1">a new PCEP capability for SRv6,</t>
        </li>
        <li pn="section-3-6.2">
          <t indent="0" pn="section-3-6.2.1">a new subobject SRv6-ERO in ERO,</t>
        </li>
        <li pn="section-3-6.3">
          <t indent="0" pn="section-3-6.3.1">a new subobject SRv6-RRO in RRO, and</t>
        </li>
        <li pn="section-3-6.4">
          <t indent="0" pn="section-3-6.4.1">a new Path Setup type (PST) <xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/>, carried in
          the PATH-SETUP-TYPE and PATH-SETUP-TYPE-CAPABILITY TLVs.</t>
        </li>
      </ul>
      <section anchor="Operation-overview" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-operation-overview">Operation Overview</name>
        <t indent="0" pn="section-3.1-1">In SR networks, an SR source node <xref target="RFC8754" format="default" sectionFormat="of" derivedContent="RFC8754"/> steers a packet into an SR Policy resulting in a segment list.</t>
        <t indent="0" pn="section-3.1-2">When SR leverages the IPv6 data plane (i.e., SRv6), the PCEP procedures and mechanisms are extended in this document.</t>
        <t indent="0" pn="section-3.1-3">This document describes the extension to support SRv6 in PCEP. A PCC or PCE indicates its ability to support SRv6 during the PCEP
session initialization phase via a new SRv6-PCE-CAPABILITY sub-TLV
(see details in <xref target="SRv6-PCE-Capability-sub-TLV" format="default" sectionFormat="of" derivedContent="Section 4.1.1"/>).</t>
      </section>
      <section anchor="SRv6-Specific-PCEP-Message-Extensions" numbered="true" removeInRFC="false" toc="include" pn="section-3.2">
        <name slugifiedName="name-srv6-specific-pcep-message-">SRv6-Specific PCEP Message Extensions</name>
        <t indent="0" pn="section-3.2-1">As defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, a PCEP message consists of
a common header followed by a variable-length body made up of
mandatory and/or optional objects. This document does not require any
changes in the format of PCReq and PCRep messages specified in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>,
the PCInitiate message specified in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>, or PCRpt and PCUpd messages
specified in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>. However, PCEP messages pertaining to SRv6 <bcp14>MUST</bcp14>
include PATH-SETUP-TYPE TLV in the Request Parameters (RP) or Stateful PCE Request Parameters (SRP) object to clearly
identify that SRv6 is intended.</t>
      </section>
    </section>
    <section anchor="Object-Formats" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-object-formats">Object Formats</name>
      <section anchor="The-OPEN-Object" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-the-open-object">The OPEN Object</name>
        <section anchor="SRv6-PCE-Capability-sub-TLV" numbered="true" removeInRFC="false" toc="include" pn="section-4.1.1">
          <name slugifiedName="name-the-srv6-pce-capability-sub">The SRv6 PCE Capability sub-TLV</name>
          <t indent="0" pn="section-4.1.1-1">This document defines a new Path Setup Type (PST) <xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/> for SRv6, as follows:</t>
          <dl newline="false" spacing="normal" indent="3" pn="section-4.1.1-2">
            <dt pn="section-4.1.1-2.1">PST=3:</dt>
            <dd pn="section-4.1.1-2.2">Path is set up using SRv6.</dd>
          </dl>
          <t indent="0" pn="section-4.1.1-3">A PCEP speaker indicates its support of the function described in this document by sending a PATH-SETUP-TYPE-CAPABILITY TLV in the OPEN object with this new PST (value 3) included in the PST list.</t>
          <t indent="0" pn="section-4.1.1-4">This document also defines the SRv6-PCE-CAPABILITY sub-TLV. PCEP speakers use this sub-TLV to exchange information about their SRv6 capability. If a PCEP speaker includes PST=3 in the PST list of the PATH-SETUP-TYPE-CAPABILITY TLV, then it <bcp14>MUST</bcp14> also include the SRv6-PCE-CAPABILITY sub-TLV inside the PATH-SETUP-TYPE-CAPABILITY TLV. For further error handling, please see <xref target="Procedures" format="default" sectionFormat="of" derivedContent="Section 5"/>.</t>
          <t indent="0" pn="section-4.1.1-5">The format of the SRv6-PCE-CAPABILITY sub-TLV is shown in <xref target="SRv6-PCE-CAPABILITY-sub-TLV-format" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
          <figure anchor="SRv6-PCE-CAPABILITY-sub-TLV-format" align="left" suppress-title="false" pn="figure-1">
            <name slugifiedName="name-srv6-pce-capability-sub-tlv">SRv6-PCE-CAPABILITY Sub-TLV Format</name>
            <artwork align="left" pn="section-4.1.1-6.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=27            |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Reserved           |             Flags         |N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   MSD-Type    | MSD-Value     |   MSD-Type    | MSD-Value     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//                             ...                             //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   MSD-Type    | MSD-Value     |           Padding             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          </figure>
          <t indent="0" pn="section-4.1.1-7">The code point for the TLV type is 27, and the format is compliant with the PCEP TLV format defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>. That is, the sub-TLV is composed of 2 octets for the type, 2 octets specifying the length, and a Value field. When set to 27, the Type field identifies the SRv6-PCE-CAPABILITY sub-TLV, and the presence of the sub-TLV indicates the support for the SRv6 paths in PCEP. The Length field defines the length of the value portion in octets. The sub-TLV is padded to 4-octet alignment, and padding is not included in the Length field. The (MSD-Type,MSD-Value) pairs are <bcp14>OPTIONAL</bcp14>. The number of (MSD-Type,MSD-Value) pairs can be determined by the Length field of the TLV.</t>
          <t indent="0" pn="section-4.1.1-8">The value is comprised of:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1.1-9">
            <li pn="section-4.1.1-9.1">Reserved: 2 octets; this field <bcp14>MUST</bcp14> be set to 0
            on transmission and ignored on receipt.</li>
            <li pn="section-4.1.1-9.2">
              <t indent="0" pn="section-4.1.1-9.2.1">Flags: 2 octets; one bit is currently assigned in <xref target="SRv6-PCE-Capability-Flags" format="default" sectionFormat="of" derivedContent="Section 8.6"/></t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1.1-9.2.2">
                <li pn="section-4.1.1-9.2.2.1">N bit (bit position 14): A PCC sets this flag bit to 1 to
                indicate that it is capable of resolving a Node or Adjacency
                Identifier (NAI) to an SRv6-SID.</li>
                <li pn="section-4.1.1-9.2.2.2">Unassigned bits <bcp14>MUST</bcp14> be set to 0 on
                transmission and ignored on receipt</li>
              </ul>
            </li>
            <li pn="section-4.1.1-9.3">A pair of (MSD-Type,MSD-Value): Where MSD-Type (1 octet)
            is as per the IGP MSD Type registry created by <xref target="RFC8491" format="default" sectionFormat="of" derivedContent="RFC8491"/> and populated with SRv6 MSD types as per <xref target="RFC9352" format="default" sectionFormat="of" derivedContent="RFC9352"/>, and where MSD-Value (1 octet) is as per <xref target="RFC8491" format="default" sectionFormat="of" derivedContent="RFC8491"/>.</li>
          </ul>
          <t indent="0" pn="section-4.1.1-10">The SRv6 MSD information advertised via SRv6-PCE-Capability sub-TLV conveys the SRv6 capabilities of the PCEP speaker alone. However, when it comes to the computation of an SR Policy for the SRv6 data plane, the SRv6 MSD capabilities of the intermediate SRv6 Endpoint node and the tail-end node also need to be considered to ensure those midpoints are able to correctly process their segments and for the tail-end to dispose of the SRv6 encapsulation. The SRv6 MSD capabilities of other nodes might be learned as part of the topology information via the Border Gateway Protocol - Link State (BGP-LS) <xref target="RFC9514" format="default" sectionFormat="of" derivedContent="RFC9514"/> or via PCEP if the PCE also happens to have PCEP sessions with those nodes.</t>
          <t indent="0" pn="section-4.1.1-11">It is recommended that the SRv6 MSD information not be included in the SRv6-PCE-Capability sub-TLV in deployments where the PCE is able to obtain this via IGP/BGP-LS as part of the topology information.</t>
        </section>
      </section>
      <section anchor="The-SRP-Object" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-the-rp-srp-object">The RP/SRP Object</name>
        <t indent="0" pn="section-4.2-1">This document defines a new Path Setup Type (PST=3) for SRv6. In order to indicate that the path is for SRv6, any RP or SRP object <bcp14>MUST</bcp14> include the PATH-SETUP-TYPE TLV as specified in <xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/>, where PST is set to 3.</t>
      </section>
      <section anchor="ERO" numbered="true" removeInRFC="false" toc="include" pn="section-4.3">
        <name slugifiedName="name-ero">ERO</name>
        <t indent="0" pn="section-4.3-1">In order to support SRv6, a new "SRv6-ERO" subobject is defined for inclusion in the ERO.</t>
        <section anchor="SRv6-ERO-Subobject" numbered="true" removeInRFC="false" toc="include" pn="section-4.3.1">
          <name slugifiedName="name-srv6-ero-subobject">SRv6-ERO Subobject</name>
          <t indent="0" pn="section-4.3.1-1">An SRv6-ERO subobject is formatted as shown in <xref target="SRv6-ERO-Subobject-Format" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
          <figure anchor="SRv6-ERO-Subobject-Format" align="left" suppress-title="false" pn="figure-2">
            <name slugifiedName="name-srv6-ero-subobject-format">SRv6-ERO Subobject Format</name>
            <artwork align="left" pn="section-4.3.1-2.1">
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L|   Type=40   |     Length    | NT    |     Flags     |V|T|F|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Reserved         |      Endpoint Behavior        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                   SRv6 SID (conditional)                      |
|                        (128-bit)                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//                 NAI (variable, conditional)                 //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                  SID Structure (conditional)                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          </figure>
          <t indent="0" pn="section-4.3.1-3">The fields in the SRv6-ERO subobject are as follows:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3.1-4">
            <li pn="section-4.3.1-4.1">The "L" flag: Indicates whether the subobject represents a
            loose hop (see <xref target="RFC3209" format="default" sectionFormat="of" derivedContent="RFC3209"/>). If this flag is set to
            zero, a PCC <bcp14>MUST NOT</bcp14> overwrite the SID value
            present in the SRv6-ERO subobject. Otherwise, a PCC
            <bcp14>MAY</bcp14> expand or replace one or more SID values in the
            received SRv6-ERO based on its local policy.</li>
            <li pn="section-4.3.1-4.2">Type: Indicates the content of the subobject, i.e., when the
            field is set to 40, the subobject is an SRv6-ERO subobject
            representing an SRv6 SID.</li>
            <li pn="section-4.3.1-4.3">Length: Contains the total length of the subobject in
            octets. The Length <bcp14>MUST</bcp14> be at least 24 and
            <bcp14>MUST</bcp14> be a multiple of 4. An SRv6-ERO subobject
            <bcp14>MUST</bcp14> contain at least one of an SRv6-SID or an
            NAI. The S and F bits in the Flags field indicates whether the
            SRv6-SID or NAI fields are absent.</li>
            <li pn="section-4.3.1-4.4">
              <t indent="0" pn="section-4.3.1-4.4.1">NAI Type (NT): Indicates the type and format of the NAI
            contained in the object body, if any are present. If the F bit is
            set to one (see below), then the NT field has no meaning and
            <bcp14>MUST</bcp14> be ignored by the receiver. This document
            creates a new PCEP SRv6-ERO NAI Types registry in <xref target="IANA-NAI" format="default" sectionFormat="of" derivedContent="Section 8.2"/> and allocates the following values:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3.1-4.4.2">
                <li pn="section-4.3.1-4.4.2.1">If NT value is 0, the NAI <bcp14>MUST NOT</bcp14> be included.</li>
                <li pn="section-4.3.1-4.4.2.2">When NT value is 2, the NAI is as per the "IPv6 node ID"
              format defined in <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>, which specifies an
              IPv6 address. This is used to identify the owner of the SRv6
              Identifier. This is optional, as the LOC (the locator portion)
              of the SRv6 SID serves a similar purpose (when present).</li>
                <li pn="section-4.3.1-4.4.2.3">When NT value is 4, the NAI is as per the "IPv6 adjacency"
              format defined in <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>, which specify a pair
              of IPv6 addresses. This is used to identify the IPv6 adjacency
              and used with the SRv6 Adj-SID.</li>
                <li pn="section-4.3.1-4.4.2.4">When NT value is 6, the NAI is as per the "link-local IPv6
              addresses" format defined in <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>, which
              specify a pair of (global IPv6 address, interface ID) tuples. It
              is used to identify the IPv6 adjacency and used with the SRv6
              Adj-SID.</li>
              </ul>
            </li>
            <li pn="section-4.3.1-4.5">
              <t indent="0" pn="section-4.3.1-4.5.1">Flags: Used to carry additional information pertaining to the
          SRv6-SID. This document defines the following flag bits. The other
          bits <bcp14>MUST</bcp14> be set to zero by the sender and
          <bcp14>MUST</bcp14> be ignored by the receiver. This document
          creates a new registry SRv6-ERO Flag Field registry in <xref target="SRv6-ERO-flag" format="default" sectionFormat="of" derivedContent="Section 8.3"/> and allocates the following values.</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3.1-4.5.2">
                <li pn="section-4.3.1-4.5.2.1">S: When this bit is set to 1, the SRv6-SID value in the
            subobject body is absent. In this case, the PCC is responsible for
            choosing the SRv6-SID value, e.g., by looking up in the SR-DB
            using the NAI that, in this case, <bcp14>MUST</bcp14> be present
            in the subobject. If the S bit is set to 1, then the F bit
            <bcp14>MUST</bcp14> be set to zero.</li>
                <li pn="section-4.3.1-4.5.2.2">F: When this bit is set to 1, the NAI value in the subobject
            body is absent. The F bit <bcp14>MUST</bcp14> be set to 1 if NT=0;
            otherwise, it <bcp14>MUST</bcp14> be set to zero. The S and F bits
            <bcp14>MUST NOT</bcp14> both be set to 1.</li>
                <li pn="section-4.3.1-4.5.2.3">T: When this bit is set to 1, the SID Structure value in the
            subobject body is present. The T bit <bcp14>MUST</bcp14> be set to
            0 when the S bit is set to 1. If the T bit is set when the S bit is
            set, the T bit <bcp14>MUST</bcp14> be ignored. Thus, the T bit
            indicates the presence of an optional 8-byte SID Structure when
            SRv6 SID is included. The SID Structure is defined in <xref target="SID-Structure" format="default" sectionFormat="of" derivedContent="Section 4.3.1.1"/>.</li>
                <li pn="section-4.3.1-4.5.2.4">V: The "SID verification" bit usage is as per <xref target="RFC9256" sectionFormat="of" section="5.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9256#section-5.1" derivedContent="RFC9256"/>. If a PCC
            "Verification fails" for a SID, it <bcp14>MUST</bcp14> report this
            error by including the LSP-ERROR-CODE TLV with LSP Error-value
            "SID Verification fails" in the LSP object in the PCRpt message to
            the PCE.</li>
              </ul>
            </li>
            <li pn="section-4.3.1-4.6">Reserved: <bcp14>MUST</bcp14> be set to zero while sending and
          ignored on receipt.</li>
            <li pn="section-4.3.1-4.7">Endpoint Behavior: A 16-bit field representing the behavior
          associated with the SRv6 SIDs. This information is optional, but providing it
          is recommended whenever possible. It could be used for
          maintainability and diagnostic purposes. If behavior is not known,
          value "0xFFFF" as defined in the "SRv6 Endpoint Behaviors" registry is
          used <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>.</li>
            <li pn="section-4.3.1-4.8">SRv6 SID: SRv6 Identifier is a 128-bit value representing the
          SRv6 segment.</li>
            <li pn="section-4.3.1-4.9">NAI: The NAI associated with the SRv6-SID. The NAI's format
          depends on the value in the NT field and is described in <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>.</li>
          </ul>
          <t indent="0" pn="section-4.3.1-5">At least one SRv6-SID or the NAI <bcp14>MUST</bcp14> be included
          in the SRv6-ERO subobject, and both <bcp14>MAY</bcp14> be
          included.</t>
          <section anchor="SID-Structure" numbered="true" removeInRFC="false" toc="include" pn="section-4.3.1.1">
            <name slugifiedName="name-sid-structure">SID Structure</name>
            <t indent="0" pn="section-4.3.1.1-1">The SID Structure is an optional part of the SR-ERO subobject,
            as described in <xref target="SRv6-ERO-Subobject" format="default" sectionFormat="of" derivedContent="Section 4.3.1"/>.</t>
            <t indent="0" pn="section-4.3.1.1-2"><xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/> defines an SRv6 SID as consisting of
            LOC:FUNCT:ARG, where a locator (LOC) is encoded in the L most
            significant bits of the SID, followed by F bits of function
            (FUNCT) and A bits of arguments (ARG).  A locator may be
            represented as B:N where B is the SRv6 SID locator block (IPv6
            prefix allocated for SRv6 SIDs by the operator) and N is the
            identifier of the parent node instantiating the SID called
            "locator node".</t>
            <t indent="0" pn="section-4.3.1.1-3">The SID Structure is formatted as shown in <xref target="SID-Structure-Format" format="default" sectionFormat="of" derivedContent="Figure 3"/>.</t>
            <figure anchor="SID-Structure-Format" align="left" suppress-title="false" pn="figure-3">
              <name slugifiedName="name-sid-structure-format">SID Structure Format</name>
              <artwork align="left" pn="section-4.3.1.1-4.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    LB Length  |  LN Length    | Fun. Length   |  Arg. Length  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Reserved                      |   Flags       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
            </figure>
            <t indent="0" pn="section-4.3.1.1-5">Where:</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3.1.1-6">
              <li pn="section-4.3.1.1-6.1">LB Length: 1 octet; SRv6 SID Locator Block length in bits</li>
              <li pn="section-4.3.1.1-6.2">LN Length: 1 octet; SRv6 SID Locator Node length in bits</li>
              <li pn="section-4.3.1.1-6.3">Fun. Length: 1 octet; SRv6 SID Function length in bits</li>
              <li pn="section-4.3.1.1-6.4">Arg. Length: 1 octet; SRv6 SID Arguments length in bits</li>
            </ul>
            <t indent="0" pn="section-4.3.1.1-7">The sum of all four sizes in the SID Structure must be less than or
            equal to 128 bits. If the sum of all four sizes advertised in the
            SID Structure is larger than 128 bits, the corresponding SRv6 SID
            <bcp14>MUST</bcp14> be considered invalid and a PCErr message with
            Error-Type = 10 ("Reception of an invalid object") and Error-value
            = 37 ("Invalid SRv6 SID Structure") is returned.</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3.1.1-8">
              <li pn="section-4.3.1.1-8.1">Reserved: <bcp14>MUST</bcp14> be set to zero while sending
              and ignored on receipt.</li>
              <li pn="section-4.3.1.1-8.2">Flags: Currently no flags are defined.</li>
              <li pn="section-4.3.1.1-8.3">Unassigned bits must be set to zero while sending and
	      ignored on receipt.</li>
            </ul>
            <t indent="0" pn="section-4.3.1.1-9">The SRv6 SID Structure provides the detailed encoding
            information of an SRv6 SID, which is helpful in the use cases that
            require the SRv6 SID structure to be known. When a PCEP speaker
            receives the SRv6 SID and its structure information, the SRv6 SID
            can be parsed based on the SRv6 SID Structure and/or possible
            local policies. The SRv6 SID Structure could be used by the PCE
            for ease of operations and monitoring.  For example, this
            information could be used for validation of SRv6 SIDs being
            instantiated in the network and checked for conformance with the
            SRv6 SID allocation scheme chosen by the operator as described in
            <xref target="RFC8986" sectionFormat="of" section="3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8986#section-3.2" derivedContent="RFC8986"/>.  In the future, PCE might
            also be utilized to verify and automate the security of the SRv6
            domain by provisioning filtering rules at the domain boundaries as
            described in <xref target="RFC8754" sectionFormat="of" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8754#section-5" derivedContent="RFC8754"/>.  The details
            of these potential applications are outside the scope of this
            document.</t>
          </section>
          <section anchor="order" numbered="true" removeInRFC="false" toc="include" pn="section-4.3.1.2">
            <name slugifiedName="name-order-of-the-optional-field">Order of the Optional Fields</name>
            <t indent="0" pn="section-4.3.1.2-1">The optional elements in the SRv6-ERO subobject, i.e., SRv6 SID, NAI, and the
SID Structure, <bcp14>MUST</bcp14> be encoded in the order as depicted in <xref target="SRv6-ERO-Subobject-Format" format="default" sectionFormat="of" derivedContent="Figure 2"/>.
The presence or absence of each of them is indicated by the respective flags, i.e.,
S flag, F flag, and T flag.</t>
            <t indent="0" pn="section-4.3.1.2-2">In order to ensure future compatibility, any optional elements added to the SRv6-ERO subobject in the future must specify their order and request that the Internet Assigned Numbers Authority (IANA) allocate a flag to indicate their presence from the subregistry created in <xref target="SRv6-ERO-flag" format="default" sectionFormat="of" derivedContent="Section 8.3"/>.</t>
          </section>
        </section>
      </section>
      <section anchor="RRO" numbered="true" removeInRFC="false" toc="include" pn="section-4.4">
        <name slugifiedName="name-rro">RRO</name>
        <t indent="0" pn="section-4.4-1">In order to support SRv6, a new "SRv6-RRO" subobject is defined for inclusion in the RRO.</t>
        <section anchor="SRv6-RRO-Subobject" numbered="true" removeInRFC="false" toc="include" pn="section-4.4.1">
          <name slugifiedName="name-srv6-rro-subobject">SRv6-RRO Subobject</name>
          <t indent="0" pn="section-4.4.1-1">A PCC reports an SRv6 path to a PCE by sending a PCRpt message,
          per <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>. The RRO on this message represents the
          SID list that was applied by the PCC, that is, the actual path
          taken. The procedures of <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> with respect to
          the RRO apply equally to this specification without change.</t>
          <t indent="0" pn="section-4.4.1-2">An RRO contains one or more subobjects called "SRv6-RRO
          subobjects", whose format is shown in <xref target="SRv6-RRO-Subobject-Format" format="default" sectionFormat="of" derivedContent="Figure 4"/>.</t>
          <figure anchor="SRv6-RRO-Subobject-Format" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-srv6-rro-subobject-format">SRv6-RRO Subobject Format</name>
            <artwork align="left" pn="section-4.4.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=40     |     Length    |  NT   |     Flags     |V|T|F|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Reserved         |      Endpoint Behavior        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                      SRv6 SID(optional)                       |
|                           (128-bit)                           |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//                    NAI (variable)                           //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                     SID Structure (optional)                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          </figure>
          <t indent="0" pn="section-4.4.1-4">The format of the SRv6-RRO subobject is the same as that of the
          SRv6-ERO subobject but without the L flag.</t>
          <t indent="0" pn="section-4.4.1-5">The V flag has no meaning in the SRv6-RRO and is ignored on
          receipt at the PCE.</t>
          <t indent="0" pn="section-4.4.1-6">The ordering of SRv6-RRO subobjects by PCC in PCRpt message
          remains as per <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>.</t>
          <t indent="0" pn="section-4.4.1-7">The ordering of optional elements in the SRv6-RRO subobject is
          the same as described in <xref target="order" format="default" sectionFormat="of" derivedContent="Section 4.3.1.2"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="Procedures" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-procedures">Procedures</name>
      <section anchor="Exchanging-SRv6-Capability" numbered="true" removeInRFC="false" toc="include" pn="section-5.1">
        <name slugifiedName="name-exchanging-the-srv6-capabil">Exchanging the SRv6 Capability</name>
        <t indent="0" pn="section-5.1-1">A PCC indicates that it is capable of supporting the head-end
functions for SRv6 by including the SRv6-PCE-CAPABILITY sub-TLV in the
Open message that it sends to a PCE. A PCE indicates that it is
capable of computing SRv6 paths by including the SRv6-PCE-CAPABILITY
sub-TLV in the Open message that it sends to a PCC.</t>
        <t indent="0" pn="section-5.1-2">If a PCEP speaker receives a PATH-SETUP-TYPE-CAPABILITY TLV with a
PST list containing PST=3, but the SRv6-PCE-CAPABILITY sub-TLV is absent, then the PCEP speaker <bcp14>MUST</bcp14> send a PCErr message with Error-Type = 10 ("Reception of an invalid object") and Error-Value = 34 ("Missing PCE-SRv6-CAPABILITY sub-TLV") and <bcp14>MUST</bcp14> then close the PCEP session. If a PCEP speaker receives a PATH-SETUP-TYPE-CAPABILITY TLV with an SRv6-PCE-CAPABILITY sub-TLV, but the PST list does not contain PST=3, then the PCEP speaker <bcp14>MUST</bcp14> ignore the SRv6-PCE-CAPABILITY sub-TLV.</t>
        <t indent="0" pn="section-5.1-3">In case the MSD-Type in the SRv6-PCE-CAPABILITY sub-TLV received by the PCE
does not correspond to one of the SRv6 MSD types, the PCE <bcp14>MUST</bcp14> respond
with a PCErr message (Error-Type = 1 ("PCEP session establishment
failure") and Error-Value = 1 ("reception of an invalid Open message or a
non Open message.")).</t>
        <t indent="0" pn="section-5.1-4">Note that the (MSD-Type,MSD-Value) pair exchanged via the
SRv6-PCE-CAPABILITY sub-TLV indicates the SRv6 SID imposition limit
for the sender PCC node only. However, if a PCE learns these via alternate mechanisms, e.g., routing protocols <xref target="RFC9352" format="default" sectionFormat="of" derivedContent="RFC9352"/>, then it ignores the values in the SRv6-PCE-CAPABILITY sub-TLV. Furthermore, whenever a PCE learns any other SRv6 MSD types that may be defined in the future via alternate mechanisms, it <bcp14>MUST</bcp14> use those values regardless of the values exchanged in the SRv6-PCE-CAPABILITY sub-TLV.</t>
        <t indent="0" pn="section-5.1-5">During path computation, a PCE must consider the MSD information of all the nodes along the path instead of only the MSD information of the ingress PCC since a packet may be dropped on any node in a forwarding path because of the SID depth exceeding the MSD of the node. The MSD capabilities of all SR nodes along the path can be learned as part of the topology information via IGP/BGP-LS or via PCEP if the PCE also happens to have PCEP sessions with those nodes.</t>
        <t indent="0" pn="section-5.1-6">A PCE <bcp14>MUST NOT</bcp14> send SRv6 paths that exceed the SRv6 MSD capabilities of the PCC. If a PCC needs to modify the SRv6 MSD value signaled via the Open message, it <bcp14>MUST</bcp14> close the PCEP session and re-establish it with the new value. If the PCC receives an SRv6 path that exceeds its SRv6 MSD capabilities, the PCC <bcp14>MUST</bcp14> send a PCErr message with Error-Type = 10 ("Reception of an invalid object") and Error-value = 40 ("Unsupported number of SRv6-ERO subobjects").</t>
        <t indent="0" pn="section-5.1-7">The N flag and (MSD-Type,MSD-Value) pair inside the SRv6-PCE-CAPABILITY sub-TLV are meaningful only in the Open message sent to a PCE. As such, the flags <bcp14>MUST</bcp14> be set to zero and a (MSD-Type,MSD-Value) pair <bcp14>MUST NOT</bcp14> be present in the SRv6-PCE-CAPABILITY sub-TLV in an Open message sent to a PCC.  Similarly, a PCC <bcp14>MUST</bcp14> ignore flags and any (MSD-Type,MSD-Value) pair in a received Open message. If a PCE receives multiple SRv6-PCE-CAPABILITY sub-TLVs in an Open message, it processes only the first sub-TLV received.</t>
      </section>
      <section anchor="ERO-Processing" numbered="true" removeInRFC="false" toc="include" pn="section-5.2">
        <name slugifiedName="name-ero-processing">ERO Processing</name>
        <t indent="0" pn="section-5.2-1">The processing of ERO remains unchanged in accordance with both <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> and <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>.</t>
        <section anchor="srv6-ero-validation" numbered="true" removeInRFC="false" toc="include" pn="section-5.2.1">
          <name slugifiedName="name-srv6-ero-validation">SRv6 ERO Validation</name>
          <t indent="0" pn="section-5.2.1-1">If a PCC does not support the SRv6 PCE Capability and thus cannot
recognize the SRv6-ERO or SRv6-RRO subobjects, it should respond according to the rules for a malformed object as described in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.</t>
          <t indent="0" pn="section-5.2.1-2">On receiving an SRv6-ERO, a PCC <bcp14>MUST</bcp14> validate that the Length
field, the S bit, the F bit, the T bit, and the NT field are
consistent, as follows:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2.1-3">
            <li pn="section-5.2.1-3.1">
              <t indent="0" pn="section-5.2.1-3.1.1">If NT=0, the F bit <bcp14>MUST</bcp14> be 1, the S bit
              <bcp14>MUST</bcp14> be zero, and the Length <bcp14>MUST</bcp14>
              be 24.</t>
            </li>
            <li pn="section-5.2.1-3.2">
              <t indent="0" pn="section-5.2.1-3.2.1">If NT=2, the F bit <bcp14>MUST</bcp14> be zero. If the S bit
              is 1, the Length <bcp14>MUST</bcp14> be 24; otherwise, the Length
              <bcp14>MUST</bcp14> be 40.</t>
            </li>
            <li pn="section-5.2.1-3.3">
              <t indent="0" pn="section-5.2.1-3.3.1">If NT=4, the F bit <bcp14>MUST</bcp14> be zero. If the S bit
              is 1, the Length <bcp14>MUST</bcp14> be 40; otherwise, the Length
              <bcp14>MUST</bcp14> be 56.</t>
            </li>
            <li pn="section-5.2.1-3.4">
              <t indent="0" pn="section-5.2.1-3.4.1">If NT=6, the F bit <bcp14>MUST</bcp14> be zero. If the S bit
              is 1, the Length <bcp14>MUST</bcp14> be 48; otherwise, the Length
              <bcp14>MUST</bcp14> be 64.</t>
            </li>
            <li pn="section-5.2.1-3.5">
              <t indent="0" pn="section-5.2.1-3.5.1">If the T bit is 1, then the S bit <bcp14>MUST</bcp14> be zero.</t>
            </li>
          </ul>
          <t indent="0" pn="section-5.2.1-4">If a PCC finds that the NT field, Length field, S bit, F bit, and
          T bit are not consistent, it <bcp14>MUST</bcp14> consider the entire
          ERO invalid and <bcp14>MUST</bcp14> send a PCErr message with
          Error-Type = 10 ("Reception of an invalid object") and Error-value =
          11 ("Malformed object").</t>
          <t indent="0" pn="section-5.2.1-5">If a PCC does not recognize or support the value in the NT field,
          it <bcp14>MUST</bcp14> consider the entire ERO invalid and send a
          PCErr message with Error-Type = 10 ("Reception of an invalid
          object") and Error-value = 41 ("Unsupported NAI Type in the
          SRv6-ERO/SRv6-RRO subobject").</t>
          <t indent="0" pn="section-5.2.1-6">If a PCC receives an SRv6-ERO subobject in which the S and F bits
          are both set to 1 (that is, both the SID and NAI are absent), it
          <bcp14>MUST</bcp14> consider the entire ERO invalid and send a PCErr
          message with Error-Type = 10 ("Reception of an invalid object") and
          Error-value = 42 ("Both SID and NAI are absent in the SRv6-ERO
          subobject").</t>
          <t indent="0" pn="section-5.2.1-7">If a PCC receives an SRv6-ERO subobject in which the S bit is set
          to 1 and the F bit is set to zero (that is, the SID is absent and
          the NAI is present), but the PCC does not support NAI resolution, it
          <bcp14>MUST</bcp14> consider the entire ERO invalid and send a PCErr
          message with Error-Type = 4 ("Not supported object") and Error-value
          = 4 ("Unsupported parameter").</t>
          <t indent="0" pn="section-5.2.1-8">If a PCC detects that the subobjects of an ERO are a mixture of
          SRv6-ERO subobjects and subobjects of other types, then it
          <bcp14>MUST</bcp14> send a PCErr message with Error-Type = 10
          ("Reception of an invalid object") and Error-value = 43 ("ERO mixes
          SRv6-ERO subobjects with other subobject types").</t>
          <t indent="0" pn="section-5.2.1-9">In case a PCEP speaker receives an SRv6-ERO subobject, when the PST is not set to 3 or SRv6-PCE-CAPABILITY sub-TLV was not exchanged, it <bcp14>MUST</bcp14> send a PCErr message with Error-Type = 19 ("Invalid Operation") and Error-value = 19 ("Attempted SRv6 when the capability was not advertised").</t>
          <t indent="0" pn="section-5.2.1-10">If a PCC receives an SRv6 path that exceeds the SRv6 MSD capabilities, it <bcp14>MUST</bcp14> send a PCErr message with Error-Type = 10 ("Reception of an invalid object") and Error-value = 40 ("Unsupported number of SRv6-ERO subobjects") as per <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>.</t>
        </section>
        <section anchor="interpreting-the-srv6-ero" numbered="true" removeInRFC="false" toc="include" pn="section-5.2.2">
          <name slugifiedName="name-interpreting-the-srv6-ero">Interpreting the SRv6-ERO</name>
          <t indent="0" pn="section-5.2.2-1">The SRv6-ERO contains a sequence of subobjects. According to <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>, each
SRv6-ERO subobject in the sequence identifies a segment that the
traffic will be directed to, in the order given. That is, the first
subobject identifies the first segment the traffic will be directed
to, the second SRv6-ERO subobject represents the second segment, and
so on.</t>
        </section>
      </section>
      <section anchor="RRO-Processing" numbered="true" removeInRFC="false" toc="include" pn="section-5.3">
        <name slugifiedName="name-rro-processing">RRO Processing</name>
        <t indent="0" pn="section-5.3-1">The syntax-checking rules that apply to the SRv6-RRO subobject are
identical to those of the SRv6-ERO subobject, except as noted
below.</t>
        <t indent="0" pn="section-5.3-2">If a PCEP speaker receives an SRv6-RRO subobject in which both SRv6
SID and NAI are absent, it <bcp14>MUST</bcp14> consider the entire RRO invalid and
send a PCErr message with Error-Type = 10 ("Reception of an invalid
object") and Error-value = 35 ("Both SID and NAI
are absent in
SRv6-RRO subobject").</t>
        <t indent="0" pn="section-5.3-3">If a PCE detects that the subobjects of an RRO are a mixture of
SRv6-RRO subobjects and subobjects of other types, then it <bcp14>MUST</bcp14> send a
PCErr message with Error-Type = 10 ("Reception of an invalid object")
and Error-value = 36 ("RRO mixes SRv6-RRO subobjects
with other
subobject types").</t>
        <t indent="0" pn="section-5.3-4">The mechanism by which the PCC learns the path is outside the scope of this document.</t>
      </section>
    </section>
    <section anchor="Security-Considerations" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-6-1">The Security Considerations described in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>,
      <xref target="RFC6952" sectionFormat="of" section="2.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6952#section-2.5" derivedContent="RFC6952"/>,
      <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>, <xref target="RFC8253" format="default" sectionFormat="of" derivedContent="RFC8253"/>, and <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> are applicable to this
      specification.</t>
      <t indent="0" pn="section-6-2">Note that this specification enables a network controller to
      instantiate an SRv6 path in the network.  This creates an additional
      vulnerability if the security mechanisms of <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>,
      <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, and <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> are not used.  If
      there is no integrity protection on the session, then an attacker could
      create an SRv6 path that may not be subjected to the further verification
      checks. Further, the MSD field in the Open message could disclose node
      forwarding capabilities if suitable security mechanisms are not in
      place. Hence, securing the PCEP session using Transport Layer Security
      (TLS) <xref target="RFC8253" format="default" sectionFormat="of" derivedContent="RFC8253"/> is <bcp14>RECOMMENDED</bcp14>.</t>
    </section>
    <section anchor="Manage" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-manageability-consideration">Manageability Considerations</name>
      <t indent="0" pn="section-7-1">All manageability requirements and considerations listed in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>,
      and <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> apply to PCEP protocol extensions defined
      in this document. In addition, requirements and considerations listed in
      this section apply.</t>
      <section anchor="control-of-function-and-policy" numbered="true" removeInRFC="false" toc="include" pn="section-7.1">
        <name slugifiedName="name-control-of-function-and-pol">Control of Function and Policy</name>
        <t indent="0" pn="section-7.1-1">A PCEP implementation <bcp14>SHOULD</bcp14> allow the operator to configure the SRv6 capability.
Further, a policy to accept NAI only for the SRv6 <bcp14>SHOULD</bcp14> be allowed to be set.</t>
      </section>
      <section anchor="information-and-data-models" numbered="true" removeInRFC="false" toc="include" pn="section-7.2">
        <name slugifiedName="name-information-and-data-models">Information and Data Models</name>
        <t indent="0" pn="section-7.2-1">The PCEP YANG module is out of the scope of this document; it is defined in other documents, for example, <xref target="I-D.ietf-pce-pcep-yang" format="default" sectionFormat="of" derivedContent="PCEP-YANG"/>. An augmented YANG module for SRv6 is also specified in <xref target="I-D.ietf-pce-pcep-srv6-yang" format="default" sectionFormat="of" derivedContent="PCEP-SRv6-YANG"/> that allows for SRv6 capability and MSD configurations as well as to monitor the SRv6 paths set in the network.</t>
      </section>
      <section anchor="liveness-detection-and-monitoring" numbered="true" removeInRFC="false" toc="include" pn="section-7.3">
        <name slugifiedName="name-liveness-detection-and-moni">Liveness Detection and Monitoring</name>
        <t indent="0" pn="section-7.3-1">Mechanisms defined in this document do not imply any new liveness
detection and monitoring requirements in addition to those already
listed in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.</t>
      </section>
      <section anchor="verify-correct-operations" numbered="true" removeInRFC="false" toc="include" pn="section-7.4">
        <name slugifiedName="name-verify-correct-operations">Verify Correct Operations</name>
        <t indent="0" pn="section-7.4-1">Verification of the mechanisms defined in this document can be built on those already listed in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, and <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>.</t>
      </section>
      <section anchor="requirements-on-other-protocols" numbered="true" removeInRFC="false" toc="include" pn="section-7.5">
        <name slugifiedName="name-requirements-on-other-proto">Requirements on Other Protocols</name>
        <t indent="0" pn="section-7.5-1">Mechanisms defined in this document do not imply any new
requirements on other protocols.</t>
      </section>
      <section anchor="impact-on-network-operations" numbered="true" removeInRFC="false" toc="include" pn="section-7.6">
        <name slugifiedName="name-impact-on-network-operation">Impact on Network Operations</name>
        <t indent="0" pn="section-7.6-1">Mechanisms defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, and <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> also apply to PCEP
        extensions defined in this document.</t>
      </section>
    </section>
    <section anchor="IANA-Considerations" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="PCEP-ERO-and-RRO-subobjects" numbered="true" removeInRFC="false" toc="include" pn="section-8.1">
        <name slugifiedName="name-pcep-ero-and-rro-subobjects">PCEP ERO and RRO Subobjects</name>
        <t indent="0" pn="section-8.1-1">This document defines a new subobject type for the PCEP Explicit
        Route Object (ERO) and a new subobject type for the PCEP Reported
        Route Object (RRO). These have been registered in the "Resource Reservation
	Protocol (RSVP) Parameters" registry group as shown below.</t>
        <t indent="0" pn="section-8.1-2">IANA has allocated the following new subobject in the "Subobject type - 20 EXPLICIT_ROUTE - Type 1 Explicit Route" registry: </t>
        <table anchor="iana-1" align="center" pn="table-1">
          <name/>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">40</td>
              <td align="left" colspan="1" rowspan="1">SRv6-ERO (PCEP-specific)</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-8.1-4">IANA has allocated the following new subobject in the "Subobject type - 21 ROUTE_RECORD - Type 1 Route Record" registry: </t>
        <table anchor="iana-2" align="center" pn="table-2">
          <name/>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">40</td>
              <td align="left" colspan="1" rowspan="1">SRv6-RRO (PCEP-specific)</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="IANA-NAI" numbered="true" removeInRFC="false" toc="include" pn="section-8.2">
        <name slugifiedName="name-new-srv6-ero-nai-type-regis">New SRv6-ERO NAI Type Registry</name>
        <t indent="0" pn="section-8.2-1">IANA has created the "PCEP SRv6-ERO NAI Types" registry within the "Path Computation Element Protocol (PCEP) Numbers" registry group to manage the 4-bit NT field in the SRv6-ERO subobject. The registration policy is IETF Review <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. IANA has registered the values in <xref target="iana-3" format="default" sectionFormat="of" derivedContent="Table 3"/>.</t>
        <table anchor="iana-3" align="center" pn="table-3">
          <name/>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</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">0</td>
              <td align="left" colspan="1" rowspan="1">NAI is absent.</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">NAI is an IPv6 node ID.</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">NAI is an IPv6 adjacency with global IPv6 addresses.</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">NAI is an IPv6 adjacency with link-local IPv6 addresses.</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="SRv6-ERO-flag" numbered="true" removeInRFC="false" toc="include" pn="section-8.3">
        <name slugifiedName="name-new-srv6-ero-flag-registry">New SRv6-ERO Flag Registry</name>
        <t indent="0" pn="section-8.3-1">IANA has created the "SRv6-ERO Flag Field" registry within the "Path Computation Element Protocol (PCEP) Numbers" registry group to manage the 12-bit Flag field of the SRv6-ERO subobject.  New values are to be assigned by Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. Each registration should include the following information:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8.3-2">
          <li pn="section-8.3-2.1">
            <t indent="0" pn="section-8.3-2.1.1">Bit (counting from bit 0 as the most significant
	    bit)</t>
          </li>
          <li pn="section-8.3-2.2">
            <t indent="0" pn="section-8.3-2.2.1">Description</t>
          </li>
          <li pn="section-8.3-2.3">
            <t indent="0" pn="section-8.3-2.3.1">Reference</t>
          </li>
        </ul>
        <t indent="0" pn="section-8.3-3">The following values are defined in this document:</t>
        <table anchor="iana-4" align="center" pn="table-4">
          <name/>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit</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">8</td>
              <td align="left" colspan="1" rowspan="1">SID Verification (V)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">9</td>
              <td align="left" colspan="1" rowspan="1">SID Structure is present (T)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">10</td>
              <td align="left" colspan="1" rowspan="1">NAI is absent (F)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">11</td>
              <td align="left" colspan="1" rowspan="1">SID is absent (S)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="lsp-error-code-tlv" numbered="true" removeInRFC="false" toc="include" pn="section-8.4">
        <name slugifiedName="name-lsp-error-code-tlv">LSP-ERROR-CODE TLV</name>
        <t indent="0" pn="section-8.4-1">This document defines a new value in "LSP-ERROR-CODE TLV Error Code Field" registry within the "Path Computation Element Protocol (PCEP) Numbers" registry group.</t>
        <table anchor="iana-5" align="center" pn="table-5">
          <name/>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">10</td>
              <td align="left" colspan="1" rowspan="1">SID Verification fails</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sub-TLV-Type-Indicators" numbered="true" removeInRFC="false" toc="include" pn="section-8.5">
        <name slugifiedName="name-path-setup-type-capability-">PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators</name>
        <t indent="0" pn="section-8.5-1">IANA maintains the "PATH-SETUP-TYPE-CAPABILITY
Sub-TLV Type Indicators" registry within the "Path Computation Element
Protocol (PCEP) Numbers" registry group to manage the type indicator space
for sub-TLVs of the PATH-SETUP-TYPE-CAPABILITY TLV. IANA has registered the following value:</t>
        <table anchor="iana-6" align="center" pn="table-6">
          <name/>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">27</td>
              <td align="left" colspan="1" rowspan="1">SRv6-PCE-CAPABILITY</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="SRv6-PCE-Capability-Flags" numbered="true" removeInRFC="false" toc="include" pn="section-8.6">
        <name slugifiedName="name-srv6-pce-capability-flags">SRv6 PCE Capability Flags</name>
        <t indent="0" pn="section-8.6-1">IANA has created the "SRv6
Capability Flag Field" registry within the "Path Computation Element Protocol (PCEP) Numbers" registry group to manage the 16-bit Flag field of the SRv6-PCE-CAPABILITY sub-TLV. New values are to be assigned by Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. Each registration should include the following information:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8.6-2">
          <li pn="section-8.6-2.1">
            <t indent="0" pn="section-8.6-2.1.1">Bit (counting from bit 0 as the most significant
bit)</t>
          </li>
          <li pn="section-8.6-2.2">
            <t indent="0" pn="section-8.6-2.2.1">Description</t>
          </li>
          <li pn="section-8.6-2.3">
            <t indent="0" pn="section-8.6-2.3.1">Reference</t>
          </li>
        </ul>
        <t indent="0" pn="section-8.6-3">The following value is defined in this document.</t>
        <table anchor="iana-7" align="center" pn="table-7">
          <name/>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit</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">14</td>
              <td align="left" colspan="1" rowspan="1">Node or Adjacency Identifier (NAI) is supported (N)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="New-Path-Setup-Type" numbered="true" removeInRFC="false" toc="include" pn="section-8.7">
        <name slugifiedName="name-new-path-setup-type">New Path Setup Type</name>
        <t indent="0" pn="section-8.7-1"><xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/> created the "PCEP Path Setup Types" registry within the "Path Computation Element Protocol (PCEP) Numbers" registry group. IANA has allocated
the following value:</t>
        <table anchor="iana-8" align="center" pn="table-8">
          <name/>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</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">3</td>
              <td align="left" colspan="1" rowspan="1">Traffic engineering path is set up using SRv6.</td>
              <td align="left" colspan="1" rowspan="1">RFC 9603</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ERROR-Objects" numbered="true" removeInRFC="false" toc="include" pn="section-8.8">
        <name slugifiedName="name-error-objects">ERROR Objects</name>
        <t indent="0" pn="section-8.8-1">IANA has allocated the following Error-values in the "PCEP-ERROR
Object Error Types and Values" registry within the "Path Computation Element Protocol (PCEP) Numbers" registry group:</t>
        <table anchor="iana-9" align="center" pn="table-9">
          <name/>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Error-Type</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
              <th align="left" colspan="1" rowspan="1">Error-value</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td rowspan="8" align="left" colspan="1">10</td>
              <td rowspan="8" align="left" colspan="1">Reception of an invalid object</td>
              <td align="left" colspan="1" rowspan="1">34: Missing PCE-SRv6-CAPABILITY sub-TLV</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">35: Both SID and NAI are absent in SRv6-RRO subobject</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">36: RRO mixes SRv6-RRO subobjects with other subobject types</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">37: Invalid SRv6 SID Structure</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">40: Unsupported number of SRv6-ERO subobjects</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">41: Unsupported NAI Type in the SRv6-ERO/SRv6-RRO subobject</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">42: Both SID and NAI are absent in the SRv6-ERO subobject</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">43: ERO mixes SRv6-ERO subobjects with other subobject types</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">19</td>
              <td align="left" colspan="1" rowspan="1">Invalid Operation</td>
              <td align="left" colspan="1" rowspan="1">
		19: Attempted SRv6 when the capability was not advertised</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-pce-pcep-yang" to="PCEP-YANG"/>
    <displayreference target="I-D.ietf-pce-pcep-srv6-yang" to="PCEP-SRv6-YANG"/>
    <references pn="section-9">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-9.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC3209" target="https://www.rfc-editor.org/info/rfc3209" quoteTitle="true" derivedAnchor="RFC3209">
          <front>
            <title>RSVP-TE: Extensions to RSVP for LSP Tunnels</title>
            <author fullname="D. Awduche" initials="D." surname="Awduche"/>
            <author fullname="L. Berger" initials="L." surname="Berger"/>
            <author fullname="D. Gan" initials="D." surname="Gan"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="V. Srinivasan" initials="V." surname="Srinivasan"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <date month="December" year="2001"/>
            <abstract>
              <t indent="0">This document describes the use of RSVP (Resource Reservation Protocol), including all the necessary extensions, to establish label-switched paths (LSPs) in MPLS (Multi-Protocol Label Switching). Since the flow along an LSP is completely identified by the label applied at the ingress node of the path, these paths may be treated as tunnels. A key application of LSP tunnels is traffic engineering with MPLS as specified in RFC 2702. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3209"/>
          <seriesInfo name="DOI" value="10.17487/RFC3209"/>
        </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="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="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="RFC8281" target="https://www.rfc-editor.org/info/rfc8281" quoteTitle="true" derivedAnchor="RFC8281">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model</title>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <date month="December" 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">The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE. This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8281"/>
          <seriesInfo name="DOI" value="10.17487/RFC8281"/>
        </reference>
        <reference anchor="RFC8408" target="https://www.rfc-editor.org/info/rfc8408" quoteTitle="true" derivedAnchor="RFC8408">
          <front>
            <title>Conveying Path Setup Type in PCE Communication Protocol (PCEP) Messages</title>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="I. Minei" initials="I." surname="Minei"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <author fullname="J. Hardwick" initials="J." surname="Hardwick"/>
            <date month="July" year="2018"/>
            <abstract>
              <t indent="0">A Path Computation Element (PCE) can compute Traffic Engineering (TE) paths through a network; these paths are subject to various constraints. Currently, TE paths are Label Switched Paths (LSPs) that are set up using the RSVP-TE signaling protocol. However, other TE path setup methods are possible within the PCE architecture. This document proposes an extension to the PCE Communication Protocol (PCEP) to allow support for different path setup methods over a given PCEP session.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8408"/>
          <seriesInfo name="DOI" value="10.17487/RFC8408"/>
        </reference>
        <reference anchor="RFC8491" target="https://www.rfc-editor.org/info/rfc8491" quoteTitle="true" derivedAnchor="RFC8491">
          <front>
            <title>Signaling Maximum SID Depth (MSD) Using IS-IS</title>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="U. Chunduri" initials="U." surname="Chunduri"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <date month="November" year="2018"/>
            <abstract>
              <t indent="0">This document defines a way for an Intermediate System to Intermediate System (IS-IS) router to advertise multiple types of supported Maximum SID Depths (MSDs) at node and/or link granularity. Such advertisements allow entities (e.g., centralized controllers) to determine whether a particular Segment ID (SID) stack can be supported in a given network. This document only defines one type of MSD: Base MPLS Imposition. However, it defines an encoding that can support other MSD types. This document focuses on MSD use in a network that is Segment Routing (SR) enabled, but MSD may also be useful when SR is not enabled.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8491"/>
          <seriesInfo name="DOI" value="10.17487/RFC8491"/>
        </reference>
        <reference anchor="RFC8253" target="https://www.rfc-editor.org/info/rfc8253" quoteTitle="true" derivedAnchor="RFC8253">
          <front>
            <title>PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP)</title>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="D. Dhody" initials="D." surname="Dhody"/>
            <date month="October" year="2017"/>
            <abstract>
              <t indent="0">The Path Computation Element Communication Protocol (PCEP) defines the mechanisms for the communication between a Path Computation Client (PCC) and a Path Computation Element (PCE), or among PCEs. This document describes PCEPS -- the usage of Transport Layer Security (TLS) to provide a secure transport for PCEP. The additional security mechanisms are provided by the transport protocol supporting PCEP; therefore, they do not affect the flexibility and extensibility of PCEP.</t>
              <t indent="0">This document updates RFC 5440 in regards to the PCEP initialization phase procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8253"/>
          <seriesInfo name="DOI" value="10.17487/RFC8253"/>
        </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="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="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="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="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>
      </references>
      <references anchor="sec-informative-references" pn="section-9.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4657" target="https://www.rfc-editor.org/info/rfc4657" quoteTitle="true" derivedAnchor="RFC4657">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol Generic Requirements</title>
            <author fullname="J. Ash" initials="J." role="editor" surname="Ash"/>
            <author fullname="J.L. Le Roux" initials="J.L." role="editor" surname="Le Roux"/>
            <date month="September" year="2006"/>
            <abstract>
              <t indent="0">The PCE model is described in the "PCE Architecture" document and facilitates path computation requests from Path Computation Clients (PCCs) to Path Computation Elements (PCEs). This document specifies generic requirements for a communication protocol between PCCs and PCEs, and also between PCEs where cooperation between PCEs is desirable. Subsequent documents will specify application-specific requirements for the PCE communication protocol. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4657"/>
          <seriesInfo name="DOI" value="10.17487/RFC4657"/>
        </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="RFC8051" target="https://www.rfc-editor.org/info/rfc8051" quoteTitle="true" derivedAnchor="RFC8051">
          <front>
            <title>Applicability of a Stateful Path Computation Element (PCE)</title>
            <author fullname="X. Zhang" initials="X." role="editor" surname="Zhang"/>
            <author fullname="I. Minei" initials="I." role="editor" surname="Minei"/>
            <date month="January" year="2017"/>
            <abstract>
              <t indent="0">A stateful Path Computation Element (PCE) maintains information about Label Switched Path (LSP) characteristics and resource usage within a network in order to provide traffic-engineering calculations for its associated Path Computation Clients (PCCs). This document describes general considerations for a stateful PCE deployment and examines its applicability and benefits, as well as its challenges and limitations, through a number of use cases. PCE Communication Protocol (PCEP) extensions required for stateful PCE usage are covered in separate documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8051"/>
          <seriesInfo name="DOI" value="10.17487/RFC8051"/>
        </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="RFC8754" target="https://www.rfc-editor.org/info/rfc8754" quoteTitle="true" derivedAnchor="RFC8754">
          <front>
            <title>IPv6 Segment Routing Header (SRH)</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <date month="March" year="2020"/>
            <abstract>
              <t indent="0">Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8754"/>
          <seriesInfo name="DOI" value="10.17487/RFC8754"/>
        </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="RFC9352" target="https://www.rfc-editor.org/info/rfc9352" quoteTitle="true" derivedAnchor="RFC9352">
          <front>
            <title>IS-IS Extensions to Support Segment Routing over the IPv6 Data Plane</title>
            <author fullname="P. Psenak" initials="P." role="editor" surname="Psenak"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <date month="February" year="2023"/>
            <abstract>
              <t indent="0">The Segment Routing (SR) architecture allows a flexible definition of the end-to-end path by encoding it as a sequence of topological elements called "segments". It can be implemented over the MPLS or the IPv6 data plane. This document describes the IS-IS extensions required to support SR over the IPv6 data plane.</t>
              <t indent="0">This document updates RFC 7370 by modifying an existing registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9352"/>
          <seriesInfo name="DOI" value="10.17487/RFC9352"/>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-yang" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-yang-25" quoteTitle="true" derivedAnchor="PCEP-YANG">
          <front>
            <title>A YANG Data Model for Path Computation Element Communications Protocol (PCEP)</title>
            <author initials="D." surname="Dhody" fullname="Dhruv Dhody" role="editor">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author initials="V." surname="Beeram" fullname="Vishnu Beeram">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <author initials="J." surname="Hardwick" fullname="Jonathan Hardwick">
              <organization showOnFrontPage="true">Microsoft</organization>
            </author>
            <author initials="J." surname="Tantsura" fullname="Jeff Tantsura">
              <organization showOnFrontPage="true">Nvidia</organization>
            </author>
            <date day="21" month="May" year="2024"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-yang-25"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-srv6-yang" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-srv6-yang-05" quoteTitle="true" derivedAnchor="PCEP-SRv6-YANG">
          <front>
            <title>A YANG Data Model for Segment Routing (SR) Policy and SR in IPv6 (SRv6) support in Path Computation Element Communications Protocol (PCEP)</title>
            <author initials="C." surname="Li" fullname="Cheng Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="S." surname="Sivabalan" fullname="Siva Sivabalan">
              <organization showOnFrontPage="true">Ciena Corporation</organization>
            </author>
            <author initials="S." surname="Peng" fullname="Shuping Peng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="M." surname="Koldychev" fullname="Mike Koldychev">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="L." surname="Ndifor" fullname="Luc-Fabrice Ndifor">
              <organization showOnFrontPage="true">MTN Cameroon</organization>
            </author>
            <date month="March" day="18" year="2024"/>
            <abstract>
              <t indent="0">   This document augments a YANG data model for the management of Path
   Computation Element Communications Protocol (PCEP) for communications
   between a Path Computation Client (PCC) and a Path Computation
   Element (PCE), or between two PCEs in support for Segment Routing in
   IPv6 (SRv6) and SR Policy.  The data model includes configuration
   data and state data (status information and counters for the
   collection of statistics).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-srv6-yang-05"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgements" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">The authors would like to thank <contact fullname="Jeff Tantsura"/>,
      <contact fullname="Adrian Farrel"/>, <contact fullname="Aijun Wang"/>,
      <contact fullname="Khasanov Boris"/>, <contact fullname="Ketan       Talaulikar"/>, <contact fullname="Martin Vigoureux"/>, <contact fullname="Hariharan Ananthakrishnan"/>, <contact fullname="Xinyue       Zhang"/>, <contact fullname="John Scudder"/>, <contact fullname="Julien       Meuric"/>, and <contact fullname="Robert Varga"/> for valuable
      suggestions.</t>
      <t indent="0" pn="section-appendix.a-2">Thanks to <contact fullname="Gunter Van de Velde"/>, <contact fullname="Éric Vyncke"/>, <contact fullname="Jim Guichard"/>, and
      <contact fullname="Mahesh Jethanandani"/> for their comments during the
      IESG review.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact initials="M. S." surname="Negi" fullname="Mahendra Singh Negi">
        <organization showOnFrontPage="true">RtBrick Inc</organization>
        <address>
          <postal>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <country>India</country>
          </postal>
          <email>mahend.ietf@gmail.com</email>
        </address>
      </contact>
      <contact initials="D." surname="Dhody" fullname="Dhruv Dhody">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <country>India</country>
          </postal>
          <email>dhruv.ietf@gmail.com</email>
        </address>
      </contact>
      <contact initials="H." surname="Wumin" fullname="Huang Wumin">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Huawei Building, No. 156 Beiqing Rd.</street>
            <city>Beijing</city>
            <code>100095</code>
            <country>China</country>
          </postal>
          <email>huangwumin@huawei.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Peng" fullname="Shuping Peng">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Huawei Building, No. 156 Beiqing Rd.</street>
            <city>Beijing</city>
            <code>100095</code>
            <country>China</country>
          </postal>
          <email>pengshuping@huawei.com</email>
        </address>
      </contact>
      <contact initials="R." surname="Chen" fullname="Ran Chen">
        <organization showOnFrontPage="true">ZTE Corporation</organization>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>chen.ran@zte.com.cn</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="李呈" asciiFullname="Cheng Li" role="editor">
        <organization ascii="Huawei Technologies" showOnFrontPage="true">华为技术有限公司</organization>
        <address>
          <postal>
            <street ascii="Huawei Campus, No. 156 Beiqing Rd.">华为北研所</street>
            <city ascii="Beijing">北京</city>
            <code>100095</code>
            <country ascii="China">中国</country>
          </postal>
          <email>c.l@huawei.com</email>
        </address>
      </author>
      <author initials="P." surname="Kaladharan" fullname="Prejeeth Kaladharan">
        <organization showOnFrontPage="true">RtBrick Inc</organization>
        <address>
          <postal>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <country>India</country>
          </postal>
          <email>prejeeth@rtbrick.com</email>
        </address>
      </author>
      <author initials="S." surname="Sivabalan" fullname="Siva Sivabalan">
        <organization showOnFrontPage="true">Ciena Corporation</organization>
        <address>
          <email>msiva282@gmail.com</email>
        </address>
      </author>
      <author initials="M." surname="Koldychev" fullname="Mike Koldychev">
        <organization showOnFrontPage="true">Ciena Corporation</organization>
        <address>
          <postal>
            <country>Canada</country>
          </postal>
          <email>mkoldych@ciena.com</email>
        </address>
      </author>
      <author initials="Y." surname="Zhu" fullname="Yongqing Zhu">
        <organization showOnFrontPage="true">China Telecom</organization>
        <address>
          <postal>
            <street>109 West Zhongshan Ave, Tianhe District</street>
            <city>Bangalore</city>
            <region>Guangzhou</region>
            <country>China</country>
          </postal>
          <email>zhuyq8@chinatelecom.cn</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
