<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" submissionType="IETF" docName="draft-ietf-teas-pcecc-use-cases-18" number="9689" category="info" consensus="true" ipr="trust200902" obsoletes="" updates="" xml:lang="en" sortRefs="true" symRefs="true" tocInclude="true" prepTime="2024-12-04T16:40:27" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-teas-pcecc-use-cases-18" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9689" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="PCECC">Use Cases for a PCE as a Central Controller (PCECC)</title>
    <seriesInfo name="RFC" value="9689" stream="IETF"/>
    <author fullname="Zhenbin (Robin) Li" initials="Z." surname="Li">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>
          <city>Beijing</city>
          <code>100095</code>
          <country>China</country>
        </postal>
        <email>lizhenbin@huawei.com</email>
      </address>
    </author>
    <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="Q" surname="Zhao" fullname="Quintin Zhao">
      <organization showOnFrontPage="true">Etheric Networks</organization>
      <address>
        <postal>
          <street>1009 S Claremont St.</street>
          <city>San Mateo</city>
          <region>CA</region>
          <code>94402</code>
          <country>United States of America</country>
        </postal>
        <email>quintinzhao@gmail.com</email>
      </address>
    </author>
    <author fullname="King He" initials="K." surname="He">
      <organization showOnFrontPage="true">Tencent Holdings Ltd.</organization>
      <address>
        <postal>
          <city>Shenzhen</city>
          <country>China</country>
        </postal>
        <email>kinghe@tencent.com</email>
      </address>
    </author>
    <author fullname="Boris Khasanov" initials="B." surname="Khasanov">
      <organization showOnFrontPage="true">MTS Web Services (MWS)</organization>
      <address>
        <postal>
          <street>Andropova Ave. 18, building 9</street>
          <city>Moscow</city>
          <country>Russian Federation</country>
        </postal>
        <email>bhassanov@yahoo.com</email>
      </address>
    </author>
    <date month="12" year="2024"/>
    <area>RTG</area>
    <workgroup>teas</workgroup>
    <keyword>SDN</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The PCE is a core component of a Software-Defined Networking (SDN)
      system. It can be used to compute optimal paths for network traffic and
      update existing paths to reflect changes in the network or traffic
      demands. The PCE was developed to derive Traffic Engineering (TE) paths in MPLS
      networks, which are supplied to the headend of the paths using the Path
      Computation Element Communication Protocol (PCEP).</t>
      <t indent="0" pn="section-abstract-2">SDN has much broader applicability than signalled MPLS
      TE networks, and the PCE may be used to determine
      paths in a range of use cases including static Label-Switched Paths (LSPs), Segment Routing
      (SR), Service Function Chaining (SFC), and most forms of a routed or
      switched network. Therefore, it is reasonable to consider PCEP as a
      control protocol for use in these environments to allow the PCE to be
      fully enabled as a central controller.</t>
      <t indent="0" pn="section-abstract-3">A PCE as a Central Controller (PCECC) can simplify the processing of
      a distributed control plane by blending it with elements of SDN without
      necessarily completely replacing it. This document describes general
      considerations for PCECC deployment and examines its applicability and
      benefits, as well as its challenges and limitations, through a number of
      use cases.  PCEP extensions, which are required for the PCECC use cases,
      are covered in separate documents.</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 document is not an Internet Standards Track specification; it is
            published for informational purposes.  
        </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).  Not all documents
            approved by the IESG are candidates for any level of Internet
            Standard; see 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/rfc9689" 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>
          </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-use-cases">Use Cases</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" keepWithNext="true" 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-pcecc-for-label-management">PCECC for Label Management</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-pcecc-and-sr">PCECC and SR</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2">
                  <li pn="section-toc.1-1.3.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-sid-allocation-for-sr">PCECC SID Allocation for SR-MPLS</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.2.1"><xref derivedContent="3.2.2" format="counter" sectionFormat="of" target="section-3.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-sr-mpls-best-effo">PCECC for SR-MPLS Best Effort (BE) Paths</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.3.1"><xref derivedContent="3.2.3" format="counter" sectionFormat="of" target="section-3.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-sr-mpls-te-paths">PCECC for SR-MPLS TE Paths</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.4">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.4.1"><xref derivedContent="3.2.4" format="counter" sectionFormat="of" target="section-3.2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-srv6">PCECC for SRv6</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-static-te-lsps">PCECC for Static TE LSPs</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-load-balancing-lb">PCECC for Load Balancing (LB)</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.5">
                <t indent="0" pn="section-toc.1-1.3.2.5.1"><xref derivedContent="3.5" format="counter" sectionFormat="of" target="section-3.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-and-inter-as-te">PCECC and Inter-AS TE</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.6">
                <t indent="0" pn="section-toc.1-1.3.2.6.1"><xref derivedContent="3.6" format="counter" sectionFormat="of" target="section-3.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-multicast-lsps">PCECC for Multicast LSPs</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.6.2">
                  <li pn="section-toc.1-1.3.2.6.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.6.2.1.1"><xref derivedContent="3.6.1" format="counter" sectionFormat="of" target="section-3.6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-the-setup-of-p2mp">PCECC for the Setup of P2MP/MP2MP LSPs</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.6.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.6.2.2.1"><xref derivedContent="3.6.2" format="counter" sectionFormat="of" target="section-3.6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-the-end-to-end-pr">PCECC for the End-to-End Protection of P2MP/MP2MP LSPs</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.6.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.6.2.3.1"><xref derivedContent="3.6.3" format="counter" sectionFormat="of" target="section-3.6.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-the-local-protect">PCECC for the Local Protection of P2MP/MP2MP LSPs</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.7">
                <t indent="0" pn="section-toc.1-1.3.2.7.1"><xref derivedContent="3.7" format="counter" sectionFormat="of" target="section-3.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-traffic-classific">PCECC for Traffic Classification</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.8">
                <t indent="0" pn="section-toc.1-1.3.2.8.1"><xref derivedContent="3.8" format="counter" sectionFormat="of" target="section-3.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-sfc">PCECC for SFC</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.9">
                <t indent="0" pn="section-toc.1-1.3.2.9.1"><xref derivedContent="3.9" format="counter" sectionFormat="of" target="section-3.9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-native-ip">PCECC for Native IP</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.10">
                <t indent="0" pn="section-toc.1-1.3.2.10.1"><xref derivedContent="3.10" format="counter" sectionFormat="of" target="section-3.10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-bier">PCECC for BIER</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-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-other-use-cases-of-the-pcec">Other Use Cases of the PCECC</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="A.1" format="counter" sectionFormat="of" target="section-appendix.a.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-network-migration">PCECC for Network Migration</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="A.2" format="counter" sectionFormat="of" target="section-appendix.a.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-l3vpn-and-pwe3">PCECC for L3VPN and PWE3</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="A.3" format="counter" sectionFormat="of" target="section-appendix.a.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-for-local-protection-">PCECC for Local Protection (RSVP-TE)</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="A.4" format="counter" sectionFormat="of" target="section-appendix.a.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-using-reliable-p2mp-te-base">Using Reliable P2MP TE-Based Multicast Delivery for Distributed Computations (MapReduce-Hadoop)</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </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.d"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="sect-1" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The PCE <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/> was developed to offload
   the path computation function from routers in an MPLS Traffic Engineering (TE) network.  It can compute optimal paths for traffic
   across a network and can also update the paths to reflect changes in
   the network or traffic demands. The role and function of
   the PCE have grown to cover several other uses (such as GMPLS
   <xref target="RFC7025" format="default" sectionFormat="of" derivedContent="RFC7025"/> or Multicast)
   and to allow delegated stateful control <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> and PCE-initiated
   use of network resources <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>.</t>
      <t indent="0" pn="section-1-2">According to <xref target="RFC7399" format="default" sectionFormat="of" derivedContent="RFC7399"/>, Software-Defined Networking (SDN) refers to a
   separation between the control elements and the forwarding components
   so that software running in a centralized system, called a
   "controller", can act to program the devices in the network to behave
   in specific ways.  A required element in an SDN architecture is a
   component that plans how the network resources will be used and how
   the devices will be programmed.  It is possible to view this
   component as performing specific computations to place traffic flows
   within the network given knowledge of the availability of the network
   resources, how other forwarding devices are programmed, and the way
   that other flows are routed.  This is the function and purpose of a
   PCE, and the way that a PCE integrates into a wider network control
      system (including an SDN system) is presented in <xref target="RFC7491" format="default" sectionFormat="of" derivedContent="RFC7491"/>.</t>
      <t indent="0" pn="section-1-3"><xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/> outlines the architecture for the PCE as a central
   controller, extending the framework described in <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/>,
   and demonstrates how PCEP can serve as a general southbound control protocol between the PCE
and Path Computation Client (PCC). <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/> further examines the motivations and
   applicability of PCEP as a Southbound Interface (SBI) and introduces
   the implications for the protocol. </t>
      <t indent="0" pn="section-1-4"><xref target="RFC9050" format="default" sectionFormat="of" derivedContent="RFC9050"/> introduces the procedures and
   extensions for PCEP to support the PCECC architecture <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>.</t>
      <t indent="0" pn="section-1-5">
   This document describes the various use cases for the PCECC architecture.</t>
    </section>
    <section anchor="sect-2" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">
	The following terminology is used in this document.
      </t>
      <dl newline="false" spacing="normal" indent="0" pn="section-2-2">
        <dt pn="section-2-2.1">AS:</dt>
        <dd pn="section-2-2.2">Autonomous System</dd>
        <dt pn="section-2-2.3">ASBR:</dt>
        <dd pn="section-2-2.4">Autonomous System Border Router</dd>
        <dt pn="section-2-2.5">BGP-LS:</dt>
        <dd pn="section-2-2.6">Border Gateway Protocol - Link State <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/></dd>
        <dt pn="section-2-2.7">IGP:</dt>
        <dd pn="section-2-2.8">Interior Gateway Protocol (in this document, we assume IGP as either Open Shortest Path First (OSPF) <xref target="RFC2328" format="default" sectionFormat="of" derivedContent="RFC2328"/> <xref target="RFC5340" format="default" sectionFormat="of" derivedContent="RFC5340"/> or
        Intermediate System to Intermediate System (IS-IS) <xref target="RFC1195" format="default" sectionFormat="of" derivedContent="RFC1195"/>)</dd>
        <dt pn="section-2-2.9">LSP:</dt>
        <dd pn="section-2-2.10">Label-Switched Path</dd>
        <dt pn="section-2-2.11">PCC:</dt>
        <dd pn="section-2-2.12">Path Computation Client (as per <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/>, any client application requesting a path
        computation to be performed by a PCE)</dd>
        <dt pn="section-2-2.13">PCE:</dt>
        <dd pn="section-2-2.14">Path Computation Element (as per <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/>, an entity such as a component, application, or network node that is capable of computing a network path or route based on a
        network graph and applying computational constraints)</dd>
        <dt pn="section-2-2.15">PCECC:</dt>
        <dd pn="section-2-2.16">PCE as a Central Controller (an extension of a PCE to support SDN functions as per <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>)</dd>
        <dt pn="section-2-2.17">PST:</dt>
        <dd pn="section-2-2.18">Path Setup Type <xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/></dd>
        <dt pn="section-2-2.19">RR:</dt>
        <dd pn="section-2-2.20">Route Reflector <xref target="RFC4456" format="default" sectionFormat="of" derivedContent="RFC4456"/></dd>
        <dt pn="section-2-2.21">SID:</dt>
        <dd pn="section-2-2.22">Segment Identifier <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/></dd>
        <dt pn="section-2-2.23">SR:</dt>
        <dd pn="section-2-2.24">Segment Routing <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/></dd>
        <dt pn="section-2-2.25">SRGB:</dt>
        <dd pn="section-2-2.26">Segment Routing Global Block <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/></dd>
        <dt pn="section-2-2.27">SRLB:</dt>
        <dd pn="section-2-2.28">Segment Routing Local Block <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/></dd>
        <dt pn="section-2-2.29">TE:</dt>
        <dd pn="section-2-2.30">Traffic Engineering <xref target="RFC9522" format="default" sectionFormat="of" derivedContent="RFC9522"/></dd>
      </dl>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-use-cases">Use Cases</name>
      <t indent="0" pn="section-3-1"><xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/> describes various use cases for a PCECC such as:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3-2">
        <li pn="section-3-2.1">
          use of a PCECC to set up static TE LSPs (the PCEP extension for this use case is in <xref target="RFC9050" format="default" sectionFormat="of" derivedContent="RFC9050"/>)
        </li>
        <li pn="section-3-2.2">
          use of a PCECC in SR <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>
        </li>
        <li pn="section-3-2.3">
          use of a PCECC to set up Multicast Point-to-Multipoint (P2MP) LSPs
        </li>
        <li pn="section-3-2.4">
          use of a PCECC to set up Service Function Chaining (SFC) <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/>
        </li>
        <li pn="section-3-2.5">
          use of a PCECC in optical networks
        </li>
      </ul>
      <t indent="0" pn="section-3-3"><xref target="sect-3" format="default" sectionFormat="of" derivedContent="Section 3.1"/> describes the general case of a  PCECC being in charge of
 	   managing MPLS label space, which is a prerequisite for further use cases.
 	   Further, various use cases (SR, Multicast, etc.) are described in the following sections to showcase scenarios that can benefit from the use of a PCECC.
      </t>
      <t indent="0" pn="section-3-4">It is interesting to note that some of the use cases listed can also be supported via BGP instead of PCEP. However, within the scope of this document, the focus is on the use of PCEP.</t>
      <section anchor="sect-3" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-pcecc-for-label-management">PCECC for Label Management</name>
        <t indent="0" pn="section-3.1-1">As per <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>, in some cases, the PCECC can take responsibility for
   managing some part of the MPLS label space for each of the routers
   that it controls, and it may take wider responsibility for
   partitioning the label space for each router and allocating different
   parts for different uses, communicating the ranges to the router
   using PCEP.</t>
        <t indent="0" pn="section-3.1-2"><xref target="RFC9050" format="default" sectionFormat="of" derivedContent="RFC9050"/> describes a mode where
        LSPs are provisioned as explicit label instructions at each hop on the
        end-to-end path.  Each router along the path must be told what label
        forwarding instructions to program and what resources to reserve.  The
        controller uses PCEP to communicate with each router along the path of
        the end-to-end LSP.  For this to work, the PCECC will
        take responsibility for managing some part of the MPLS label space for
        each of the routers that it controls.  An extension to PCEP could be
        done to allow a PCC to inform the PCE of such a label space to control
        (see <xref target="I-D.ietf-pce-controlled-id-space" format="default" sectionFormat="of" derivedContent="PCE-ID"/> for a possible PCEP extension to support the
        advertisement of the MPLS label space for the PCE to control).</t>
        <t indent="0" pn="section-3.1-3"><xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> specifies extensions to PCEP that
   allow a stateful PCE to compute, update, or initiate SR-TE paths.
   <xref target="I-D.ietf-pce-pcep-extension-pce-controller-sr" format="default" sectionFormat="of" derivedContent="PCECC-SR"/> describes the
   mechanism for a PCECC to allocate and provision the node/prefix/
   adjacency label (Segment Routing Identifier (SID)) via PCEP.  To make such an allocation, the PCE needs to
   be aware of the label space from the Segment Routing Global Block (SRGB)
   or Segment Routing Local Block (SRLB)
   <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/> of the node that it controls.  A
   mechanism for a PCC to inform the PCE of such a label space to
   control is needed within the PCEP.  The full SRGB/SRLB of a node could be
   learned via existing IGP or BGP-LS <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/> mechanisms.</t>
        <t indent="0" pn="section-3.1-4">Further, there have been proposals for a global label range in MPLS as well as the use of PCECC
    architecture to learn the label space of each node to
	determine and provision the global label range.</t>
        <figure anchor="fig_label" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-pcecc-for-mpls-label-manage">PCECC for MPLS Label Management</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.1-5.1">
+------------------------------+    +------------------------------+
|         PCE DOMAIN 1         |    |         PCE DOMAIN 2         |
|          +--------+          |    |          +--------+          |
|          |        |          |    |          |        |          |
|          | PCECC1 |  ---------PCEP---------- | PCECC2 |          |
|          |        |          |    |          |        |          |
|          |        |          |    |          |        |          |
|          +--------+          |    |          +--------+          |
|         ^          ^         |    |         ^          ^         |
|        /            \  PCEP  |    |  PCEP  /            \        |
|       V              V       |    |       V              V       |
| +--------+        +--------+ |    | +--------+        +--------+ |
| | Node11 |        | Node1n | |    | | Node21 |        | Node2n | |
| |        | ...... |        | |    | |        | ...... |        | |
| | PCECC  |        |  PCECC | |    | | PCECC  |        |PCECC   | |
| |Enabled |        | Enabled| |    | |Enabled |        |Enabled | |
| +--------+        +--------+ |    | +--------+        +--------+ |
|                              |    |                              |
+------------------------------+    +------------------------------+
</artwork>
        </figure>
        <t indent="0" pn="section-3.1-6">As shown in <xref target="fig_label" format="default" sectionFormat="of" derivedContent="Figure 1"/>:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1-7">
          <li pn="section-3.1-7.1">
            <t indent="0" pn="section-3.1-7.1.1">The PCC
            will advertise the PCECC capability to the PCECC  <xref target="RFC9050" format="default" sectionFormat="of" derivedContent="RFC9050"/>.</t>
          </li>
          <li pn="section-3.1-7.2">
            <t indent="0" pn="section-3.1-7.2.1">The PCECC could also learn the label range set aside by the PCC
            (via <xref target="I-D.ietf-pce-controlled-id-space" format="default" sectionFormat="of" derivedContent="PCE-ID"/>).</t>
          </li>
          <li pn="section-3.1-7.3">
            <t indent="0" pn="section-3.1-7.3.1">Optionally, the PCECC could determine the shared MPLS global
            label range for the network.</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1-7.3.2">
              <li pn="section-3.1-7.3.2.1">
                <t indent="0" pn="section-3.1-7.3.2.1.1">In the case that the shared global label range needs to be
                negotiated across multiple domains, the central controllers of
                these domains will also need to negotiate a common global
                label range across domains.</t>
              </li>
              <li pn="section-3.1-7.3.2.2">
                <t indent="0" pn="section-3.1-7.3.2.2.1">The PCECC will need to set the shared global label range to
                all PCC nodes in the network.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t indent="0" pn="section-3.1-8">As per <xref target="RFC9050" format="default" sectionFormat="of" derivedContent="RFC9050"/>, the PCECC could also
        rely on the PCC to make label allocations initially and use PCEP to
        distribute it to where it is needed.</t>
      </section>
      <section anchor="sect-4" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-pcecc-and-sr">PCECC and SR</name>
        <t indent="0" pn="section-3.2-1">SR <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>
        leverages the source routing paradigm.  Using SR, a source node steers
        a packet through a path without relying on hop-by-hop signalling
        protocols such as LDP <xref target="RFC5036" format="default" sectionFormat="of" derivedContent="RFC5036"/> or
        RSVP-TE <xref target="RFC3209" format="default" sectionFormat="of" derivedContent="RFC3209"/>.  Each path is
        specified as an ordered list of instructions called "segments".  Each
        segment is an instruction to route the packet to a specific place in
        the network or to perform a specific service on the packet.  A
        database of segments can be distributed through the network using an
        intra-domain routing protocol (such as IS-IS or OSPF), an inter-domain
        protocol (such as BGP), or by any other means.  PCEP could also be one
        of other protocols.</t>
        <t indent="0" pn="section-3.2-2"><xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> specifies the PCEP
        extension specific to SR for SR over MPLS (SR-MPLS). The PCECC may further
        use the PCEP for distributing SR Segment Identifiers (SIDs)
        to the SR nodes (PCC) with some benefits. If the PCECC allocates and
        maintains the SIDs in the network for the nodes and adjacencies, and
        further distributes them to the SR nodes directly via the PCEP session,
        then it is more advantageous over the configurations on each SR node
        and flooding them via IGP, especially in an SDN environment. </t>
        <t indent="0" pn="section-3.2-3">
   When the PCECC is used for the distribution of the Node-SID
   and Adj-SID for SR-MPLS, the Node-SID is allocated from the
   SRGB of the node and the
   Adj-SID is allocated from the SRLB of the node as described in <xref target="I-D.ietf-pce-pcep-extension-pce-controller-sr" format="default" sectionFormat="of" derivedContent="PCECC-SR"/>.</t>
        <t indent="0" pn="section-3.2-4"><xref target="RFC8355" format="default" sectionFormat="of" derivedContent="RFC8355"/> identifies various protection and resiliency use cases for SR.
   Path protection lets the ingress node be in charge of the failure
   recovery (used for SR-TE <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>). Also, protection can be
   performed by the node adjacent to the failed component, commonly
   referred to as "local protection techniques" or "fast-reroute (FRR) techniques".
   In the case of the PCECC, the protection paths can be precomputed
   and set up by the PCE.</t>
        <t indent="0" pn="section-3.2-5">
   <xref target="fig_sr" format="default" sectionFormat="of" derivedContent="Figure 2"/> illustrates the use case where the Node-SID and Adj-SID are allocated by the PCECC for SR-MPLS.</t>
        <figure anchor="fig_sr" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-sr-topology">SR Topology</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.2-6.1">
                       192.0.2.1/32
                       +----------+
                       | R1(1001) |
                       +----------+
                            |
                       +----------+
                       | R2(1002) |  192.0.2.2/32
                       +----------+
                      *   |   *    *
                     *    |   *     *
                    *link1|   *      *
     192.0.2.4/32  *      |   *link2  *  192.0.2.5/32
        +-----------+ 9001|   *     +-----------+
        | R4(1004)  |     |   *     | R5(1005)  |
        +-----------+     |   *     +-----------+
                   *      |   *9003  *   +
                    *     |   *     *    +
                     *    |   *    *     +
                     +-----------+   +-----------+
        192.0.2.3/32 | R3(1003)  |   |R6(1006)   |192.0.2.6/32
                     +-----------+   +-----------+
                          |
                     +-----------+
                     | R8(1008)  |  192.0.2.8/32
                     +-----------+
</artwork>
        </figure>
        <section anchor="sect-4.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1">
          <name slugifiedName="name-pcecc-sid-allocation-for-sr">PCECC SID Allocation for SR-MPLS</name>
          <t indent="0" pn="section-3.2.1-1">Each node (PCC) is allocated a Node-SID by the PCECC. The PCECC
   needs to update the label mapping of each node to all
   the other nodes in the domain.  After receiving the label mapping, each node (PCC) uses the local
   routing information to determine the next hop and download the label
   forwarding instructions accordingly. The forwarding behavior and the end result
   are the same as IGP shortest-path SR forwarding based on Node-SIDs.  Thus, from anywhere in the domain, it enforces the
   ECMP-aware shortest-path forwarding of the packet towards the related
   node.</t>
          <t indent="0" pn="section-3.2.1-2">The PCECC can allocate an Adj-SID for each adjacency in the network. The PCECC sends a PCInitiate message to update the label mapping of each adjacency to the
   corresponding nodes in the domain.  Each node (PCC) downloads the
   label forwarding instructions accordingly. The forwarding behavior and the end result are similar to IGP-based
   Adj-SID allocation and usage in SR.</t>
          <t indent="0" pn="section-3.2.1-3">These mechanisms are described in <xref target="I-D.ietf-pce-pcep-extension-pce-controller-sr" format="default" sectionFormat="of" derivedContent="PCECC-SR"/>.</t>
        </section>
        <section anchor="sect-4.2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.2">
          <name slugifiedName="name-pcecc-for-sr-mpls-best-effo">PCECC for SR-MPLS Best Effort (BE) Paths</name>
          <t indent="0" pn="section-3.2.2-1">When using PCECC for SR-MPLS Best Effort (BE) Paths, the PCECC needs to
    allocate the Node-SID (without calculating the explicit path for the SR path).  The ingress router of the forwarding path needs
   to encapsulate the destination Node-SID on top of the packet.
   All the intermediate nodes will forward the packet based on the
   destination Node-SID.  It is similar to the LDP LSP.</t>
          <t indent="0" pn="section-3.2.2-2">R1 may send a packet to R8 simply by pushing an SR label with
   segment {1008} (Node-SID for R8). The path will be based on the routing / next hop calculation on the routers.</t>
        </section>
        <section anchor="sect-4.3" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.3">
          <name slugifiedName="name-pcecc-for-sr-mpls-te-paths">PCECC for SR-MPLS TE Paths</name>
          <t indent="0" pn="section-3.2.3-1">
	    SR-TE paths may not follow an IGP shortest path tree (SPT).  Such
	    paths may be chosen by a PCECC and provisioned on the ingress node
	    of the SR-TE path.  The SR header consists of a list of SIDs (or
	    MPLS labels).  The header has all necessary information so that
	    the packets can be guided from the ingress node to the egress node
	    of the path. Hence, there is no need for any signalling protocol.
	    For the case where a strict traffic engineering path is needed,
	    all the Adj-SIDs are stacked; otherwise, a combination of Node-SIDs
	    or Adj-SIDs can be used for the SR-TE paths.</t>
          <t indent="0" pn="section-3.2.3-2">
	    As shown in <xref target="fig-sr-te" format="default" sectionFormat="of" derivedContent="Figure 3"/>, R1 may
	    send a packet to R8 by pushing an SR header with segment list
	    {1002, 9001, 1008}, where 1002 and 1008 are the Node-SIDs of R2 and
	    R8, respectively. 9001 is the Adj-SID for link1. The path should
	    be: "R1-R2-link1-R3-R8".</t>
          <t indent="0" pn="section-3.2.3-3">
	    To achieve this, the PCECC first allocates and distributes SIDs as
	    described in <xref target="sect-4.1" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/>. <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> describes the mechanism for a
	    PCE to compute, update, or initiate SR-MPLS TE paths.
          </t>
          <figure anchor="fig-sr-te" align="left" suppress-title="false" pn="figure-3">
            <name slugifiedName="name-pcecc-te-lsp-setup-example">PCECC TE LSP Setup Example</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.2.3-4.1">
                      192.0.2.1/32
                      +----------+
                      | R1 (1001)|
                      +----------+
                        |       |
                 90011  |       |90012
                 link1  |       |link2
                       +----------+
                       | R2 (1002)|  192.0.2.2/32
                       +----------+
                link3 *   |   *    * link4
               90023 *    |   *     * 90024
                    *link5|   *      *
     192.0.2.4/32  *90025 |   *link6  *  192.0.2.5/32
        +-----------+     |   *90026+-----------+
        | R4 (1004) |     |   *     | R5 (1005) |
        +-----------+     |   *     +-----------+
                   *      |   *             +
            link10  *     |   *     link7   +
                     *    |   *             +
                     +-----------+   +-----------+
        192.0.2.3/32 | R3 (1003) |   |R6 (1006)  |192.0.2.6/32
                     +-----------+   +-----------+
                      |                   |
                      |link8              |
                      |        |----------|link9
                     +-----------+
                     | R8 (1008) |  192.0.2.8/32
                     +-----------+
</artwork>
          </figure>
          <t indent="0" pn="section-3.2.3-5">
	    Refer to <xref target="fig-sr-te" format="default" sectionFormat="of" derivedContent="Figure 3"/> for an
	    example of TE topology, where 100x are Node-SIDs and 900xx are Adj-SIDs.
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.2.3-6">
            <li pn="section-3.2.3-6.1">
              <t indent="0" pn="section-3.2.3-6.1.1">The SID allocation and distribution are done by the PCECC with all Node-SIDs (100x) and all Adj-SIDs (900xx).</t>
            </li>
            <li pn="section-3.2.3-6.2">
              <t indent="0" pn="section-3.2.3-6.2.1">Based on path computation request/delegation or PCE
              initiation, the PCECC receives a request with constraints and
              optimization criteria from a PCC.</t>
            </li>
            <li pn="section-3.2.3-6.3">
              <t indent="0" pn="section-3.2.3-6.3.1">The PCECC will calculate the optimal path according to the given
              constraints (e.g., bandwidth (BW)).</t>
            </li>
            <li pn="section-3.2.3-6.4">
              <t indent="0" pn="section-3.2.3-6.4.1">The PCECC will provision the SR-MPLS TE LSP path ("R1-link1-R2-link6-R3-R8") at the ingress node: {90011, 1002, 90026, 1003, 1008}</t>
            </li>
            <li pn="section-3.2.3-6.5">
              <t indent="0" pn="section-3.2.3-6.5.1">For the end-to-end protection, the PCECC can provision the secondary path ("R1-link2-R2-link4-R5-R8"): {90012, 1002, 90024, 1005, 1008}.</t>
            </li>
          </ul>
          <section anchor="sect-4.4" numbered="true" toc="exclude" removeInRFC="false" pn="section-3.2.3.1">
            <name slugifiedName="name-pcecc-for-sr-policy">PCECC for SR Policy</name>
            <t indent="0" pn="section-3.2.3.1-1"><xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/> defines SR
            architecture, which uses an SR Policy to steer packets
            from a node through an ordered list of segments. The SR Policy
            could be configured on the headend or instantiated by an SR
            controller.  The SR architecture does not restrict how the
            controller programs the network. In this case, the focus is on
            PCEP as the protocol for SR Policy delivery from the PCE to PCC. </t>
            <t indent="0" pn="section-3.2.3.1-2">An SR Policy architecture is described in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>. An SR Policy is a framework
            that enables the instantiation of an ordered list of segments on a
            node for implementing a source routing policy for the steering of
            traffic for a specific purpose (e.g., for a specific Service Level Agreement (SLA)) from that
            node.</t>
            <t indent="0" pn="section-3.2.3.1-3">An SR Policy is identified through the tuple &lt;headend,
	    color, endpoint&gt;.</t>
            <t indent="0" pn="section-3.2.3.1-4"><xref target="fig-sr-te" format="default" sectionFormat="of" derivedContent="Figure 3"/> is used as an
	    example of PCECC application for SR Policy instantiation for
	    SR-MPLS, where the Node-SIDs are 100x and the Adj-SIDs are 900xx.</t>
            <t indent="0" pn="section-3.2.3.1-5">Let's assume that R1 needs to have two disjoint SR Policies
            towards R8 based on different BWs. This means the possible paths
            are:</t>
            <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3.2.3.1-6">
              <li pn="section-3.2.3.1-6.1">
                POL1: {Headend R1, color 100, Endpoint R8; Candidate Path1: Segment List 1: {90011, 1002, 90023, 1004, 1003, 1008}}
              </li>
              <li pn="section-3.2.3.1-6.2">
                POL2: {Headend R1, color 200, Endpoint R8; Candidate Path1: Segment List 1: {90012, 1002, 90024, 1005, 1006, 1008}}
              </li>
            </ul>
            <t indent="0" pn="section-3.2.3.1-7">Each SR Policy (including the candidate path and segment list) will
            be signalled to a headend (R1) via PCEP <xref target="I-D.ietf-pce-segment-routing-policy-cp" format="default" sectionFormat="of" derivedContent="PCEP-POLICY"/>
            with the addition of an ASSOCIATION object.  A Binding SID (BSID)
            <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/> can be used for traffic
            steering of labelled traffic into an SR Policy; a BSID can be
            provisioned from the PCECC also via PCEP <xref target="RFC9604" format="default" sectionFormat="of" derivedContent="RFC9604"/>.  For non-labelled traffic steering into the SR
            Policy POL1 or POL2, a per-destination traffic steering will be
            used by means of the BGP Color Extended Community <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>.</t>
            <t indent="0" pn="section-3.2.3.1-8">The procedure is as follows:</t>
            <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3.2.3.1-9">
              <li pn="section-3.2.3.1-9.1">
                The PCECC allocates Node-SIDs and Adj-SIDs using the mechanism described in <xref target="sect-4.1" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/> for all nodes and links.
              </li>
              <li pn="section-3.2.3.1-9.2">
                The PCECC calculates disjoint paths for POL1 and POL2 and create segment lists for them: {90011, 1002, 90023, 1004, 1003, 1008};{90012, 1002, 90024, 1005, 1006, 1008}.
              </li>
              <li pn="section-3.2.3.1-9.3">
                The PCECC forms both SR Policies POL1 and POL2.
              </li>
              <li pn="section-3.2.3.1-9.4">
                The PCECC sends both POL1 and POL2 to R1 via PCEP.
              </li>
              <li pn="section-3.2.3.1-9.5">
                The PCECC optionally allocates BSIDs for the SR Policies.
              </li>
              <li pn="section-3.2.3.1-9.6">
                The traffic from R1 to R8, which fits to color 100, will be
                steered to POL1 and follows the path:
                "R1-link1-R2-link3-R4-R3-R8". The traffic from R1 to R8, which
                fits color 200, will be steered to POL2 and follows the path:
                "R1-link2-R2-link4-R5-R6-R8". Due to the possibility of having
                many segment lists in the same candidate path of each
                POL1/POL2, the PCECC could provision more paths towards R8 and
                traffic will be balanced either as ECMP or as weighted-ECMP (W-ECMP). This is
                the advantage of SR Policy architecture.
              </li>
            </ul>
            <t indent="0" pn="section-3.2.3.1-10">Note that an SR Policy can be associated with multiple candidate paths. A candidate path is selected when it is valid and it is determined to be the best path of the SR Policy as described in <xref target="RFC9256" format="default" sectionFormat="of" derivedContent="RFC9256"/>.</t>
          </section>
        </section>
        <section anchor="sect-8" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.4">
          <name slugifiedName="name-pcecc-for-srv6">PCECC for SRv6</name>
          <t indent="0" pn="section-3.2.4-1">As per <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>, with 
          SR, a node steers a packet through an ordered list of
          instructions, called segments.  SR can be applied to
          the IPv6 architecture with the Segment Routing Header (SRH) <xref target="RFC8754" format="default" sectionFormat="of" derivedContent="RFC8754"/>.  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 of the packet.  Upon completion
          of a segment, a pointer in the new routing header is incremented and
          indicates the next segment.</t>
          <t indent="0" pn="section-3.2.4-2">As per <xref target="RFC8754" format="default" sectionFormat="of" derivedContent="RFC8754"/>, an SR over IPv6
          (SRv6) Segment is a 128-bit value.  "SRv6 SID" or simply "SID" are
          often used as a shorter reference for "SRv6 Segment".  <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/> defines the SRv6 SID as
          consisting of LOC:FUNCT:ARG.</t>
          <t indent="0" pn="section-3.2.4-3"><xref target="RFC9603" format="default" sectionFormat="of" derivedContent="RFC9603"/> extends
   <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/> to support SR for the IPv6 data plane. Further,
   a PCECC could be extended to support SRv6 SID allocation and distribution.
   An example of how PCEP extensions could be
    extended for SRv6 for a PCECC is described in <xref target="I-D.ietf-pce-pcep-extension-pce-controller-srv6" format="default" sectionFormat="of" derivedContent="PCECC-SRv6"/>.</t>
          <figure anchor="fig_srv6" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-pcecc-for-srv6-2">PCECC for SRv6</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.2.4-4.1">
                       2001:db8::1
                       +----------+
                       | R1       |
                       +----------+
                            |
                       +----------+
                       | R2       |  2001:db8::2
                       +----------+
                      *   |   *    *
                     *    |   *     *
                    *link1|   *      *
     2001:db8::4   *      |   *link2  *  2001:db8::5
        +-----------+     |   *     +-----------+
        | R4        |     |   *     | R5        |
        +-----------+     |   *     +-----------+
                   *      |   *      *   +
                    *     |   *     *    +
                     *    |   *    *     +
                     +-----------+   +-----------+
        2001:db8::3  | R3        |   |R6         |2001:db8::6
                     +-----------+   +-----------+
                          |
                     +-----------+
                     | R8        |  2001:db8::8
                     +-----------+
</artwork>
          </figure>
          <t indent="0" pn="section-3.2.4-5">In this case, as shown in <xref target="fig_srv6" format="default" sectionFormat="of" derivedContent="Figure 4"/>, the PCECC could assign the SRv6 SID (in the form of
          an IPv6 address) to be used for node and adjacency. Later, the SRv6
          path in the form of a list of SRv6 SIDs could be used at the
          ingress. Some examples:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.2.4-6">
            <li pn="section-3.2.4-6.1">
              The best path towards R8: SRv6 SID-List={2001:db8::8}
            </li>
            <li pn="section-3.2.4-6.2">
              The path towards R8 via R5: SRv6 SID-List={2001:db8::5, 2001:db8::8}
            </li>
          </ul>
          <t indent="0" pn="section-3.2.4-7">The rest of the procedures and mechanisms remain the same as SR-MPLS.</t>
        </section>
      </section>
      <section anchor="sect-5" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-pcecc-for-static-te-lsps">PCECC for Static TE LSPs</name>
        <t indent="0" pn="section-3.3-1">As described in <xref target="RFC8283" section="3.1.2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8283#section-3.1.2" derivedContent="RFC8283"/>, the PCECC architecture supports
   the provisioning of static TE LSPs.  To achieve this, the
   existing PCEP can be used to communicate between the PCECC and
   nodes along the path to provision explicit label instructions at each hop on the
   end-to-end path.  Each router along the path must be told what label-forwarding instructions to program and what resources to reserve.
   The PCECC keeps a view of the network and determines
   the paths of the end-to-end LSPs, and the controller uses PCEP to
   communicate with each router along the path of the end-to-end LSP.</t>
        <figure anchor="fig-te" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-pcecc-te-lsp-setup-example-2">PCECC TE LSP Setup Example</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.3-2.1">
                       192.0.2.1/32
                      +----------+
                      | R1       |
                      +----------+
                        |       |
                        |link1  |
                        |       |link2
                       +----------+
                       | R2       |  192.0.2.2/32
                       +----------+
                link3 *   |   *    * link4
                     *    |   *     *
                    *link5|   *      *
     192.0.2.4/32  *      |   *link6  *  192.0.2.5/32
        +-----------+     |   *     +-----------+
        | R4        |     |   *     | R5        |
        +-----------+     |   *     +-----------+
                   *      |   *      *       +
            link10  *     |   *     *link7   +
                     *    |   *    *         +
                     +-----------+   +-----------+
        192.0.2.3/32 | R3        |   |R6         |192.0.2.6/32
                     +-----------+   +-----------+
                      |         |
                      |link8    |
                      |         |link9
                     +-----------+
                     | R8        |  192.0.2.8/32
                     +-----------+
</artwork>
        </figure>
        <t indent="0" pn="section-3.3-3">Refer to <xref target="fig-te" format="default" sectionFormat="of" derivedContent="Figure 5"/> for an example TE topology.</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.3-4">
          <li pn="section-3.3-4.1">
            <t indent="0" pn="section-3.3-4.1.1">Based on path computation request/delegation or PCE initiation, the PCECC
receives a request with constraints and optimization criteria.</t>
          </li>
          <li pn="section-3.3-4.2">
            <t indent="0" pn="section-3.3-4.2.1">The PCECC will calculate the optimal path according to the given constraints
   (e.g., BW).</t>
          </li>
          <li pn="section-3.3-4.3">
            <t indent="0" pn="section-3.3-4.3.1">The PCECC will provision each node along the path and assign incoming and outgoing labels from R1 to R8 with the
   path as "R1-link1-R2-link3-R4-link10-R3-link8-R8":
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.3-4.3.2">
              <li pn="section-3.3-4.3.2.1">
                <t indent="0" pn="section-3.3-4.3.2.1.1">R1: Outgoing label 1001 on link 1</t>
              </li>
              <li pn="section-3.3-4.3.2.2">
                <t indent="0" pn="section-3.3-4.3.2.2.1">R2: Incoming label 1001 on link 1</t>
              </li>
              <li pn="section-3.3-4.3.2.3">
                <t indent="0" pn="section-3.3-4.3.2.3.1">R2: Outgoing label 2003 on link 3</t>
              </li>
              <li pn="section-3.3-4.3.2.4">
                <t indent="0" pn="section-3.3-4.3.2.4.1">R4: Incoming label 2003 on link 3</t>
              </li>
              <li pn="section-3.3-4.3.2.5">
                <t indent="0" pn="section-3.3-4.3.2.5.1">R4: Outgoing label 4010 on link 10</t>
              </li>
              <li pn="section-3.3-4.3.2.6">
                <t indent="0" pn="section-3.3-4.3.2.6.1">R3: Incoming label 4010 on link 10</t>
              </li>
              <li pn="section-3.3-4.3.2.7">
                <t indent="0" pn="section-3.3-4.3.2.7.1">R3: Outgoing label 3008 on link 8</t>
              </li>
              <li pn="section-3.3-4.3.2.8">
                <t indent="0" pn="section-3.3-4.3.2.8.1">R8: Incoming label 3008 on link 8</t>
              </li>
            </ul>
          </li>
          <li pn="section-3.3-4.4">
            <t indent="0" pn="section-3.3-4.4.1">This can also be represented as: {R1, link1, 1001}, {1001, R2,
            link3, 2003}, {2003, R4, link10, 4010}, {4010, R3, link8, 3008},
            {3008, R8}.</t>
          </li>
          <li pn="section-3.3-4.5">
            <t indent="0" pn="section-3.3-4.5.1">For the end-to-end protection, the PCECC programs each node along
            the path from R1 to R8 with the secondary path: {R1, link2, 1002},
            {1002, R2, link4, 2004}, {2004, R5, link7, 5007}, {5007, R3,
            link9, 3009}, {3009, R8}.</t>
          </li>
          <li pn="section-3.3-4.6">
            <t indent="0" pn="section-3.3-4.6.1">It is also possible to have a bypass path for the local
            protection set up by the PCECC.  For example, use the primary path
            as above, then to protect the node R4 locally, the PCECC can program
            the bypass path like this: {R2, link5, 2005}, {2005, R3}. By doing
            this, the node R4 is locally protected at R2.</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-lb" numbered="true" toc="include" removeInRFC="false" pn="section-3.4">
        <name slugifiedName="name-pcecc-for-load-balancing-lb">PCECC for Load Balancing (LB)</name>
        <t indent="0" pn="section-3.4-1">
   Very often, many service providers use TE tunnels for solving issues
   with non-deterministic paths in their networks. One example of such
   applications is the usage of TEs in the mobile backhaul (MBH).
   Consider the topology as shown in <xref target="fig_lb" format="default" sectionFormat="of" derivedContent="Figure 6"/> (where AGG 1...AGG N are Aggregation routers, and Core 1...Core N are Core routers). </t>
        <figure anchor="fig_lb" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-pcecc-lb-use-case">PCECC LB Use Case</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.4-2.1">
                           TE1 -----------&gt;
+--------+    +------+    +-----+    +-------+    +------+  +---+
|Access  |----|Access|----|AGG 1|----|AGG N-1|----|Core 1|--|SR1|
|SubNode1|    |Node1 |    +-----+    +-------+    +------+  +---+
+--------+    +------+       | |         | ^          |
    |   Access    |  Access  | AGG Ring 1| |          |
    |  SubRing 1  |  Ring 1  | |         | |          |
+--------+    +------+    +-----+        | |          |
|Access  |    |Access|    |AGG 2|        | |          |
|SubNode2|    |Node2 |    +-----+        | |          |
+--------+    +------+       | |         | |          |
    |             |          | |         | |          |
    |             |          | +---TE2---|-+          |
+--------+    +------+    +-----+    +-------+    +------+  +---+
|Access  |    |Access|----|AGG 3|----| AGG N |----|Core N|--|SRn|
|SubNodeN|----|NodeN |    +-----+    +-------+    +------+  +---+
+--------+    +------+
</artwork>
        </figure>
        <t indent="0" pn="section-3.4-3">
   This MBH architecture uses L2 access rings and sub-rings. L3 starts at
   the aggregation layer. For the sake of simplicity, the figure shows only one access
   sub-ring. The access ring and aggregation ring are connected
   by Nx10GE interfaces. The aggregation domain runs its own IGP. There are
   two egress routers (AGG N-1 and AGG N) that are connected to the Core
   domain (Core 1...Core N) via L2 interfaces. The Core also has connections to service routers;
   RSVP-TE or SR-TE is used for MPLS transport inside the ring. There could be
   at least two tunnels (one way) from each AGG router to egress AGG
   routers. There are also many L2 access rings connected to AGG routers.</t>
        <t indent="0" pn="section-3.4-4">
   Service deployment is made by means of Layer 2 Virtual Private Networks
   (L2VPNs), Virtual Private LAN Services (VPLSs), Layer 3 Virtual Private
   Networks (L3VPNs), or Ethernet VPNs (EVPNs).  Those services use MPLS TE
   (or SR-TE) as transport towards egress AGG routers.  TE tunnels could be
   used as transport towards service routers in case of architecture based on
   seamless MPLS <xref target="I-D.ietf-mpls-seamless-mpls" format="default" sectionFormat="of" derivedContent="MPLS-SEAMLESS"/>.
        </t>
        <t indent="0" pn="section-3.4-5">Load Balancing (LB) between TE tunnels involves distributing network
        traffic across multiple TE tunnels to optimize the use of available
        network resources, enhance performance, and ensure reliability. Some
        common techniques include Equal-Cost Multipath (ECMP) and
        Unequal-Cost Multipath (UCMP) based on the BW of the TE
        tunnels.</t>
        <t indent="0" pn="section-3.4-6">There is a need to solve the following tasks:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.4-7">
          <li pn="section-3.4-7.1">
            <t indent="0" pn="section-3.4-7.1.1">Perform automatic LB amongst TE tunnels according to current traffic loads.</t>
          </li>
          <li pn="section-3.4-7.2">
            <t indent="0" pn="section-3.4-7.2.1">Manage TE BW by guaranteeing BW for specific
      services (such as High-Speed Internet (HSI), IPTV, etc.) 
           and enabling time-based BW reservation (such as Bandwidth 
           on Demand (BoD)).</t>
          </li>
          <li pn="section-3.4-7.3">
            <t indent="0" pn="section-3.4-7.3.1">Simplify the development of TE tunnels by automation without any manual intervention.</t>
          </li>
          <li pn="section-3.4-7.4">
            <t indent="0" pn="section-3.4-7.4.1">Provide flexibility for service router placement
            (anywhere in the network by the creation of transport LSPs to
            them).</t>
          </li>
        </ul>
        <t indent="0" pn="section-3.4-8">In this section, the focus is on LB tasks. LB tasks
        could be solved by means of the PCECC in the following ways:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.4-9">
          <li pn="section-3.4-9.1">
            <t indent="0" pn="section-3.4-9.1.1">Applications, network services, or operators can ask the SDN
            controller (PCECC) for LSP-based LB between AGG X and
            AGG N/AGG N-1 (egress AGG routers that have connections to the
            core).  Each of these will have associated constraints
            (such as BW, inclusion or exclusion of specific links or nodes,
            number of paths, Objective Function (OF), need for disjoint LSP
            paths, etc.).</t>
          </li>
          <li pn="section-3.4-9.2">
            <t indent="0" pn="section-3.4-9.2.1">The PCECC could calculate multiple (say N) LSPs according to given
            constraints. The calculation is based on the results of the OF <xref target="RFC5541" format="default" sectionFormat="of" derivedContent="RFC5541"/>,
            constraints, endpoints, same or different BW,
            different links (in case of disjoint paths), and other
            constraints.</t>
          </li>
          <li pn="section-3.4-9.3">
            <t indent="0" pn="section-3.4-9.3.1">Depending on the given LSP PST, the PCECC will
            download instructions to the PCC. At this stage, it is assumed the
            PCECC is aware of the label space it controls and SID allocation
            and distribution is already done in the case of SR.</t>
          </li>
          <li pn="section-3.4-9.4">
            <t indent="0" pn="section-3.4-9.4.1">The PCECC will send a PCInitiate message <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> towards the ingress AGG X router (PCC) for each of
            N LSPs and receive a PCRpt message <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> back from PCCs. If the PST is a PCECC-SR, the PCECC
            will include a SID stack as per <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>.  If the PST is set to "PCECC" type, then the PCECC will
            assign labels along the calculated path and set up the path by
            sending central controller instructions in a PCEP message to each
            node along the path of the LSP as per <xref target="RFC9050" format="default" sectionFormat="of" derivedContent="RFC9050"/>. Then, the PCECC will send a PCUpd message to the ingress AGG
            X router with information about the new LSP. AGG X (PCC) will respond
            with a PCRpt with LSP status.</t>
          </li>
          <li pn="section-3.4-9.5">
            <t indent="0" pn="section-3.4-9.5.1">AGG X as an ingress router now has N LSPs towards AGG N and AGG N-1,
       which are available for installation to the router's forwarding table and for LB traffic
       between them. Traffic distribution between those LSPs depends on
       the particular realization of the hash function on that router.</t>
          </li>
          <li pn="section-3.4-9.6">
            <t indent="0" pn="section-3.4-9.6.1">Since the PCECC is aware of the Traffic Engineering Database (TED) (TE state) and the LSP Database (LSP-DB), it can manage and
       prevent possible over-subscriptions and limit the number of available load-balance
       states. Via a PCECC mechanism, the control can take quick actions into the network by directly provisioning the central control instructions.</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-5.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.5">
        <name slugifiedName="name-pcecc-and-inter-as-te">PCECC and Inter-AS TE</name>
        <t indent="0" pn="section-3.5-1">
	  There are various signalling options for establishing Inter-AS TE
	  LSPs: contiguous TE LSPs <xref target="RFC5151" format="default" sectionFormat="of" derivedContent="RFC5151"/>,
	  stitched TE LSPs <xref target="RFC5150" format="default" sectionFormat="of" derivedContent="RFC5150"/>, and
	  nested TE LSPs <xref target="RFC4206" format="default" sectionFormat="of" derivedContent="RFC4206"/>.</t>
        <t indent="0" pn="section-3.5-2">
   The requirements for PCE-based Inter-AS setup <xref target="RFC5376" format="default" sectionFormat="of" derivedContent="RFC5376"/> describe the approach
   and PCEP functionality that is needed for establishing Inter-AS TE LSPs.</t>
        <t indent="0" pn="section-3.5-3">
   <xref target="RFC5376" format="default" sectionFormat="of" derivedContent="RFC5376"/> also gives an Inter-AS and
   Intra-AS PCE Reference Model (as shown in <xref target="fig_short" format="default" sectionFormat="of" derivedContent="Figure 7"/>) that is provided below in shortened form for the sake
   of simplicity.</t>
        <figure anchor="fig_short" align="left" suppress-title="false" pn="figure-7">
          <name slugifiedName="name-shortened-form-of-the-inter">Shortened Form of the Inter-AS and Intra-AS PCE Reference Model</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.5-4.1">
           Inter-AS       Inter-AS
     PCC &lt;--&gt;PCE1&lt;---------&gt;PCE2
      ::      ::             ::
      ::      ::             ::
      R1----ASBR1====ASBR3---R3---ASBR5
      |   AS1 |        |    PCC     |
      |       |        |    AS2     |
      R2----ASBR2====ASBR4---R4---ASBR6
      ::                     ::
      ::                     ::
   Intra-AS               Intra-AS
      PCE3                   PCE4
</artwork>
        </figure>
        <t indent="0" pn="section-3.5-5">The PCECC belonging to the different domains can cooperate to set
        up Inter-AS TE LSPs. The stateful Hierarchical PCE (H-PCE) mechanism <xref target="RFC8751" format="default" sectionFormat="of" derivedContent="RFC8751"/> could also be used to establish a
        per-domain PCECC LSP first. These could be stitched together to form
        an Inter-AS TE LSP as described in <xref target="I-D.ietf-pce-stateful-interdomain" format="default" sectionFormat="of" derivedContent="PCE-INTERDOMAIN"/>.</t>
        <t indent="0" pn="section-3.5-6">
	  For the sake of simplicity, here the focus is on a simplified
	  Inter-AS case when both AS1 and AS2 belong to the same service
	  provider administration. In that case, Inter-AS and Intra-AS PCEs could
	  be combined in one single PCE if such combined PCE performance is
	  enough to handle the load.  The PCE will require interfaces (PCEP
	  and BGP-LS) to both domains. PCECC redundancy mechanisms are
	  described in <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>. Thus, routers
	  (PCCs) in AS1 and AS2 can send PCEP messages towards the same
	  PCECC. In <xref target="fig_inter_as_pce" format="default" sectionFormat="of" derivedContent="Figure 8"/>, the PCECC
	  maintains a BGP-LS session with Route Reflectors (RRs) in each
	  AS. This allows the RRs to redistribute routes to other BGP routers
	  (clients) without requiring a full mesh. The RRs act as a BGP-LS
	  Propagator, and the PCECC acts as a BGP-LS Consumer <xref target="RFC9552" format="default" sectionFormat="of" derivedContent="RFC9552"/>.</t>
        <figure anchor="fig_inter_as_pce" align="left" suppress-title="false" pn="figure-8">
          <name slugifiedName="name-particular-case-of-inter-as">Particular Case of Inter-AS PCE</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.5-7.1">
             +----BGP-LS------+ +------BGP-LS-----+
             |                | |                 |
      +-PCEP-|----++-+-------PCECC-----PCEP--++-+-|-------+
    +-:------|----::-:-+                  +--::-:-|-------:---+
    | :      |    :: : |                  |  :: : |       :   |
    | :     RR1   :: : |                  |  :: : RR2     :   |
    | v           v: : |      LSP1        |  :: v         v   |
    | R1---------ASBR1=======================ASBR3--------R3  |
    | |            v : |                  |  :v            |  |
    | +----------ASBR2=======================ASBR4---------+  |
    | |   Region 1   : |                  |  : Region 1    |  |
    |----------------:-|                  |--:-------------|--|
    | |              v |       LSP2       |  v             |  |
    | +----------ASBR5=======================ASBR6---------+  |
    |     Region 2     |                  |       Region 2    |
    +------------------+ &lt;--------------&gt; +-------------------+
        MPLS Domain 1          Inter-AS         MPLS Domain 2
    &lt;=======AS1=======&gt;                    &lt;========AS2=======&gt;
</artwork>
        </figure>
        <t indent="0" pn="section-3.5-8">
   In the case of the PCECC Inter-AS TE scenario (as shown in <xref target="fig_inter_as_pce" format="default" sectionFormat="of" derivedContent="Figure 8"/>), where the service provider
   controls both domains (AS1 and AS2), each of them has its own IGP and MPLS
   transport. There is a need to set up Inter-AS LSPs for transporting different
   services on top of them (such as Voice, L3VPN, etc.). Inter-AS links with different
   capacities exist in several regions. The task is not only to provision
   those Inter-AS LSPs with given constraints but also to calculate the path
   and pre-setup the backup Inter-AS LSPs that will be used if the primary LSP fails.</t>
        <t indent="0" pn="section-3.5-9">
   As per <xref target="fig_inter_as_pce" format="default" sectionFormat="of" derivedContent="Figure 8"/>,  LSP1 from R1 to R3 goes via ASBR1
   and ASBR3, and it is the primary Inter-AS LSP. LSP2 from R1 to R3 that goes via
   ASBR5 and ASBR6 is the backup one. In addition, there could also be a bypass LSP
   setup to protect against ASBR or Inter-AS link failures.</t>
        <t indent="0" pn="section-3.5-10">
	  After the addition of PCECC functionality to the PCE (SDN controller),
	  the PCECC-based Inter-AS TE model should follow the PCECC use case
	  for TE LSP including the requirements described in <xref target="RFC5376" format="default" sectionFormat="of" derivedContent="RFC5376"/> with the following details:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.5-11">
          <li pn="section-3.5-11.1">
            <t indent="0" pn="section-3.5-11.1.1">Since the PCECC needs to know the topology of both domains AS1 and AS2, the PCECC
       can utilize the BGP-LS peering with BGP routers (or RRs) in both domains.</t>
          </li>
          <li pn="section-3.5-11.2">
            <t indent="0" pn="section-3.5-11.2.1">The PCECC needs to establish PCEP connectivity with all routers in both
       domains (see also <xref target="RFC5376" section="4" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5376#section-4" derivedContent="RFC5376"/>).</t>
          </li>
          <li pn="section-3.5-11.3">
            <t indent="0" pn="section-3.5-11.3.1">After the operator's application or service orchestrator
            creates a request for tunnel creation of a specific service, the PCECC
            will receive that request via the Northbound Interface (NBI) (note that the NBI type is
            implementation-dependent; it could be NETCONF/YANG, REST,
            etc.). Then, the PCECC will calculate the optimal path based on the OF and
            given constraints (i.e., PST, BW, etc.). These constraints include
            those from <xref target="RFC5376" format="default" sectionFormat="of" derivedContent="RFC5376"/>, such as
            priority, AS sequence, preferred ASBR, disjoint paths, and
            protection type. In this step, we will have two paths:
            "R1-ASBR1-ASBR3-R3, R1-ASBR5-ASBR6-R3".</t>
          </li>
          <li pn="section-3.5-11.4">
            <t indent="0" pn="section-3.5-11.4.1">The PCECC will use central control download instructions to the PCC
            based on the PST. At this stage, it is assumed the PCECC is aware
            of the label space it controls, and in the case of SR, the SID
            allocation and distribution is already done.</t>
          </li>
          <li pn="section-3.5-11.5">
            <t indent="0" pn="section-3.5-11.5.1">The PCECC will send a PCInitiate message <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> towards the ingress router R1 (PCC) in AS1 and
            receive the PCRpt message <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> back from it.
            </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.5-11.5.2">
              <li pn="section-3.5-11.5.2.1">
                <t indent="0" pn="section-3.5-11.5.2.1.1">If the PST is SR-MPLS, the PCECC will include the SID stack
                as per <xref target="RFC8664" format="default" sectionFormat="of" derivedContent="RFC8664"/>.  Optionally,
                a BSID or BGP Peering-SID <xref target="RFC9087" format="default" sectionFormat="of" derivedContent="RFC9087"/> can also be included on the AS
                boundary. The backup SID stack can be installed at ingress R1,
                but more importantly, each node along the SR path could also
                do the local protection just based on the top segment.</t>
              </li>
              <li pn="section-3.5-11.5.2.2">
                <t indent="0" pn="section-3.5-11.5.2.2.1">If the PST is a PCECC, the PCECC will assign labels along the
                calculated paths ("R1-ASBR1-ASBR3-R3", "R1-ASBR5-ASBR6-R3") and
                sets up the path by sending central controller instructions in a
                PCEP message to each node along the path of the LSPs as per
                <xref target="RFC9050" format="default" sectionFormat="of" derivedContent="RFC9050"/>. After these steps,
                the PCECC will send a PCUpd message to the ingress R1 router
                with information about new LSPs and R1 will respond by a PCRpt
                with LSP(s) status.</t>
              </li>
            </ul>
          </li>
          <li pn="section-3.5-11.6">
            <t indent="0" pn="section-3.5-11.6.1">After that step, R1 now has primary and backup TEs (LSP1 and LSP2) towards
       R3. It is up to the router implementation for how to switchover to backup LSP2 if LSP1 fails.</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-6" numbered="true" toc="include" removeInRFC="false" pn="section-3.6">
        <name slugifiedName="name-pcecc-for-multicast-lsps">PCECC for Multicast LSPs</name>
        <t indent="0" pn="section-3.6-1">
   The multicast LSPs can be set up via the RSVP-TE P2MP or
   Multipoint LDP (mLDP) protocols.  The setup of these LSPs may require
   manual configurations and complex signalling when the
   protection is considered.  By using the PCECC solution, the multicast
   LSP can be computed and set up through a centralized controller that
   has the full picture of the topology and BW usage for each
   link.  It not only reduces the complex configurations comparing the
   distributed RSVP-TE P2MP or mLDP signalling, but also it can
   compute the disjoint primary path and secondary P2MP path efficiently.</t>
        <section anchor="sect-6.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.6.1">
          <name slugifiedName="name-pcecc-for-the-setup-of-p2mp">PCECC for the Setup of P2MP/MP2MP LSPs</name>
          <t indent="0" pn="section-3.6.1-1">It is assumed the PCECC is aware of the label space it controls for
   all nodes and makes allocations accordingly.</t>
          <figure anchor="fig_p2mp" align="left" suppress-title="false" pn="figure-9">
            <name slugifiedName="name-using-a-pcecc-for-the-setup">Using a PCECC for the Setup of P2MP/MP2MP LSPs</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.6.1-2.1">
                       +----------+
                       |    R1    | Root Node of the multicast LSP
                       +----------+
                           |9000 (link0)
                       +----------+
        Transit Node   |    R2    |
        branch         +----------+
                       *  |   *  *
                  9001*   |   *   *9002
               link1 *    |   *    *link2
        +-----------+     |   *     +-----------+
        |    R4     |     |   *     |    R5     | Transit Nodes
        +-----------+     |   *     +-----------+
                   *      |   *      *     +
                9003*     |   *     *      +9004
               link3 *    |   *    *       +link4
                     +-----------+  +-----------+
                     |    R3     |  |    R6     | Leaf Node
                     +-----------+  +-----------+
                      9005| link5
                     +-----------+
                     |    R8     | Leaf Node
                     +-----------+
</artwork>
          </figure>
          <t indent="0" pn="section-3.6.1-3">The P2MP examples (based on <xref target="fig_p2mp" format="default" sectionFormat="of" derivedContent="Figure 9"/>) are explained here, where R1 is the root and the routers R8 and R6 are the leaves.
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.6.1-4">
            <li pn="section-3.6.1-4.1">
              <t indent="0" pn="section-3.6.1-4.1.1">Based on the P2MP path computation request/delegation or PCE initiation, the PCECC
receives the request with constraints and optimization criteria. </t>
            </li>
            <li pn="section-3.6.1-4.2">
              <t indent="0" pn="section-3.6.1-4.2.1">The PCECC will calculate the optimal P2MP path according to given constraints
   (i.e., BW).</t>
            </li>
            <li pn="section-3.6.1-4.3">
              <t indent="0" pn="section-3.6.1-4.3.1">The PCECC will provision each node along the path and assign incoming and outgoing labels from R1 to {R6, R8} with the
   path as "R1-link0-R2-link2-R5-link4-R6" and "R1-link0-R2-link1-R4-link3-R3-link5-R8":
              </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.6.1-4.3.2">
                <li pn="section-3.6.1-4.3.2.1">
                  <t indent="0" pn="section-3.6.1-4.3.2.1.1">R1: Outgoing label 9000 on link0</t>
                </li>
                <li pn="section-3.6.1-4.3.2.2">
                  <t indent="0" pn="section-3.6.1-4.3.2.2.1">R2: Incoming label 9000 on link0</t>
                </li>
                <li pn="section-3.6.1-4.3.2.3">
                  <t indent="0" pn="section-3.6.1-4.3.2.3.1">R2: Outgoing label 9001 on link1 (*)</t>
                </li>
                <li pn="section-3.6.1-4.3.2.4">
                  <t indent="0" pn="section-3.6.1-4.3.2.4.1">R2: Outgoing label 9002 on link2 (*)</t>
                </li>
                <li pn="section-3.6.1-4.3.2.5">
                  <t indent="0" pn="section-3.6.1-4.3.2.5.1">R5: Incoming label 9002 on link2</t>
                </li>
                <li pn="section-3.6.1-4.3.2.6">
                  <t indent="0" pn="section-3.6.1-4.3.2.6.1">R5: Outgoing label 9004 on link4</t>
                </li>
                <li pn="section-3.6.1-4.3.2.7">
                  <t indent="0" pn="section-3.6.1-4.3.2.7.1">R6: Incoming label 9004 on link4</t>
                </li>
                <li pn="section-3.6.1-4.3.2.8">
                  <t indent="0" pn="section-3.6.1-4.3.2.8.1">R4: Incoming label 9001 on link1</t>
                </li>
                <li pn="section-3.6.1-4.3.2.9">
                  <t indent="0" pn="section-3.6.1-4.3.2.9.1">R4: Outgoing label 9003 on link3</t>
                </li>
                <li pn="section-3.6.1-4.3.2.10">
                  <t indent="0" pn="section-3.6.1-4.3.2.10.1">R3: Incoming label 9003 on link3</t>
                </li>
                <li pn="section-3.6.1-4.3.2.11">
                  <t indent="0" pn="section-3.6.1-4.3.2.11.1">R3: Outgoing label 9005 on link5</t>
                </li>
                <li pn="section-3.6.1-4.3.2.12">
                  <t indent="0" pn="section-3.6.1-4.3.2.12.1">R8: Incoming label 9005 on link5</t>
                </li>
              </ul>
            </li>
            <li pn="section-3.6.1-4.4">
              <t indent="0" pn="section-3.6.1-4.4.1">This can also be represented as: {R1, 6000}, {6000, R2,
              {9001, 9002}}, {9001, R4, 9003}, {9002, R5, 9004} {9003, R3,
              9005}, {9004, R6}, {9005, R8}. The main difference (*) is in the
              branch node instruction at R2, where two copies of a packet are
              sent towards R4 and R5 with 9001 and 9002 labels, respectively.</t>
            </li>
          </ul>
          <t indent="0" pn="section-3.6.1-5">The packet forwarding involves the following:</t>
          <ol type="Step %d." indent="adaptive" spacing="normal" start="1" pn="section-3.6.1-6">
            <li pn="section-3.6.1-6.1" derivedCounter="Step 1.">R1 sends a packet to R2 simply by pushing the label of 9000 to
            the packet.</li>
            <li pn="section-3.6.1-6.2" derivedCounter="Step 2.">When R2 receives the packet with label 9000, it will forward
            it to R4 by swapping label 9000 to 9001. At the same time, it will
            replicate the packet and swap the label 9000 to 9002 and forward
            it to R5.</li>
            <li pn="section-3.6.1-6.3" derivedCounter="Step 3.">When R4 receives the packet with label 9001, it will forward
            it to R3 by swapping 9001 to 9003. When R5 receives the packet
            with the label 9002, it will forward it to R6 by swapping 9002 to
            9004.</li>
            <li pn="section-3.6.1-6.4" derivedCounter="Step 4.">When R3 receives the packet with label 9003, it will forward
            it to R8 by swapping it to 9005. When R5 receives the packet with
            label 9002, it will be swapped to 9004 and sent to R6.</li>
            <li pn="section-3.6.1-6.5" derivedCounter="Step 5.">When R8 receives the packet with label 9005, it will pop the
            label. When R6 receives the packet with label 9004, it will pop
            the label.</li>
          </ol>
        </section>
        <section anchor="sect-6.2" numbered="true" toc="include" removeInRFC="false" pn="section-3.6.2">
          <name slugifiedName="name-pcecc-for-the-end-to-end-pr">PCECC for the End-to-End Protection of P2MP/MP2MP LSPs</name>
          <t indent="0" pn="section-3.6.2-1">
   This section describes the end-to-end managed path protection
   service as well as the local protection with the operation management in the
   PCECC network for the P2MP/MP2MP LSP.</t>
          <t indent="0" pn="section-3.6.2-2">
   An end-to-end protection principle can be
   applied for computing backup P2MP or MP2MP LSPs.  During the computation
   of the primary multicast trees, the PCECC could also take the computation of a secondary tree into
   consideration.  A PCECC could compute the
   primary and backup P2MP (or MP2MP) LSPs together or sequentially.</t>
          <figure anchor="fig_p2mp-res" align="left" suppress-title="false" pn="figure-10">
            <name slugifiedName="name-pcecc-for-the-end-to-end-pro">PCECC for the End-to-End Protection of P2MP/MP2MP LSPs</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.6.2-3.1">
                            +----+  +----+
           Root Node of LSP | R1 |--| R11|
                            +----+  +----+
                              /         +
                           10/           +20
                            /             +
                    +----------+        +-----------+
     Transit Node   |    R2    |        |     R3    |
                    +----------+        +-----------+
                      |        \       +         +
                      |         \     +          +
                    10|        10\   +20       20+
                      |           \ +            +
                      |            \             +
                      |           + \            +
                    +-----------+      +-----------+ Leaf Nodes
                    |    R4     |      |    R5     | (Downstream LSR)
                    +-----------+      +-----------+
</artwork>
          </figure>
          <t indent="0" pn="section-3.6.2-4">
   In <xref target="fig_p2mp-res" format="default" sectionFormat="of" derivedContent="Figure 10"/>, when the PCECC sets up the primary multicast tree
   from the root node R1 to the leaves, which is R1-&gt;R2-&gt;{R4, R5}, it can set up the backup tree at the same time, which is R1-&gt;R11-&gt;R3-&gt;{R4, R5}.
   Both of them (the primary forwarding tree and secondary forwarding
   tree) will be downloaded to each router along the primary path and
   the secondary path.  The traffic will be forwarded through the
   R1-&gt;R2-&gt;{R4, R5} path normally,  but when a node in the
   primary tree fails (say R2), the root node R1 will switch the flow to the
   backup tree, which is R1-&gt;R11-&gt;R3-&gt;{R4, R5}. By using the PCECC,
   path computation, label downloading, and finally forwarding can be done
   without the complex signalling used in the P2MP RSVP-TE or mLDP.</t>
        </section>
        <section anchor="sect-6.3" numbered="true" toc="include" removeInRFC="false" pn="section-3.6.3">
          <name slugifiedName="name-pcecc-for-the-local-protect">PCECC for the Local Protection of P2MP/MP2MP LSPs</name>
          <t indent="0" pn="section-3.6.3-1">
   In this section, we describe the local protection service in the PCECC
   network for the P2MP/MP2MP LSP.</t>
          <t indent="0" pn="section-3.6.3-2">
   While the PCECC sets up the primary multicast tree, it can also build
   the backup LSP between the Point of Local Repair (PLR), protected node, and Merge Points (MPs) (the downstream
   nodes of the protected node).  In the cases where the amount of
   downstream nodes is huge, this mechanism can avoid unnecessary
   packet duplication on the PLR and protect the network from traffic
   congestion risks.</t>
          <figure anchor="fig_p2mp-loc" align="left" suppress-title="false" pn="figure-11">
            <name slugifiedName="name-pcecc-for-the-local-protecti">PCECC for the Local Protection of P2MP/MP2MP LSPs</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.6.3-3.1">
                            +------------+
                            |     R1     | Root Node
                            +------------+
                                   .
                                   .
                                   .
                            +------------+ Point of Local Repair /
                            |     R10     | Switchover Point
                            +------------+ (Upstream LSR)
                              /         +
                           10/           +20
                            /             +
                    +----------+        +-----------+
     Protected Node |    R20   |        |     R30   |
                    +----------+        +-----------+
                      |        \       +         +
                      |         \     +          +
                    10|        10\   +20       20+
                      |           \ +            +
                      |            \             +
                      |           + \            +
                    +-----------+      +-----------+ Merge Point
                    |    R40    |      |    R50    | (Downstream LSR)
                    +-----------+      +-----------+
                          .                  .
                          .                  .
</artwork>
          </figure>
          <t indent="0" pn="section-3.6.3-4">
   In <xref target="fig_p2mp-loc" format="default" sectionFormat="of" derivedContent="Figure 11"/>, when the PCECC sets up the primary multicast path
   around the PLR node R10 to protect node R20, which is R10-&gt;R20-&gt;{R40,
   R50}, it can set up the backup path R10-&gt;R30-&gt;{R40,
   R50} at the same time.  Both the primary forwarding path and the secondary bypass
   forwarding path will be downloaded to each router along the primary
   path and the secondary bypass path.  The traffic will be forwarded through
   the R10-&gt;R20-&gt;{R40, R50} path normally, and when there is a node
   failure for node R20,  the PLR node R10 will switch the flow to
   the backup path, which is R10-&gt;R30-&gt;{R40, R50}.  By using the PCECC,
   path computation, label downloading, and finally forwarding can be done
   without the complex signalling used in the P2MP RSVP-TE or mLDP.</t>
        </section>
      </section>
      <section anchor="sect-7" numbered="true" toc="include" removeInRFC="false" pn="section-3.7">
        <name slugifiedName="name-pcecc-for-traffic-classific">PCECC for Traffic Classification</name>
        <t indent="0" pn="section-3.7-1">As described in <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>, traffic classification is an important part of traffic engineering.
   It is the process of looking into a packet to determine how it should
   be treated while it is forwarded through the network.  It applies in
   many scenarios, including the following:
        </t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3.7-2">
          <li pn="section-3.7-2.1">
            MPLS traffic engineering (where it determines what traffic is
            forwarded into which LSPs),
          </li>
          <li pn="section-3.7-2.2">
	    SR (where it is used to select which set of
	    forwarding instructions (SIDs) to add to a packet), and
          </li>
          <li pn="section-3.7-2.3">
	    SFC (where it indicates how a packet should be forwarded across
	    which service function path).
          </li>
        </ul>
        <t indent="0" pn="section-3.7-3">In conjunction with traffic engineering, traffic classification is an
   important enabler for LB. Traffic classification is closely linked to the computational
   elements of planning for the network functions because it
   determines how traffic is balanced and distributed through the
   network.  Therefore, selecting what traffic classification mechanism should be
   performed by a router is an important part of the work done by a
	PCECC.</t>
        <t indent="0" pn="section-3.7-4">The description of traffic flows by the combination of multiple Flow Specification components and their dissemination as traffic Flow Specifications is described for BGP in <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/>. When a PCECC is used to initiate tunnels (such as TE LSPs or SR paths) using PCEP, it is important that the headend of the tunnels understands what traffic to place on each tunnel. <xref target="RFC9168" format="default" sectionFormat="of" derivedContent="RFC9168"/> specifies a set of extensions to PCEP to support the dissemination of Flow Specification components where the instructions are passed from the PCECC to the routers using PCEP.</t>
        <t indent="0" pn="section-3.7-5">
   Along with traffic classification, there are a few more questions about the tunnels set up by the PCECC that need to be considered:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.7-6">
          <li pn="section-3.7-6.1">
            <t indent="0" pn="section-3.7-6.1.1">how to use it,</t>
          </li>
          <li pn="section-3.7-6.2">
            <t indent="0" pn="section-3.7-6.2.1">whether it is a virtual link,</t>
          </li>
          <li pn="section-3.7-6.3">
            <t indent="0" pn="section-3.7-6.3.1">whether to advertise it in the IGP as a virtual link, and</t>
          </li>
          <li pn="section-3.7-6.4">
            <t indent="0" pn="section-3.7-6.4.1">what bits of this information to signal to the tail end.</t>
          </li>
        </ul>
        <t indent="0" pn="section-3.7-7">These are out of the scope of this document.</t>
      </section>
      <section anchor="sect-9" numbered="true" toc="include" removeInRFC="false" pn="section-3.8">
        <name slugifiedName="name-pcecc-for-sfc">PCECC for SFC</name>
        <t indent="0" pn="section-3.8-1">Service Function Chaining (SFC) is described in <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/>.  It is the process of directing
   traffic in a network such that it passes through specific hardware
   devices or virtual machines (known as service function nodes) that
   can perform particular desired functions on the traffic.  The set of
   functions to be performed and the order in which they are to be
   performed is known as a service function chain.  The chain is
   enhanced with the locations at which the service functions are to be
   performed to derive a Service Function Path (SFP).  Each packet is
   marked as belonging to a specific SFP, and that marking lets each
   successive service function node know which functions to perform and
   to which service function node to send the packet next. To operate an SFC network, the service function nodes must be
   configured to understand the packet markings, and the edge nodes must
   be told how to mark packets entering the network.  Additionally, it
   may be necessary to establish tunnels between service function nodes
   to carry the traffic. Planning an SFC network requires LB between service
   function nodes and traffic engineering across the network that
   connects them.  As per <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>, these are operations that can be performed by a
   PCECC, and that controller can use PCEP to program the
   network and install the service function chains and any required
   tunnels.</t>
        <t indent="0" pn="section-3.8-2">A possible mechanism could add support for SFC-based central control instructions. The PCECC will be able to instruct each Service Function Forwarder (SFF) along the SFP.</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3.8-3">
          <li pn="section-3.8-3.1">Service Path Identifier (SPI): Uniquely identifies an SFP.</li>
          <li pn="section-3.8-3.2">Service Index (SI): Provides location within the SFP.</li>
          <li pn="section-3.8-3.3">Provide SFC Proxy handling instruction.</li>
        </ul>
        <t indent="0" pn="section-3.8-4">The PCECC can play the role of setting the traffic classification rules (as per <xref target="sect-7" format="default" sectionFormat="of" derivedContent="Section 3.7"/>) at the classifier to impose the Network Service Header (NSH) <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/>. It can also download the forwarding instructions to each SFF along the way so that they could process the NSH and forward accordingly. This includes instructions for the service classifier that handles the context header, metadata, etc. This metadata/context is shared amongst SFs and classifiers, between SFs, and between external systems (such as a PCECC) and SFs. As described in <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/>, the SFC encapsulation enables the sharing of metadata/context information along the SFP.</t>
        <t indent="0" pn="section-3.8-5">It is also possible to support SFC with SR in conjunction with or without an NSH such as described in <xref target="RFC9491" format="default" sectionFormat="of" derivedContent="RFC9491"/> and <xref target="I-D.ietf-spring-sr-service-programming" format="default" sectionFormat="of" derivedContent="SR-SERVICE"/>. PCECC techniques can also be used for service-function-related segments and SR service policies. </t>
      </section>
      <section anchor="sect-10" numbered="true" toc="include" removeInRFC="false" pn="section-3.9">
        <name slugifiedName="name-pcecc-for-native-ip">PCECC for Native IP</name>
        <t indent="0" pn="section-3.9-1">
	  <xref target="RFC8735" format="default" sectionFormat="of" derivedContent="RFC8735"/> describes the scenarios
	  and simulation results for the "Centralized Control Dynamic Routing
	  (CCDR)" solution, which integrates the advantage of using
	  distributed protocols (IGP/BGP) and the power of a centralized
	  control technology (PCE/SDN), providing traffic engineering for
	  native IP networks. <xref target="RFC8821" format="default" sectionFormat="of" derivedContent="RFC8821"/>
	  defines the framework for CCDR traffic engineering within a native
	  IP network, using multiple BGP sessions and a PCE as the centralized
	  controller. It requires the PCECC to send the instructions to the
	  PCCs to build multiple BGP sessions, distribute different prefixes
	  on the established BGP sessions, and assign the different paths to
	  the BGP next hops. The PCEP is used to transfer the key
	  parameters between the PCE and the underlying network devices (PCC)
	  using the PCECC technique. The central control instructions from
	  the PCECC to PCC will identify which prefix should be advertised on
	  which BGP session. There are PCEP extensions defined in <xref target="I-D.ietf-pce-pcep-extension-native-ip" format="default" sectionFormat="of" derivedContent="PCEP-NATIVE"/>
	  for it.
        </t>
        <figure anchor="fig_native_ip" align="left" suppress-title="false" pn="figure-12">
          <name slugifiedName="name-pcecc-for-native-ip-2">PCECC for Native IP</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.9-2.1">
                               +------+
                    +----------+ PCECC+-------+
                    |          +------+       |
                    |                         |
               PCEP | BGP Session 1(lo11/lo21)| PCEP
                    +-------------------------+
                    |                         |
                    | BGP Session 2(lo12/lo22)|
                    +-------------------------+
PF12                |                         |                 PF22
PF11                |                         |                 PF21
+---+         +-----+-----+             +-----+-----+           +---+
|SW1+---------+(lo11/lo12)+-------------+(lo21/lo22)+-----------+SW2|
+---+         |    R1     +-------------+    R2     |           +---+
              +-----------+             +-----------+
</artwork>
        </figure>
        <t indent="0" pn="section-3.9-3">In the case as shown in <xref target="fig_native_ip" format="default" sectionFormat="of" derivedContent="Figure 12"/>, the PCECC will instruct both R1 and R2 how to form BGP
        sessions with each other via PCEP and which IP prefixes need to be
        advertised via which BGP session.</t>
      </section>
      <section anchor="sect-11" numbered="true" toc="include" removeInRFC="false" pn="section-3.10">
        <name slugifiedName="name-pcecc-for-bier">PCECC for BIER</name>
        <t indent="0" pn="section-3.10-1">Bit Index Explicit Replication (BIER) <xref target="RFC8279" format="default" sectionFormat="of" derivedContent="RFC8279"/> defines an architecture where all intended
        multicast receivers are encoded as a BitMask in the multicast packet
        header within different encapsulations.  A router that receives such a
        packet will forward that packet based on the bit position in the
        packet header towards the receiver(s) following a precomputed tree for
        each of the bits in the packet.  Each receiver is represented by a
        unique bit in the BitMask.</t>
        <t indent="0" pn="section-3.10-2">BIER-TE <xref target="RFC9262" format="default" sectionFormat="of" derivedContent="RFC9262"/> shares
        architecture and packet formats with BIER.  BIER-TE forwards and
        replicates packets based on a BitString in the packet header, but
        every BitPosition of the BitString of a BIER-TE packet indicates one
        or more adjacencies. BIER-TE paths can be derived from a PCE and used
        at the ingress (a possible mechanism is described in <xref target="I-D.ietf-pce-bier-te" format="default" sectionFormat="of" derivedContent="PCEP-BIER"/>).</t>
        <t indent="0" pn="section-3.10-3">The PCECC mechanism could be used for the allocation of bits for the
        BIER router for BIER as well as for the adjacencies for
        BIER-TE. PCECC-based controllers can use PCEP to instruct the
        BIER-capable routers on the meaning of the bits as well as other
        fields needed for BIER encapsulation. The PCECC could be used to
        program the BIER router with various parameters used in the BIER
        encapsulation (such as BIER sub-domain-id, BFR-id,
        etc.) for both node and adjacency.</t>
        <t indent="0" pn="section-3.10-4">A possible way to use the PCECC and PCEP extension is described in
        <xref target="I-D.chen-pce-pcep-extension-pce-controller-bier" format="default" sectionFormat="of" derivedContent="PCECC-BIER"/>.</t>
      </section>
    </section>
    <section anchor="sect-12" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-4-1">This document has no IANA actions.</t>
    </section>
    <section anchor="sect-13" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-5-1"><xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/> describes how the security
      considerations for a PCECC are a little different from
      those for any other PCE system.  PCECC operations rely heavily on the
      use and security of PCEP, so due consideration should be given to the
      security features discussed in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>
      and the additional mechanisms described in <xref target="RFC8253" format="default" sectionFormat="of" derivedContent="RFC8253"/>. It further lists the vulnerability of a central
      controller architecture, such as a central point of failure, denial of
      service, and a focus on interception and modification of messages sent
      to individual Network Elements (NEs).</t>
      <t indent="0" pn="section-5-2">As per <xref target="RFC9050" format="default" sectionFormat="of" derivedContent="RFC9050"/>, the use of
      Transport Layer Security (TLS) in PCEP is recommended, as it provides
      support for peer authentication, message encryption, and integrity.  It
      further provides mechanisms for associating peer identities with
      different levels of access and/or authoritativeness via an attribute in
      X.509 certificates or a local policy with a specific accept-list of
      X.509 certificates.  This can be used to check the authority for the
      PCECC operations.</t>
      <t indent="0" pn="section-5-3">It is expected that each new document that is produced for a specific
      use case will also include considerations of the security impacts of the
      use of a PCECC on the network type and services
      being managed.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-pce-pcep-extension-pce-controller-sr" to="PCECC-SR"/>
    <displayreference target="I-D.ietf-pce-controlled-id-space" to="PCE-ID"/>
    <displayreference target="I-D.ietf-pce-stateful-interdomain" to="PCE-INTERDOMAIN"/>
    <displayreference target="I-D.cbrt-pce-stateful-local-protection" to="PCE-PROTECTION"/>
    <displayreference target="I-D.ietf-mpls-seamless-mpls" to="MPLS-SEAMLESS"/>
    <displayreference target="I-D.ietf-pce-bier-te" to="PCEP-BIER"/>
    <displayreference target="I-D.ietf-spring-sr-service-programming" to="SR-SERVICE"/>
    <displayreference target="I-D.ietf-pce-segment-routing-policy-cp" to="PCEP-POLICY"/>
    <displayreference target="I-D.chen-pce-pcep-extension-pce-controller-bier" to="PCECC-BIER"/>
    <displayreference target="I-D.ietf-pce-pcep-extension-native-ip" to="PCEP-NATIVE"/>
    <displayreference target="I-D.ietf-pce-pcep-extension-pce-controller-srv6" to="PCECC-SRv6"/>
    <references pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <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="RFC7665" target="https://www.rfc-editor.org/info/rfc7665" quoteTitle="true" derivedAnchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="October" year="2015"/>
            <abstract>
              <t indent="0">This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network. It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF. This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </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="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="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="RFC8283" target="https://www.rfc-editor.org/info/rfc8283" quoteTitle="true" derivedAnchor="RFC8283">
          <front>
            <title>An Architecture for Use of PCE and the PCE Communication Protocol (PCEP) in a Network with Central Control</title>
            <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
            <author fullname="Q. Zhao" initials="Q." role="editor" surname="Zhao"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <author fullname="C. Zhou" initials="C." surname="Zhou"/>
            <date month="December" year="2017"/>
            <abstract>
              <t indent="0">The Path Computation Element (PCE) is a core component of Software- Defined Networking (SDN) systems. It can compute optimal paths for traffic across a network and can also update the paths to reflect changes in the network or traffic demands.</t>
              <t indent="0">PCE was developed to derive paths for MPLS Label Switched Paths (LSPs), which are supplied to the head end of the LSP using the Path Computation Element Communication Protocol (PCEP).</t>
              <t indent="0">SDN has a broader applicability than signaled MPLS traffic-engineered (TE) networks, and the PCE may be used to determine paths in a range of use cases including static LSPs, segment routing, Service Function Chaining (SFC), and most forms of a routed or switched network. It is, therefore, reasonable to consider PCEP as a control protocol for use in these environments to allow the PCE to be fully enabled as a central controller.</t>
              <t indent="0">This document briefly introduces the architecture for PCE as a central controller, examines the motivations and applicability for PCEP as a control protocol in this environment, and introduces the implications for the protocol. A PCE-based central controller can simplify the processing of a distributed control plane by blending it with elements of SDN and without necessarily completely replacing it.</t>
              <t indent="0">This document does not describe use cases in detail and does not define protocol extensions: that work is left for other documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8283"/>
          <seriesInfo name="DOI" value="10.17487/RFC8283"/>
        </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>
      </references>
      <references pn="section-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="MAP-REDUCE" target="https://leeky.me/publications/mapreduce_p2p.pdf" quoteTitle="true" derivedAnchor="MAP-REDUCE">
          <front>
            <title>Parallel Processing Framework on a P2P System Using Map and Reduce Primitives</title>
            <author initials="K" surname="Lee" fullname="Kyungyong Lee">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T" surname="Choi" fullname="Tae Woong Choi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Ganguly" fullname="Arijit Ganguly">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Wolinsky" fullname="David I. Wolinsky">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P" surname="Boykin" fullname="P.Oscar Boykin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R" surname="Figueiredo" fullname="Renato Figueiredo">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="May" year="2011"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/IPDPS.2011.315"/>
        </reference>
        <reference anchor="MPLS-DC" target="https://www.slideshare.net/DmitryAfanasiev1/yandex-nag201320131031" quoteTitle="true" derivedAnchor="MPLS-DC">
          <front>
            <title>MPLS in DC and inter-DC networks: the unified forwarding mechanism for network programmability at scale</title>
            <author initials="D" surname="Afanasiev" fullname="Dimitry Afanasiev">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Ginsburg" fullname="Daniel Ginsburg">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="March" year="2014"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-mpls-seamless-mpls" target="https://datatracker.ietf.org/doc/html/draft-ietf-mpls-seamless-mpls-07" quoteTitle="true" derivedAnchor="MPLS-SEAMLESS">
          <front>
            <title>Seamless MPLS Architecture</title>
            <author fullname="Nicolai Leymann" initials="N." surname="Leymann" role="editor">
              <organization showOnFrontPage="true">Deutsche Telekom AG</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization showOnFrontPage="true">Orange</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Maciek Konstantynowicz" initials="M." surname="Konstantynowicz" role="editor">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Dirk Steinberg" initials="D." surname="Steinberg">
              <organization showOnFrontPage="true">Steinberg Consulting</organization>
            </author>
            <date day="28" month="June" year="2014"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mpls-seamless-mpls-07"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-controlled-id-space" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-controlled-id-space-01" quoteTitle="true" derivedAnchor="PCE-ID">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) extension to advertise the PCE Controlled Identifier Space</title>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Hang Shi" initials="H." surname="Shi" role="editor">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Aijun Wang" initials="A." surname="Wang">
              <organization showOnFrontPage="true">China Telecom</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization showOnFrontPage="true">China Mobile</organization>
            </author>
            <author fullname="Chao Zhou" initials="C." surname="Zhou">
              <organization showOnFrontPage="true">HPE</organization>
            </author>
            <date month="October" day="21" year="2024"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-controlled-id-space-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-stateful-interdomain" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-stateful-interdomain-05" quoteTitle="true" derivedAnchor="PCE-INTERDOMAIN">
          <front>
            <title>PCEP Extension for Stateful Inter-Domain Tunnels</title>
            <author initials="O." surname="Dugeon" fullname="Olivier Dugeon">
              <organization showOnFrontPage="true">Orange Innovation</organization>
            </author>
            <author initials="J." surname="Meuric" fullname="Julien Meuric">
              <organization showOnFrontPage="true">Orange Innovation</organization>
            </author>
            <author initials="Y." surname="Lee" fullname="Young Lee">
              <organization showOnFrontPage="true">Samsung Electronics</organization>
            </author>
            <author initials="D." surname="Ceccarelli" fullname="Daniele Ceccarelli">
              <organization showOnFrontPage="true">Cisco</organization>
            </author>
            <date month="July" day="5" year="2024"/>
            <abstract>
              <t indent="0">   This document specifies how to use a Backward Recursive or
   Hierarchical method to derive inter-domain paths in the context of
   stateful Path Computation Element (PCE).  The mechanism relies on the
   PCInitiate message to set up independent paths per domain.  Combining
   these different paths together enables them to be operated as end-to-
   end inter-domain paths, without the need for a signaling session
   between inter-domain border routers.  It delivers a new tool in the
   MPLS toolbox in order for operator to build Intent-Based Networking.
   For this purpose, this document defines a new Stitching Label, new
   Association Type, new PCEP communication Protocol (PCEP) Capability,
   new PCE Errors Type and new PCE Notifications Type.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-stateful-interdomain-05"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.cbrt-pce-stateful-local-protection" target="https://datatracker.ietf.org/doc/html/draft-cbrt-pce-stateful-local-protection-01" quoteTitle="true" derivedAnchor="PCE-PROTECTION">
          <front>
            <title>PCEP Extensions for RSVP-TE Local-Protection with PCE-Stateful</title>
            <author initials="C." surname="Barth" fullname="Colby Barth">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <author initials="R." surname="Torvi" fullname="Raveendra Torvi">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <date month="June" day="29" year="2018"/>
            <abstract>
              <t indent="0">   Stateful PCE [RFC8231] can apply global concurrent optimizations to
   optimize LSP placement.  In a deployment where a PCE is used to
   compute all the paths, it may be beneficial for the local protection
   paths to also be computed by the PCE.  This document defines
   extensions needed for the setup and management of RSVP-TE protection
   paths by the PCE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-cbrt-pce-stateful-local-protection-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.chen-pce-pcep-extension-pce-controller-bier" target="https://datatracker.ietf.org/doc/html/draft-chen-pce-pcep-extension-pce-controller-bier-06" quoteTitle="true" derivedAnchor="PCECC-BIER">
          <front>
            <title>PCEP Procedures and Protocol Extensions for Using PCE as a Central Controller (PCECC) of BIER</title>
            <author initials="R." surname="Chen" fullname="Ran Chen">
              <organization showOnFrontPage="true">ZTE Corporation</organization>
            </author>
            <author initials="C." surname="Zhu" fullname="Chun Zhu">
              <organization showOnFrontPage="true">ZTE Corporation</organization>
            </author>
            <author initials="B." surname="Xu" fullname="BenChong Xu">
              <organization showOnFrontPage="true">ZTE Corporation</organization>
            </author>
            <author initials="H." surname="Chen" fullname="Huaimo Chen">
              <organization showOnFrontPage="true">Futurewei</organization>
            </author>
            <author initials="A." surname="Wang" fullname="Aijun Wang">
              <organization showOnFrontPage="true">China Telecom</organization>
            </author>
            <date month="July" day="8" year="2024"/>
            <abstract>
              <t indent="0">   This draft specify a new mechanism where PCE allocates the BIER
   information centrally and uses PCEP to distribute them to all nodes,
   then PCC generate a "Bit Index Forwarding Table"(BIFT).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-chen-pce-pcep-extension-pce-controller-bier-06"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-extension-pce-controller-sr" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-extension-pce-controller-sr-09" quoteTitle="true" derivedAnchor="PCECC-SR">
          <front>
            <title>PCE Communication Protocol (PCEP) Extensions for Using PCE as a Central Controller (PCECC) for Segment Routing (SR) MPLS Segment Identifier (SID) Allocation and Distribution.</title>
            <author initials="Z." surname="Li" fullname="Zhenbin Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="S." surname="Peng" fullname="Shuping Peng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="M. S." surname="Negi" fullname="Mahendra Singh Negi">
              <organization showOnFrontPage="true">RtBrick Inc</organization>
            </author>
            <author initials="Q." surname="Zhao" fullname="Quintin Zhao">
              <organization showOnFrontPage="true">Etheric Networks</organization>
            </author>
            <author initials="C." surname="Zhou" fullname="Chao Zhou">
              <organization showOnFrontPage="true">HPE</organization>
            </author>
            <date month="July" day="4" year="2024"/>
            <abstract>
              <t indent="0">   The PCE is a core component of Software-Defined Networking (SDN)
   systems.

   A PCE-based Central Controller (PCECC) can simplify the processing of
   a distributed control plane by blending it with elements of SDN and
   without necessarily completely replacing it.  Thus, the Label
   Switched Path (LSP) can be calculated/set up/initiated and the label
   forwarding entries can also be downloaded through a centralized PCE
   server to each network device along the path while leveraging the
   existing PCE technologies as much as possible.

   This document specifies the procedures and PCE Communication Protocol
   (PCEP) extensions when a PCE-based controller is also responsible for
   configuring the forwarding actions on the routers, in addition to
   computing the paths for packet flows in a segment routing (SR)
   network and telling the edge routers what instructions to attach to
   packets as they enter the network.  PCECC as defined in RFC 9050 is
   further enhanced for SR-MPLS SID (Segment Identifier) allocation and
   distribution.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-extension-pce-controller-sr-09"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-extension-pce-controller-srv6" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-extension-pce-controller-srv6-03" quoteTitle="true" derivedAnchor="PCECC-SRv6">
          <front>
            <title>PCE Communication Protocol (PCEP) Extensions for Using the PCE as a Central Controller (PCECC) for Segment Routing over IPv6 (SRv6) Segment Identifier (SID) Allocation and Distribution.</title>
            <author initials="Z." surname="Li" fullname="Zhenbin Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="S." surname="Peng" fullname="Shuping Peng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="X." surname="Geng" fullname="Xuesong Geng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="M. S." surname="Negi" fullname="Mahendra Singh Negi">
              <organization showOnFrontPage="true">RtBrick Inc</organization>
            </author>
            <date month="August" day="18" year="2024"/>
            <abstract>
              <t indent="0">   The PCE is a core component of Software-Defined Networking (SDN)
   systems.  A PCE-based Central Controller (PCECC) can simplify the
   processing of a distributed control plane by blending it with
   elements of SDN without necessarily completely replacing it.

   Segment Routing (SR) technology leverages the source routing and
   tunneling paradigms.  Each path is specified as a set of "segments"
   encoded in the header of each packet as a list of Segment Identifiers
   (SIDs).

   This document specifies the procedures and Path Computation Element
   Communication Protocol (PCEP) extensions when a PCE-based controller
   is also responsible for configuring the forwarding actions on the
   routers, in addition to computing the paths for packet flows in the
   SRv6 (SR in IPv6) network and telling the edge routers what
   instructions to attach to packets as they enter the network.  PCECC
   is further enhanced for SRv6 SID allocation and distribution.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-extension-pce-controller-srv6-03"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-bier-te" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-bier-te-01" quoteTitle="true" derivedAnchor="PCEP-BIER">
          <front>
            <title>PCEP Extensions for Tree Engineering for Bit Index Explicit Replication (BIER-TE)</title>
            <author initials="R." surname="Chen" fullname="Ran Chen">
              <organization showOnFrontPage="true">ZTE Corporation</organization>
            </author>
            <author initials="Z." surname="Zhang" fullname="Zheng Zhang">
              <organization showOnFrontPage="true">ZTE Corporation</organization>
            </author>
            <author initials="H." surname="Chen" fullname="Huaimo Chen">
              <organization showOnFrontPage="true">Futurewei</organization>
            </author>
            <author initials="S." surname="Dhanaraj" fullname="Senthil Dhanaraj">
              <organization showOnFrontPage="true">Futurewei</organization>
            </author>
            <author initials="F." surname="Qin" fullname="Fengwei Qin">
              <organization showOnFrontPage="true">China Mobile</organization>
            </author>
            <author initials="A." surname="Wang" fullname="Aijun Wang">
              <organization showOnFrontPage="true">China Telecom</organization>
            </author>
            <date month="October" day="10" year="2024"/>
            <abstract>
              <t indent="0">   Tree Engineering for Bit Index Explicit Replication (BIER-TE) shares
   architecture and packet formats with BIER.  BIER-TE forwards and
   replicates packets based on a BitString in the packet header, but
   every BitPosition of the BitString of a BIER-TE packet indicates one
   or more adjacencies.  BIER-TE Path can be derived from a Path
   Computation Element (PCE).

   This document specifies extensions to the Path Computation Element
   Protocol (PCEP) that allow a PCE to compute and initiate the path for
   the Tree Engineering for Bit Index Explicit Replication (BIER-TE).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-bier-te-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-extension-native-ip" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-extension-native-ip-40" quoteTitle="true" derivedAnchor="PCEP-NATIVE">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Native IP Networks</title>
            <author initials="A." surname="Wang" fullname="Aijun Wang">
              <organization showOnFrontPage="true">China Telecom</organization>
            </author>
            <author initials="B." surname="Khasanov" fullname="Boris Khasanov">
              <organization showOnFrontPage="true">MTS Web Services (MWS)</organization>
            </author>
            <author initials="S." surname="Fang" fullname="Sheng Fang">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="R." surname="Tan" fullname="Ren Tan">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="C." surname="Zhu" fullname="Chun Zhu">
              <organization showOnFrontPage="true">ZTE Corporation</organization>
            </author>
            <date month="September" day="10" year="2024"/>
            <abstract>
              <t indent="0">   This document introduces extensions to the PCE Communication Protocol
   (PCEP) to support path computation in native IP networks through a
   PCE-based central control mechanism known as Centralized Control
   Dynamic Routing (CCDR).  These extensions empower a PCE to calculate
   and manage paths specifically for native IP networks, expand PCEP’s
   capabilities beyond its traditional use in MPLS and GMPLS networks.
   By implementing these extensions, IP network resources can be
   utilized more efficiently, facilitating the deployment of traffic
   engineering in native IP environments.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-extension-native-ip-40"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-segment-routing-policy-cp" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-segment-routing-policy-cp-18" quoteTitle="true" derivedAnchor="PCEP-POLICY">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing (SR) Policy Candidate Paths</title>
            <author initials="M." surname="Koldychev" fullname="Mike Koldychev">
              <organization showOnFrontPage="true">Ciena Corporation</organization>
            </author>
            <author initials="S." surname="Sivabalan" fullname="Siva Sivabalan">
              <organization showOnFrontPage="true">Ciena Corporation</organization>
            </author>
            <author initials="C." surname="Barth" fullname="Colby Barth">
              <organization showOnFrontPage="true">Juniper Networks, Inc.</organization>
            </author>
            <author initials="S." surname="Peng" fullname="Shuping Peng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author initials="H." surname="Bidgoli" fullname="Hooman Bidgoli">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <date month="October" day="14" year="2024"/>
            <abstract>
              <t indent="0">   Segment Routing (SR) allows a node to steer a packet flow along any
   path.  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.  An SR Policy is made of one or more candidate paths.

   This document specifies the Path Computation Element Communication
   Protocol (PCEP) extension to signal candidate paths of the SR Policy.
   Additionally, this document updates RFC 8231 to allow stateful bring
   up of an SR Label Switched Path (LSP), without using the path
   computation request and reply messages.  This document is applicable
   to both Segment Routing over MPLS (SR-MPLS) and Segment Routing over
   IPv6 (SRv6).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-segment-routing-policy-cp-18"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC1195" target="https://www.rfc-editor.org/info/rfc1195" quoteTitle="true" derivedAnchor="RFC1195">
          <front>
            <title>Use of OSI IS-IS for routing in TCP/IP and dual environments</title>
            <author fullname="R. Callon" initials="R." surname="Callon"/>
            <date month="December" year="1990"/>
            <abstract>
              <t indent="0">This memo specifies an integrated routing protocol, based on the OSI Intra-Domain IS-IS Routing Protocol, which may be used as an interior gateway protocol (IGP) to support TCP/IP as well as OSI. This allows a single routing protocol to be used to support pure IP environments, pure OSI environments, and dual environments. This specification was developed by the IS-IS working group of the Internet Engineering Task Force. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1195"/>
          <seriesInfo name="DOI" value="10.17487/RFC1195"/>
        </reference>
        <reference anchor="RFC2328" target="https://www.rfc-editor.org/info/rfc2328" quoteTitle="true" derivedAnchor="RFC2328">
          <front>
            <title>OSPF Version 2</title>
            <author fullname="J. Moy" initials="J." surname="Moy"/>
            <date month="April" year="1998"/>
            <abstract>
              <t indent="0">This memo documents version 2 of the OSPF protocol. OSPF is a link- state routing protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="54"/>
          <seriesInfo name="RFC" value="2328"/>
          <seriesInfo name="DOI" value="10.17487/RFC2328"/>
        </reference>
        <reference anchor="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="RFC3985" target="https://www.rfc-editor.org/info/rfc3985" quoteTitle="true" derivedAnchor="RFC3985">
          <front>
            <title>Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture</title>
            <author fullname="S. Bryant" initials="S." role="editor" surname="Bryant"/>
            <author fullname="P. Pate" initials="P." role="editor" surname="Pate"/>
            <date month="March" year="2005"/>
            <abstract>
              <t indent="0">This document describes an architecture for Pseudo Wire Emulation Edge-to-Edge (PWE3). It discusses the emulation of services such as Frame Relay, ATM, Ethernet, TDM, and SONET/SDH over packet switched networks (PSNs) using IP or MPLS. It presents the architectural framework for pseudo wires (PWs), defines terminology, and specifies the various protocol elements and their functions. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3985"/>
          <seriesInfo name="DOI" value="10.17487/RFC3985"/>
        </reference>
        <reference anchor="RFC4206" target="https://www.rfc-editor.org/info/rfc4206" quoteTitle="true" derivedAnchor="RFC4206">
          <front>
            <title>Label Switched Paths (LSP) Hierarchy with Generalized Multi-Protocol Label Switching (GMPLS) Traffic Engineering (TE)</title>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="October" year="2005"/>
            <abstract>
              <t indent="0">To improve scalability of Generalized Multi-Protocol Label Switching (GMPLS) it may be useful to aggregate Label Switched Paths (LSPs) by creating a hierarchy of such LSPs. A way to create such a hierarchy is by (a) a Label Switching Router (LSR) creating a Traffic Engineering Label Switched Path (TE LSP), (b) the LSR forming a forwarding adjacency (FA) out of that LSP (by advertising this LSP as a Traffic Engineering (TE) link into the same instance of ISIS/OSPF as the one that was used to create the LSP), (c) allowing other LSRs to use FAs for their path computation, and (d) nesting of LSPs originated by other LSRs into that LSP (by using the label stack construct).</t>
              <t indent="0">This document describes the mechanisms to accomplish this. [PROPOSED STANDARD]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4206"/>
          <seriesInfo name="DOI" value="10.17487/RFC4206"/>
        </reference>
        <reference anchor="RFC4364" target="https://www.rfc-editor.org/info/rfc4364" quoteTitle="true" derivedAnchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t indent="0">This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC4456" target="https://www.rfc-editor.org/info/rfc4456" quoteTitle="true" derivedAnchor="RFC4456">
          <front>
            <title>BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)</title>
            <author fullname="T. Bates" initials="T." surname="Bates"/>
            <author fullname="E. Chen" initials="E." surname="Chen"/>
            <author fullname="R. Chandra" initials="R." surname="Chandra"/>
            <date month="April" year="2006"/>
            <abstract>
              <t indent="0">The Border Gateway Protocol (BGP) is an inter-autonomous system routing protocol designed for TCP/IP internets. Typically, all BGP speakers within a single AS must be fully meshed so that any external routing information must be re-distributed to all other routers within that Autonomous System (AS). This represents a serious scaling problem that has been well documented with several alternatives proposed.</t>
              <t indent="0">This document describes the use and design of a method known as "route reflection" to alleviate the need for "full mesh" Internal BGP (IBGP).</t>
              <t indent="0">This document obsoletes RFC 2796 and RFC 1966. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4456"/>
          <seriesInfo name="DOI" value="10.17487/RFC4456"/>
        </reference>
        <reference anchor="RFC4655" target="https://www.rfc-editor.org/info/rfc4655" quoteTitle="true" derivedAnchor="RFC4655">
          <front>
            <title>A Path Computation Element (PCE)-Based Architecture</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>
            <author fullname="J. Ash" initials="J." surname="Ash"/>
            <date month="August" year="2006"/>
            <abstract>
              <t indent="0">Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
              <t indent="0">This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
        </reference>
        <reference anchor="RFC5036" target="https://www.rfc-editor.org/info/rfc5036" quoteTitle="true" derivedAnchor="RFC5036">
          <front>
            <title>LDP Specification</title>
            <author fullname="L. Andersson" initials="L." role="editor" surname="Andersson"/>
            <author fullname="I. Minei" initials="I." role="editor" surname="Minei"/>
            <author fullname="B. Thomas" initials="B." role="editor" surname="Thomas"/>
            <date month="October" year="2007"/>
            <abstract>
              <t indent="0">The architecture for Multiprotocol Label Switching (MPLS) is described in RFC 3031. A fundamental concept in MPLS is that two Label Switching Routers (LSRs) must agree on the meaning of the labels used to forward traffic between and through them. This common understanding is achieved by using a set of procedures, called a label distribution protocol, by which one LSR informs another of label bindings it has made. This document defines a set of such procedures called LDP (for Label Distribution Protocol) by which LSRs distribute labels to support MPLS forwarding along normally routed paths. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5036"/>
          <seriesInfo name="DOI" value="10.17487/RFC5036"/>
        </reference>
        <reference anchor="RFC5150" target="https://www.rfc-editor.org/info/rfc5150" quoteTitle="true" derivedAnchor="RFC5150">
          <front>
            <title>Label Switched Path Stitching with Generalized Multiprotocol Label Switching Traffic Engineering (GMPLS TE)</title>
            <author fullname="A. Ayyangar" initials="A." surname="Ayyangar"/>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="JP. Vasseur" initials="JP." surname="Vasseur"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="February" year="2008"/>
            <abstract>
              <t indent="0">In certain scenarios, there may be a need to combine several Generalized Multiprotocol Label Switching (GMPLS) Label Switched Paths (LSPs) such that a single end-to-end (e2e) LSP is realized and all traffic from one constituent LSP is switched onto the next LSP. We will refer to this as "LSP stitching", the key requirement being that a constituent LSP not be allocated to more than one e2e LSP. The constituent LSPs will be referred to as "LSP segments" (S-LSPs).</t>
              <t indent="0">This document describes extensions to the existing GMPLS signaling protocol (Resource Reservation Protocol-Traffic Engineering (RSVP-TE)) to establish e2e LSPs created from S-LSPs, and describes how the LSPs can be managed using the GMPLS signaling and routing protocols.</t>
              <t indent="0">It may be possible to configure a GMPLS node to switch the traffic from an LSP for which it is the egress, to another LSP for which it is the ingress, without requiring any signaling or routing extensions whatsoever and such that the operation is completely transparent to other nodes. This will also result in LSP stitching in the data plane. However, this document does not cover this scenario of LSP stitching. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5150"/>
          <seriesInfo name="DOI" value="10.17487/RFC5150"/>
        </reference>
        <reference anchor="RFC5151" target="https://www.rfc-editor.org/info/rfc5151" quoteTitle="true" derivedAnchor="RFC5151">
          <front>
            <title>Inter-Domain MPLS and GMPLS Traffic Engineering -- Resource Reservation Protocol-Traffic Engineering (RSVP-TE) Extensions</title>
            <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
            <author fullname="A. Ayyangar" initials="A." surname="Ayyangar"/>
            <author fullname="JP. Vasseur" initials="JP." surname="Vasseur"/>
            <date month="February" year="2008"/>
            <abstract>
              <t indent="0">This document describes procedures and protocol extensions for the use of Resource Reservation Protocol-Traffic Engineering (RSVP-TE) signaling in Multiprotocol Label Switching-Traffic Engineering (MPLS-TE) packet networks and Generalized MPLS (GMPLS) packet and non-packet networks to support the establishment and maintenance of Label Switched Paths that cross domain boundaries.</t>
              <t indent="0">For the purpose of this document, a domain is considered to be any collection of network elements within a common realm of address space or path computation responsibility. Examples of such domains include Autonomous Systems, Interior Gateway Protocol (IGP) routing areas, and GMPLS overlay networks. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5151"/>
          <seriesInfo name="DOI" value="10.17487/RFC5151"/>
        </reference>
        <reference anchor="RFC5340" target="https://www.rfc-editor.org/info/rfc5340" quoteTitle="true" derivedAnchor="RFC5340">
          <front>
            <title>OSPF for IPv6</title>
            <author fullname="R. Coltun" initials="R." surname="Coltun"/>
            <author fullname="D. Ferguson" initials="D." surname="Ferguson"/>
            <author fullname="J. Moy" initials="J." surname="Moy"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="July" year="2008"/>
            <abstract>
              <t indent="0">This document describes the modifications to OSPF to support version 6 of the Internet Protocol (IPv6). The fundamental mechanisms of OSPF (flooding, Designated Router (DR) election, area support, Short Path First (SPF) calculations, etc.) remain unchanged. However, some changes have been necessary, either due to changes in protocol semantics between IPv4 and IPv6, or simply to handle the increased address size of IPv6. These modifications will necessitate incrementing the protocol version from version 2 to version 3. OSPF for IPv6 is also referred to as OSPF version 3 (OSPFv3).</t>
              <t indent="0">Changes between OSPF for IPv4, OSPF Version 2, and OSPF for IPv6 as described herein include the following. Addressing semantics have been removed from OSPF packets and the basic Link State Advertisements (LSAs). New LSAs have been created to carry IPv6 addresses and prefixes. OSPF now runs on a per-link basis rather than on a per-IP-subnet basis. Flooding scope for LSAs has been generalized. Authentication has been removed from the OSPF protocol and instead relies on IPv6's Authentication Header and Encapsulating Security Payload (ESP).</t>
              <t indent="0">Even with larger IPv6 addresses, most packets in OSPF for IPv6 are almost as compact as those in OSPF for IPv4. Most fields and packet- size limitations present in OSPF for IPv4 have been relaxed. In addition, option handling has been made more flexible.</t>
              <t indent="0">All of OSPF for IPv4's optional capabilities, including demand circuit support and Not-So-Stubby Areas (NSSAs), are also supported in OSPF for IPv6. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5340"/>
          <seriesInfo name="DOI" value="10.17487/RFC5340"/>
        </reference>
        <reference anchor="RFC5376" target="https://www.rfc-editor.org/info/rfc5376" quoteTitle="true" derivedAnchor="RFC5376">
          <front>
            <title>Inter-AS Requirements for the Path Computation Element Communication Protocol (PCECP)</title>
            <author fullname="N. Bitar" initials="N." surname="Bitar"/>
            <author fullname="R. Zhang" initials="R." surname="Zhang"/>
            <author fullname="K. Kumaki" initials="K." surname="Kumaki"/>
            <date month="November" year="2008"/>
            <abstract>
              <t indent="0">Multiprotocol Label Switching Traffic Engineered (MPLS TE) Label Switched Paths (LSPs) may be established wholly within an Autonomous System (AS) or may cross AS boundaries.</t>
              <t indent="0">The Path Computation Element (PCE) is a component that is capable of computing constrained paths for (G)MPLS TE LSPs. The PCE Communication Protocol (PCECP) is defined to allow communication between Path Computation Clients (PCCs) and PCEs, as well as between PCEs. The PCECP is used to request constrained paths and to supply computed paths in response. Generic requirements for the PCECP are set out in "Path Computation Element (PCE) Communication Protocol Generic Requirements", RFC 4657. This document extends those requirements to cover the use of PCECP in support of inter-AS MPLS TE. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5376"/>
          <seriesInfo name="DOI" value="10.17487/RFC5376"/>
        </reference>
        <reference anchor="RFC5541" target="https://www.rfc-editor.org/info/rfc5541" quoteTitle="true" derivedAnchor="RFC5541">
          <front>
            <title>Encoding of Objective Functions in the Path Computation Element Communication Protocol (PCEP)</title>
            <author fullname="JL. Le Roux" initials="JL." surname="Le Roux"/>
            <author fullname="JP. Vasseur" initials="JP." surname="Vasseur"/>
            <author fullname="Y. Lee" initials="Y." surname="Lee"/>
            <date month="June" year="2009"/>
            <abstract>
              <t indent="0">The computation of one or a set of Traffic Engineering Label Switched Paths (TE LSPs) in MultiProtocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks is subject to a set of one or more specific optimization criteria, referred to as objective functions (e.g., minimum cost path, widest path, etc.).</t>
              <t indent="0">In the Path Computation Element (PCE) architecture, a Path Computation Client (PCC) may want a path to be computed for one or more TE LSPs according to a specific objective function. Thus, the PCC needs to instruct the PCE to use the correct objective function. Furthermore, it is possible that not all PCEs support the same set of objective functions; therefore, it is useful for the PCC to be able to automatically discover the set of objective functions supported by each PCE.</t>
              <t indent="0">This document defines extensions to the PCE communication Protocol (PCEP) to allow a PCE to indicate the set of objective functions it supports. Extensions are also defined so that a PCC can indicate in a path computation request the required objective function, and a PCE can report in a path computation reply the objective function that was used for path computation.</t>
              <t indent="0">This document defines objective function code types for six objective functions previously listed in the PCE requirements work, and provides the definition of four new metric types that apply to a set of synchronized requests. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5541"/>
          <seriesInfo name="DOI" value="10.17487/RFC5541"/>
        </reference>
        <reference anchor="RFC7025" target="https://www.rfc-editor.org/info/rfc7025" quoteTitle="true" derivedAnchor="RFC7025">
          <front>
            <title>Requirements for GMPLS Applications of PCE</title>
            <author fullname="T. Otani" initials="T." surname="Otani"/>
            <author fullname="K. Ogaki" initials="K." surname="Ogaki"/>
            <author fullname="D. Caviglia" initials="D." surname="Caviglia"/>
            <author fullname="F. Zhang" initials="F." surname="Zhang"/>
            <author fullname="C. Margaria" initials="C." surname="Margaria"/>
            <date month="September" year="2013"/>
            <abstract>
              <t indent="0">The initial effort of the PCE (Path Computation Element) WG focused mainly on MPLS. As a next step, this document describes functional requirements for GMPLS applications of PCE.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7025"/>
          <seriesInfo name="DOI" value="10.17487/RFC7025"/>
        </reference>
        <reference anchor="RFC7399" target="https://www.rfc-editor.org/info/rfc7399" quoteTitle="true" derivedAnchor="RFC7399">
          <front>
            <title>Unanswered Questions in the Path Computation Element Architecture</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="D. King" initials="D." surname="King"/>
            <date month="October" year="2014"/>
            <abstract>
              <t indent="0">The Path Computation Element (PCE) architecture is set out in RFC 4655. The architecture is extended for multi-layer networking with the introduction of the Virtual Network Topology Manager (VNTM) in RFC 5623 and generalized to Hierarchical PCE (H-PCE) in RFC 6805.</t>
              <t indent="0">These three architectural views of PCE deliberately leave some key questions unanswered, especially with respect to the interactions between architectural components. This document draws out those questions and discusses them in an architectural context with reference to other architectural components, existing protocols, and recent IETF efforts.</t>
              <t indent="0">This document does not update the architecture documents and does not define how protocols or components must be used. It does, however, suggest how the architectural components might be combined to provide advanced PCE function.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7399"/>
          <seriesInfo name="DOI" value="10.17487/RFC7399"/>
        </reference>
        <reference anchor="RFC7432" target="https://www.rfc-editor.org/info/rfc7432" quoteTitle="true" derivedAnchor="RFC7432">
          <front>
            <title>BGP MPLS-Based Ethernet VPN</title>
            <author fullname="A. Sajassi" initials="A." role="editor" surname="Sajassi"/>
            <author fullname="R. Aggarwal" initials="R." surname="Aggarwal"/>
            <author fullname="N. Bitar" initials="N." surname="Bitar"/>
            <author fullname="A. Isaac" initials="A." surname="Isaac"/>
            <author fullname="J. Uttaro" initials="J." surname="Uttaro"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <date month="February" year="2015"/>
            <abstract>
              <t indent="0">This document describes procedures for BGP MPLS-based Ethernet VPNs (EVPN). The procedures described here meet the requirements specified in RFC 7209 -- "Requirements for Ethernet VPN (EVPN)".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7432"/>
          <seriesInfo name="DOI" value="10.17487/RFC7432"/>
        </reference>
        <reference anchor="RFC7491" target="https://www.rfc-editor.org/info/rfc7491" quoteTitle="true" derivedAnchor="RFC7491">
          <front>
            <title>A PCE-Based Architecture for Application-Based Network Operations</title>
            <author fullname="D. King" initials="D." surname="King"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="March" year="2015"/>
            <abstract>
              <t indent="0">Services such as content distribution, distributed databases, or inter-data center connectivity place a set of new requirements on the operation of networks. They need on-demand and application-specific reservation of network connectivity, reliability, and resources (such as bandwidth) in a variety of network applications (such as point-to-point connectivity, network virtualization, or mobile back-haul) and in a range of network technologies from packet (IP/MPLS) down to optical. An environment that operates to meet these types of requirements is said to have Application-Based Network Operations (ABNO). ABNO brings together many existing technologies and may be seen as the use of a toolbox of existing components enhanced with a few new elements.</t>
              <t indent="0">This document describes an architecture and framework for ABNO, showing how these components fit together. It provides a cookbook of existing technologies to satisfy the architecture and meet the needs of the applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7491"/>
          <seriesInfo name="DOI" value="10.17487/RFC7491"/>
        </reference>
        <reference anchor="RFC8279" target="https://www.rfc-editor.org/info/rfc8279" quoteTitle="true" derivedAnchor="RFC8279">
          <front>
            <title>Multicast Using Bit Index Explicit Replication (BIER)</title>
            <author fullname="IJ. Wijnands" initials="IJ." role="editor" surname="Wijnands"/>
            <author fullname="E. Rosen" initials="E." role="editor" surname="Rosen"/>
            <author fullname="A. Dolganow" initials="A." surname="Dolganow"/>
            <author fullname="T. Przygienda" initials="T." surname="Przygienda"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <date month="November" year="2017"/>
            <abstract>
              <t indent="0">This document specifies a new architecture for the forwarding of multicast data packets. It provides optimal forwarding of multicast packets through a "multicast domain". However, it does not require a protocol for explicitly building multicast distribution trees, nor does it require intermediate nodes to maintain any per-flow state. This architecture is known as "Bit Index Explicit Replication" (BIER). When a multicast data packet enters the domain, the ingress router determines the set of egress routers to which the packet needs to be sent. The ingress router then encapsulates the packet in a BIER header. The BIER header contains a bit string in which each bit represents exactly one egress router in the domain; to forward the packet to a given set of egress routers, the bits corresponding to those routers are set in the BIER header. The procedures for forwarding a packet based on its BIER header are specified in this document. Elimination of the per-flow state and the explicit tree-building protocols results in a considerable simplification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8279"/>
          <seriesInfo name="DOI" value="10.17487/RFC8279"/>
        </reference>
        <reference anchor="RFC8300" target="https://www.rfc-editor.org/info/rfc8300" quoteTitle="true" derivedAnchor="RFC8300">
          <front>
            <title>Network Service Header (NSH)</title>
            <author fullname="P. Quinn" initials="P." role="editor" surname="Quinn"/>
            <author fullname="U. Elzur" initials="U." role="editor" surname="Elzur"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="January" year="2018"/>
            <abstract>
              <t indent="0">This document describes a Network Service Header (NSH) imposed on packets or frames to realize Service Function Paths (SFPs). The NSH also provides a mechanism for metadata exchange along the instantiated service paths. The NSH is the Service Function Chaining (SFC) encapsulation required to support the SFC architecture (defined in RFC 7665).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8300"/>
          <seriesInfo name="DOI" value="10.17487/RFC8300"/>
        </reference>
        <reference anchor="RFC8355" target="https://www.rfc-editor.org/info/rfc8355" quoteTitle="true" derivedAnchor="RFC8355">
          <front>
            <title>Resiliency Use Cases in Source Packet Routing in Networking (SPRING) Networks</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="March" year="2018"/>
            <abstract>
              <t indent="0">This document identifies and describes the requirements for a set of use cases related to Segment Routing network resiliency on Source Packet Routing in Networking (SPRING) networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8355"/>
          <seriesInfo name="DOI" value="10.17487/RFC8355"/>
        </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="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="RFC8735" target="https://www.rfc-editor.org/info/rfc8735" quoteTitle="true" derivedAnchor="RFC8735">
          <front>
            <title>Scenarios and Simulation Results of PCE in a Native IP Network</title>
            <author fullname="A. Wang" initials="A." surname="Wang"/>
            <author fullname="X. Huang" initials="X." surname="Huang"/>
            <author fullname="C. Kou" initials="C." surname="Kou"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <author fullname="P. Mi" initials="P." surname="Mi"/>
            <date month="February" year="2020"/>
            <abstract>
              <t indent="0">Requirements for providing the End-to-End (E2E) performance assurance are emerging within the service provider networks. While there are various technology solutions, there is no single solution that can fulfill these requirements for a native IP network. In particular, there is a need for a universal E2E solution that can cover both intra- and inter-domain scenarios.</t>
              <t indent="0">One feasible E2E traffic-engineering solution is the addition of central control in a native IP network. This document describes various complex scenarios and simulation results when applying the Path Computation Element (PCE) in a native IP network. This solution, referred to as Centralized Control Dynamic Routing (CCDR), integrates the advantage of using distributed protocols and the power of a centralized control technology, providing traffic engineering for native IP networks in a manner that applies equally to intra- and inter-domain scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8735"/>
          <seriesInfo name="DOI" value="10.17487/RFC8735"/>
        </reference>
        <reference anchor="RFC8751" target="https://www.rfc-editor.org/info/rfc8751" quoteTitle="true" derivedAnchor="RFC8751">
          <front>
            <title>Hierarchical Stateful Path Computation Element (PCE)</title>
            <author fullname="D. Dhody" initials="D." surname="Dhody"/>
            <author fullname="Y. Lee" initials="Y." surname="Lee"/>
            <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
            <author fullname="J. Shin" initials="J." surname="Shin"/>
            <author fullname="D. King" initials="D." surname="King"/>
            <date month="March" year="2020"/>
            <abstract>
              <t indent="0">A stateful Path Computation Element (PCE) maintains information on the current network state received from the Path Computation Clients (PCCs), including computed Label Switched Paths (LSPs), reserved resources within the network, and pending path computation requests. This information may then be considered when computing the path for a new traffic-engineered LSP or for any associated/dependent LSPs. The path-computation response from a PCE helps the PCC to gracefully establish the computed LSP.</t>
              <t indent="0">The Hierarchical Path Computation Element (H-PCE) architecture allows the optimum sequence of interconnected domains to be selected and network policy to be applied if applicable, via the use of a hierarchical relationship between PCEs.</t>
              <t indent="0">Combining the capabilities of stateful PCE and the hierarchical PCE would be advantageous. This document describes general considerations and use cases for the deployment of stateful, but not stateless, PCEs using the hierarchical PCE architecture.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8751"/>
          <seriesInfo name="DOI" value="10.17487/RFC8751"/>
        </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="RFC8821" target="https://www.rfc-editor.org/info/rfc8821" quoteTitle="true" derivedAnchor="RFC8821">
          <front>
            <title>PCE-Based Traffic Engineering (TE) in Native IP Networks</title>
            <author fullname="A. Wang" initials="A." surname="Wang"/>
            <author fullname="B. Khasanov" initials="B." surname="Khasanov"/>
            <author fullname="Q. Zhao" initials="Q." surname="Zhao"/>
            <author fullname="H. Chen" initials="H." surname="Chen"/>
            <date month="April" year="2021"/>
            <abstract>
              <t indent="0">This document defines an architecture for providing traffic engineering in a native IP network using multiple BGP sessions and a Path Computation Element (PCE)-based central control mechanism. It defines the Centralized Control Dynamic Routing (CCDR) procedures and identifies needed extensions for the Path Computation Element Communication Protocol (PCEP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8821"/>
          <seriesInfo name="DOI" value="10.17487/RFC8821"/>
        </reference>
        <reference anchor="RFC8955" target="https://www.rfc-editor.org/info/rfc8955" quoteTitle="true" derivedAnchor="RFC8955">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author fullname="C. Loibl" initials="C." surname="Loibl"/>
            <author fullname="S. Hares" initials="S." surname="Hares"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="M. Bacher" initials="M." surname="Bacher"/>
            <date month="December" year="2020"/>
            <abstract>
              <t indent="0">This document defines a Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute (intra-domain and inter-domain) traffic Flow Specifications for IPv4 unicast and IPv4 BGP/MPLS VPN services. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix.</t>
              <t indent="0">It also specifies BGP Extended Community encoding formats, which can be used to propagate Traffic Filtering Actions along with the Flow Specification NLRI. Those Traffic Filtering Actions encode actions a routing system can take if the packet matches the Flow Specification.</t>
              <t indent="0">This document obsoletes both RFC 5575 and RFC 7674.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8955"/>
          <seriesInfo name="DOI" value="10.17487/RFC8955"/>
        </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="RFC9012" target="https://www.rfc-editor.org/info/rfc9012" quoteTitle="true" derivedAnchor="RFC9012">
          <front>
            <title>The BGP Tunnel Encapsulation Attribute</title>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="G. Van de Velde" initials="G." surname="Van de Velde"/>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <date month="April" year="2021"/>
            <abstract>
              <t indent="0">This document defines a BGP path attribute known as the "Tunnel Encapsulation attribute", which can be used with BGP UPDATEs of various Subsequent Address Family Identifiers (SAFIs) to provide information needed to create tunnels and their corresponding encapsulation headers. It provides encodings for a number of tunnel types, along with procedures for choosing between alternate tunnels and routing packets into tunnels.</t>
              <t indent="0">This document obsoletes RFC 5512, which provided an earlier definition of the Tunnel Encapsulation attribute. RFC 5512 was never deployed in production. Since RFC 5566 relies on RFC 5512, it is likewise obsoleted. This document updates RFC 5640 by indicating that the Load-Balancing Block sub-TLV may be included in any Tunnel Encapsulation attribute where load balancing is desired.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9012"/>
          <seriesInfo name="DOI" value="10.17487/RFC9012"/>
        </reference>
        <reference anchor="RFC9050" target="https://www.rfc-editor.org/info/rfc9050" quoteTitle="true" derivedAnchor="RFC9050">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Procedures and Extensions for Using the PCE as a Central Controller (PCECC) of LSPs</title>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <author fullname="S. Peng" initials="S." surname="Peng"/>
            <author fullname="M. Negi" initials="M." surname="Negi"/>
            <author fullname="Q. Zhao" initials="Q." surname="Zhao"/>
            <author fullname="C. Zhou" initials="C." surname="Zhou"/>
            <date month="July" year="2021"/>
            <abstract>
              <t indent="0">The Path Computation Element (PCE) is a core component of Software-Defined Networking (SDN) systems.</t>
              <t indent="0">A PCE as a Central Controller (PCECC) can simplify the processing of a distributed control plane by blending it with elements of SDN and without necessarily completely replacing it. Thus, the Label Switched Path (LSP) can be calculated/set up/initiated and the label-forwarding entries can also be downloaded through a centralized PCE server to each network device along the path while leveraging the existing PCE technologies as much as possible.</t>
              <t indent="0">This document specifies the procedures and Path Computation Element Communication Protocol (PCEP) extensions for using the PCE as the central controller for provisioning labels along the path of the static LSP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9050"/>
          <seriesInfo name="DOI" value="10.17487/RFC9050"/>
        </reference>
        <reference anchor="RFC9087" target="https://www.rfc-editor.org/info/rfc9087" quoteTitle="true" derivedAnchor="RFC9087">
          <front>
            <title>Segment Routing Centralized BGP Egress Peer Engineering</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="G. Dawra" initials="G." role="editor" surname="Dawra"/>
            <author fullname="E. Aries" initials="E." surname="Aries"/>
            <author fullname="D. Afanasiev" initials="D." surname="Afanasiev"/>
            <date month="August" year="2021"/>
            <abstract>
              <t indent="0">Segment Routing (SR) leverages source routing. A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with an SR header. A segment can represent any instruction, topological or service based. SR allows for the enforcement of a flow through any topological path while maintaining per-flow state only at the ingress node of the SR domain.</t>
              <t indent="0">The Segment Routing architecture can be directly applied to the MPLS data plane with no change on the forwarding plane. It requires a minor extension to the existing link-state routing protocols.</t>
              <t indent="0">This document illustrates the application of Segment Routing to solve the BGP Egress Peer Engineering (BGP-EPE) requirement. The SR-based BGP-EPE solution allows a centralized (Software-Defined Networking, or SDN) controller to program any egress peer policy at ingress border routers or at hosts within the domain.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9087"/>
          <seriesInfo name="DOI" value="10.17487/RFC9087"/>
        </reference>
        <reference anchor="RFC9168" target="https://www.rfc-editor.org/info/rfc9168" quoteTitle="true" derivedAnchor="RFC9168">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extension for Flow Specification</title>
            <author fullname="D. Dhody" initials="D." surname="Dhody"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="January" year="2022"/>
            <abstract>
              <t indent="0">The Path Computation Element (PCE) is a functional component capable of selecting paths through a traffic engineering (TE) network. These paths may be supplied in response to requests for computation or may be unsolicited requests issued by the PCE to network elements. Both approaches use the PCE Communication Protocol (PCEP) to convey the details of the computed path.</t>
              <t indent="0">Traffic flows may be categorized and described using "Flow Specifications". RFC 8955 defines the Flow Specification and describes how Flow Specification components are used to describe traffic flows. RFC 8955 also defines how Flow Specifications may be distributed in BGP to allow specific traffic flows to be associated with routes.</t>
              <t indent="0">This document specifies a set of extensions to PCEP to support dissemination of Flow Specifications. This allows a PCE to indicate what traffic should be placed on each path that it is aware of.</t>
              <t indent="0">The extensions defined in this document include the creation, update, and withdrawal of Flow Specifications via PCEP and can be applied to tunnels initiated by the PCE or to tunnels where control is delegated to the PCE by the Path Computation Client (PCC). Furthermore, a PCC requesting a new path can include Flow Specifications in the request to indicate the purpose of the tunnel allowing the PCE to factor this into the path computation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9168"/>
          <seriesInfo name="DOI" value="10.17487/RFC9168"/>
        </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="RFC9262" target="https://www.rfc-editor.org/info/rfc9262" quoteTitle="true" derivedAnchor="RFC9262">
          <front>
            <title>Tree Engineering for Bit Index Explicit Replication (BIER-TE)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
            <author fullname="M. Menth" initials="M." surname="Menth"/>
            <author fullname="G. Cauchie" initials="G." surname="Cauchie"/>
            <date month="October" year="2022"/>
            <abstract>
              <t indent="0">This memo describes per-packet stateless strict and loose path steered replication and forwarding for "Bit Index Explicit Replication" (BIER) packets (RFC 8279); it is called "Tree Engineering for Bit Index Explicit Replication" (BIER-TE) and is intended to be used as the path steering mechanism for Traffic Engineering with BIER.</t>
              <t indent="0">BIER-TE introduces a new semantic for "bit positions" (BPs). These BPs indicate adjacencies of the network topology, as opposed to (non-TE) BIER in which BPs indicate "Bit-Forwarding Egress Routers" (BFERs). A BIER-TE "packets BitString" therefore indicates the edges of the (loop-free) tree across which the packets are forwarded by BIER-TE. BIER-TE can leverage BIER forwarding engines with little changes. Co-existence of BIER and BIER-TE forwarding in the same domain is possible -- for example, by using separate BIER "subdomains" (SDs). Except for the optional routed adjacencies, BIER-TE does not require a BIER routing underlay and can therefore operate without depending on a routing protocol such as the "Interior Gateway Protocol" (IGP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9262"/>
          <seriesInfo name="DOI" value="10.17487/RFC9262"/>
        </reference>
        <reference anchor="RFC9491" target="https://www.rfc-editor.org/info/rfc9491" quoteTitle="true" derivedAnchor="RFC9491">
          <front>
            <title>Integration of the Network Service Header (NSH) and Segment Routing for Service Function Chaining (SFC)</title>
            <author fullname="J. Guichard" initials="J." role="editor" surname="Guichard"/>
            <author fullname="J. Tantsura" initials="J." role="editor" surname="Tantsura"/>
            <date month="November" year="2023"/>
            <abstract>
              <t indent="0">This document describes the integration of the Network Service Header (NSH) and Segment Routing (SR), as well as encapsulation details, to efficiently support Service Function Chaining (SFC) while maintaining separation of the service and transport planes as originally intended by the SFC architecture.</t>
              <t indent="0">Combining these technologies allows SR to be used for steering packets between Service Function Forwarders (SFFs) along a given Service Function Path (SFP), whereas the NSH is responsible for maintaining the integrity of the service plane, the SFC instance context, and any associated metadata.</t>
              <t indent="0">This integration demonstrates that the NSH and SR can work cooperatively and provide a network operator with the flexibility to use whichever transport technology makes sense in specific areas of their network infrastructure while still maintaining an end-to-end service plane using the NSH.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9491"/>
          <seriesInfo name="DOI" value="10.17487/RFC9491"/>
        </reference>
        <reference anchor="RFC9522" target="https://www.rfc-editor.org/info/rfc9522" quoteTitle="true" derivedAnchor="RFC9522">
          <front>
            <title>Overview and Principles of Internet Traffic Engineering</title>
            <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
            <date month="January" year="2024"/>
            <abstract>
              <t indent="0">This document describes the principles of traffic engineering (TE) in the Internet. The document is intended to promote better understanding of the issues surrounding traffic engineering in IP networks and the networks that support IP networking and to provide a common basis for the development of traffic-engineering capabilities for the Internet. The principles, architectures, and methodologies for performance evaluation and performance optimization of operational networks are also discussed.</t>
              <t indent="0">This work was first published as RFC 3272 in May 2002. This document obsoletes RFC 3272 by making a complete update to bring the text in line with best current practices for Internet traffic engineering and to include references to the latest relevant work in the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9522"/>
          <seriesInfo name="DOI" value="10.17487/RFC9522"/>
        </reference>
        <reference anchor="RFC9552" target="https://www.rfc-editor.org/info/rfc9552" quoteTitle="true" derivedAnchor="RFC9552">
          <front>
            <title>Distribution of Link-State and Traffic Engineering Information Using BGP</title>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <date month="December" year="2023"/>
            <abstract>
              <t indent="0">In many environments, a component external to a network is called upon to perform computations based on the network topology and the current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
              <t indent="0">This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism applies to physical and virtual (e.g., tunnel) IGP links. The mechanism described is subject to policy control.</t>
              <t indent="0">Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
              <t indent="0">This document obsoletes RFC 7752 by completely replacing that document. It makes some small changes and clarifications to the previous specification. This document also obsoletes RFC 9029 by incorporating the updates that it made to RFC 7752.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9552"/>
          <seriesInfo name="DOI" value="10.17487/RFC9552"/>
        </reference>
        <reference anchor="RFC9603" target="https://www.rfc-editor.org/info/rfc9603" quoteTitle="true" derivedAnchor="RFC9603">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for IPv6 Segment Routing</title>
            <author fullname="C. Li" initials="C." role="editor" surname="Li"/>
            <author fullname="P. Kaladharan" initials="P." surname="Kaladharan"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="M. Koldychev" initials="M." surname="Koldychev"/>
            <author fullname="Y. Zhu" initials="Y." surname="Zhu"/>
            <date month="July" year="2024"/>
            <abstract>
              <t indent="0">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">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">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>
          </front>
          <seriesInfo name="RFC" value="9603"/>
          <seriesInfo name="DOI" value="10.17487/RFC9603"/>
        </reference>
        <reference anchor="RFC9604" target="https://www.rfc-editor.org/info/rfc9604" quoteTitle="true" derivedAnchor="RFC9604">
          <front>
            <title>Carrying Binding Label/SID in PCE-Based Networks</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="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="C. Li" initials="C." role="editor" surname="Li"/>
            <date month="August" year="2024"/>
            <abstract>
              <t indent="0">In order to provide greater scalability, network confidentiality, and service independence, Segment Routing (SR) utilizes a Binding Segment Identifier (BSID), as described in RFC 8402. It is possible to associate a BSID to an RSVP-TE-signaled Traffic Engineering (TE) Label Switched Path (LSP) or an SR TE path. The BSID can be used by an upstream node for steering traffic into the appropriate TE path to enforce SR policies. This document specifies the concept of binding value, which can be either an MPLS label or a Segment Identifier (SID). It further specifies an extension to Path Computation Element Communication Protocol (PCEP) for reporting the binding value by a Path Computation Client (PCC) to the Path Computation Element (PCE) to support PCE-based TE policies.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9604"/>
          <seriesInfo name="DOI" value="10.17487/RFC9604"/>
        </reference>
        <reference anchor="I-D.ietf-spring-sr-service-programming" target="https://datatracker.ietf.org/doc/html/draft-ietf-spring-sr-service-programming-10" quoteTitle="true" derivedAnchor="SR-SERVICE">
          <front>
            <title>Service Programming with Segment Routing</title>
            <author fullname="Francois Clad" initials="F." surname="Clad" role="editor">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Xiaohu Xu" initials="X." surname="Xu" role="editor">
              <organization showOnFrontPage="true">China Mobile</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Daniel Bernier" initials="D." surname="Bernier">
              <organization showOnFrontPage="true">Bell Canada</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization showOnFrontPage="true">Orange</organization>
            </author>
            <author fullname="Shaowen Ma" initials="S." surname="Ma">
              <organization showOnFrontPage="true">Mellanox</organization>
            </author>
            <author fullname="Chaitanya Yadlapalli" initials="C." surname="Yadlapalli">
              <organization showOnFrontPage="true">AT&amp;T</organization>
            </author>
            <author fullname="Wim Henderickx" initials="W." surname="Henderickx">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author fullname="Stefano Salsano" initials="S." surname="Salsano">
              <organization showOnFrontPage="true">Universita di Roma "Tor Vergata"</organization>
            </author>
            <date day="23" month="August" year="2024"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-sr-service-programming-10"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="sect-15" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-other-use-cases-of-the-pcec">Other Use Cases of the PCECC</name>
      <t indent="0" pn="section-appendix.a-1">This section lists some more use cases of the PCECC that were proposed by operators and discussed within the working group but are not in active development at the time of publication. They are listed here for future consideration.</t>
      <section anchor="sect-15.1" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.1">
        <name slugifiedName="name-pcecc-for-network-migration">PCECC for Network Migration</name>
        <t indent="0" pn="section-appendix.a.1-1">
   One of the main advantages of the PCECC solution is its backward
   compatibility. The PCE server can function as a
   proxy node of the MPLS network for all the new nodes that no longer support
   the signalling protocols.</t>
        <t indent="0" pn="section-appendix.a.1-2">
   As illustrated in the following example, the current network
   could migrate to a total PCECC-controlled network gradually by
   replacing the legacy nodes.  During the migration, the legacy nodes
   still need to  use the existing MPLS signalling protocols such as LDP and
   RSVP-TE, and the new nodes will set up their portion of the forwarding path
   through the PCECC directly.  With the PCECC function as the proxy of
   these new nodes, MPLS signalling can populate through the network for both old and new nodes.</t>
        <t indent="0" pn="section-appendix.a.1-3">
   The example described in this section is based on network configurations
   illustrated in <xref target="fig_mig" format="default" sectionFormat="of" derivedContent="Figure 13"/>:</t>
        <figure anchor="fig_mig" align="left" suppress-title="false" pn="figure-13">
          <name slugifiedName="name-pcecc-initiated-lsp-setup-i">PCECC-Initiated LSP Setup in the Network Migration</name>
          <artwork name="" type="" align="left" alt="" pn="section-appendix.a.1-4.1">
+------------------------------------------------------------------+
|                         PCE DOMAIN                               |
|    +-----------------------------------------------------+       |
|    |                       PCECC                         |       |
|    +-----------------------------------------------------+       |
|     ^              ^                      ^            ^         |
|     |      PCEP    |                      |   PCEP     |         |
|     V              V                      V            V         |
| +--------+   +--------+   +--------+   +--------+   +--------+   |
| | Node1  |   | Node2  |   | Node3  |   | Node4  |   | Node5  |   |
| |        |...|        |...|        |...|        |...|        |   |
| | Legacy |if1| Legacy |if2|Legacy  |if3| PCECC  |if4| PCECC  |   |
| |  Node  |   |  Node  |   |Enabled |   |Enabled |   | Enabled|   |
| +--------+   +--------+   +--------+   +--------+   +--------+   |
|                                                                  |
+------------------------------------------------------------------+
</artwork>
        </figure>
        <t indent="0" pn="section-appendix.a.1-5">In this example, there are five nodes for the TE LSP from the headend
        (Node1) to the tail end (Node5), where Node4 and Node5 are
        centrally controlled and other nodes are legacy nodes.</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.1-6">
          <li pn="section-appendix.a.1-6.1">
            Node1 sends a path request message for the setup of the LSP
	    with the destination as Node5.
          </li>
          <li pn="section-appendix.a.1-6.2">
            The PCECC sends a reply message to Node1 for LSP setup with the path:
	    (Node1, if1), (Node2, if2), (Node3, if3), (Node4, if4), Node5.
          </li>
          <li pn="section-appendix.a.1-6.3">
            Node1, Node2, and Node3 will set up the LSP to Node5 using the local
	    labels as usual. With the help of the PCECC, Node3 could proxy the signalling.
          </li>
          <li pn="section-appendix.a.1-6.4">
            Then, the PCECC will program the out-segment of Node3, the
	    in-segment/out-segment of Node4, and the in-segment for Node5.
          </li>
        </ul>
      </section>
      <section anchor="sect-15.2" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.2">
        <name slugifiedName="name-pcecc-for-l3vpn-and-pwe3">PCECC for L3VPN and PWE3</name>
        <t indent="0" pn="section-appendix.a.2-1">As described in <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>, various
        network services may be offered over a network.  These include
        protection services (including Virtual Private Network (VPN) services
        such as L3VPN <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> or
        EVPNs <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>) or
        pseudowires <xref target="RFC3985" format="default" sectionFormat="of" derivedContent="RFC3985"/>.  Delivering
        services over a network in an optimal way requires coordination in the
        way where network resources are allocated to support the services.  A
        PCECC can consider the whole network and all
        components of a service at once when planning how to deliver the
        service.  It can then use PCEP to manage the network resources and to
        install the necessary associations between those resources.</t>
        <t indent="0" pn="section-appendix.a.2-2">
   In the case of L3VPN, VPN labels could also be assigned and distributed
   through PCEP among the Provider Edge (PE) router instead of using the BGP
   protocols.</t>
        <t indent="0" pn="section-appendix.a.2-3">
   The example described in this section is based on network configurations
   illustrated in <xref target="fig_l3vpn" format="default" sectionFormat="of" derivedContent="Figure 14"/>:</t>
        <figure anchor="fig_l3vpn" align="left" suppress-title="false" pn="figure-14">
          <name slugifiedName="name-pcecc-for-l3vpn-and-pwe3-2">PCECC for L3VPN and PWE3</name>
          <artwork name="" type="" align="left" alt="" pn="section-appendix.a.2-4.1">
            +-------------------------------------------+
            |                   PCE DOMAIN              |
            |    +-----------------------------------+  |
            |    |                PCECC              |  |
            |    +-----------------------------------+  |
            |           ^          ^              ^     |
            | PWE3/L3VPN|PCEP  PCEP|LSP PWE3/L3VPN|PCEP |
            |           V          V              V     |
 +--------+ |     +--------+   +--------+   +--------+  |  +--------+
 |  CE    | |     | PE1    |   | Node x |   | PE2    |  |  |   CE   |
 |        |...... |        |...|        |...|        |.....|        |
 | Legacy | |if1  | PCECC  |if2|PCECC   |if3| PCECC  |if4  | Legacy |
 |  Node  | |     | Enabled|   |Enabled |   |Enabled |  |  |  Node  |
 +--------+ |     +--------+   +--------+   +--------+  |  +--------+
            |                                           |
            +-------------------------------------------+
</artwork>
        </figure>
        <t indent="0" pn="section-appendix.a.2-5">
   In the case of PWE3, instead of using the LDP signalling protocols, the
   label and port pairs assigned to each pseudowire can be assigned
   through the PCECC among the PE routers and the corresponding forwarding
   entries will be distributed into each PE router through the extended
   PCEP and PCECC mechanism.</t>
      </section>
      <section anchor="sect-15.3" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.3">
        <name slugifiedName="name-pcecc-for-local-protection-">PCECC for Local Protection (RSVP-TE)</name>
        <t indent="0" pn="section-appendix.a.3-1"><xref target="I-D.cbrt-pce-stateful-local-protection" format="default" sectionFormat="of" derivedContent="PCE-PROTECTION"/> claims that there is a need for the PCE to maintain and associate the local protection paths for the RSVP-TE LSP.
   Local protection requires the setup of a bypass at the PLR.  This
   bypass can be PCC-initiated and delegated or PCE-initiated.  In
   either case, the PLR needs to maintain a PCEP session with the PCE. The bypass LSPs
   need to be mapped to the primary LSP. This could be done locally at the PLR based on a local policy,
   but there is a need for a PCE to do the mapping as well to exert greater control. </t>
        <t indent="0" pn="section-appendix.a.3-2">This mapping can be done via PCECC procedures where the PCE could instruct the PLR to the mapping and
    identify the primary LSP for which bypass should be used.
        </t>
      </section>
      <section anchor="sect-15.4" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.4">
        <name slugifiedName="name-using-reliable-p2mp-te-base">Using Reliable P2MP TE-Based Multicast Delivery for Distributed Computations (MapReduce-Hadoop)</name>
        <t indent="0" pn="section-appendix.a.4-1">
   The MapReduce model of distributed computations in computing clusters is
   widely deployed.

   In <eref target="https://hadoop.apache.org/" brackets="none">Hadoop</eref> 1.0 architecture,
   MapReduce operations occur on big data in the Hadoop Distributed File System (HDFS), where
   NameNode knows about resources of the cluster and where actual data
   (chunks) for a particular task are located (which DataNode).
   Each chunk of data (64 MB or more) should have three saved copies in
   different DataNodes based on their proximity.</t>
        <t indent="0" pn="section-appendix.a.4-2">
   The proximity level currently has a semi-manual allocation and is based on
   Rack IDs (the assumption is that closer data is better because of access
   speed / smaller latency).</t>
        <t indent="0" pn="section-appendix.a.4-3">
   The JobTracker node is responsible for computation tasks and scheduling across
   DataNodes and also has Rack awareness. Currently, transport protocols
   between NameNode/JobTracker and DataNodes are based on IP unicast.
   It has simplicity as an advantage but has numerous drawbacks related to
   its flat approach.</t>
        <t indent="0" pn="section-appendix.a.4-4">
   There is a need to go beyond one data center (DC) for Hadoop cluster
   creation and move towards distributed clusters. In that case, one needs to
   handle performance and latency issues.  Latency depends on the speed of
   light in the fiber links and on the latency introduced by intermediate
   devices in between. The latter is closely correlated with network device
   architecture and performance.  The current performance of routers based on Network Processing Unit (NPU)
   should be enough for creating distributed Hadoop clusters with predicted
   latency. The performance of software-based routers (mainly Virtual Network
   Functions (VNFs)) with additional hardware features such as the Data Plane
   Development Kit (DPDK) is promising but requires additional research and
   testing.</t>
        <t indent="0" pn="section-appendix.a.4-5">
   The main question is how to create a simple but effective architecture for
   a distributed Hadoop cluster.</t>
        <t indent="0" pn="section-appendix.a.4-6">
   There is research <xref target="MAP-REDUCE" format="default" sectionFormat="of" derivedContent="MAP-REDUCE"/> that shows
   how usage of the multicast tree could improve the speed of resource or cluster
   members' discovery inside the cluster as well as increased redundancy in
   communications between cluster nodes.</t>
        <t indent="0" pn="section-appendix.a.4-7">
   The conventional IP-based multicast may not be appropriate because it
   requires an additional control plane (IGMP, PIM) and a lot of signalling, which
   is not suitable for high-performance computations that are very sensitive
   to latency.</t>
        <t indent="0" pn="section-appendix.a.4-8">
   P2MP TE tunnels are more suitable as a potential solution for the creation
   of multicast-based communications between NameNode as the root and DataNodes as leaves inside the
   cluster. These P2MP tunnels could be dynamically created and
   turned down (with no manual intervention). Here, the PCECC comes into play with
    the main objective of creating an optimal topology for each particular request for
   MapReduce computation and creating P2MP tunnels with needed parameters
   such as BW and delay.</t>
        <t indent="0" pn="section-appendix.a.4-9">
   This solution will require the use of MPLS label-based forwarding inside the
   cluster. The usage of label-based forwarding inside DC was proposed by Yandex
   <xref target="MPLS-DC" format="default" sectionFormat="of" derivedContent="MPLS-DC"/>. Technically, it is already possible because MPLS on switches
   is already supported by some vendors, and MPLS also exists on Linux and Open vSwitch (OVS).</t>
        <t indent="0" pn="section-appendix.a.4-10">A possible framework for this task is shown in <xref target="fig_mapred" format="default" sectionFormat="of" derivedContent="Figure 15"/>:
        </t>
        <figure anchor="fig_mapred" align="left" suppress-title="false" pn="figure-15">
          <name slugifiedName="name-using-reliable-p2mp-te-based">Using Reliable P2MP TE-Based Multicast Delivery for Distributed Computations (MapReduce-Hadoop)</name>
          <artwork name="" type="" align="left" alt="" pn="section-appendix.a.4-11.1">
                   +--------+
                   |  APP   |
                   +--------+
                        | NBI (REST API,...)
                        |
            PCEP       +----------+  REST API
     +---------+   +---|  PCECC   |----------+
     | Client  |---|---|          |          |
     +---------+   |   +----------+          |
             |     |       | |  |            |
             +-----|---+   |PCEP|            |
          +--------+   |   | |  |            |
          |            |   | |  |            |
          | REST API   |   | |  |            |
          |            |   | |  |            |
+-------------+        |   | |  |           +----------+
| Job Tracker |        |   | |  |           | NameNode |
|             |        |   | |  |           |          |
+-------------+        |   | |  |           +----------+
        +------------------+ |  +-----------+
        |              |     |              |
    |---+-----P2MP TE--+-----|-----------|  |
+-----------+       +-----------+      +-----------+
| DataNode1 |       | DataNode2 |      | DataNodeN |
|TaskTracker|       |TaskTracker| .... |TaskTracker|
+-----------+       +-----------+      +-----------+
</artwork>
        </figure>
        <t indent="0" pn="section-appendix.a.4-12">Communication between the JobTracker, NameNode, and PCECC can be done
        via REST API directly or via a cluster manager such as Mesos.</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-appendix.a.4-13">
          <li pn="section-appendix.a.4-13.1">
            <t indent="0" pn="section-appendix.a.4-13.1.1">
      Phase 1: Distributed cluster resource discovery occurs during this
      phase.  JobTracker and NameNode should identify and find available
      DataNodes according to computing requests from the application (APP).
      NameNode should query the PCECC about available DataNodes, and NameNode may
      provide additional constraints to the PCECC such as topological proximity
      and redundancy level.
            </t>
            <t indent="0" pn="section-appendix.a.4-13.1.2">
      The PCECC should analyze the topology of the distributed cluster and perform
      a constraint-based path calculation from the client towards the most
      suitable NameNodes. The PCECC should reply to NameNode with the list of the
      most suitable DataNodes and their resource capabilities. The topology
      discovery mechanism for the PCECC will be added later to that framework.
            </t>
          </li>
          <li pn="section-appendix.a.4-13.2">
    Phase 2: The PCECC should create P2MP LSPs from the client towards those
    DataNodes by means of PCEP messages following the previously calculated
    path.
  </li>
          <li pn="section-appendix.a.4-13.3">
    Phase 3: NameNode should send this information to the client, and the PCECC
    should inform the client about the optimal P2MP path towards DataNodes via a
    PCEP message.
  </li>
          <li pn="section-appendix.a.4-13.4">
    Phase 4: The client sends data blocks to those DataNodes for writing via
    the created P2MP tunnel.
  </li>
        </ul>
        <t indent="0" pn="section-appendix.a.4-14">When this task is finished, the P2MP tunnel could be turned down.</t>
      </section>
    </section>
    <section anchor="sect-14" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.b-1">Thanks to <contact fullname="Adrian Farrel"/>, <contact fullname="Aijun Wang"/>, <contact fullname="Robert Tao"/>, <contact fullname="Changjiang Yan"/>, <contact fullname="Tieying Huang"/>,
      <contact fullname="Sergio Belotti"/>, <contact fullname="Dieter       Beller"/>, <contact fullname="Andrey Elperin"/>, and <contact fullname="Evgeniy Brodskiy"/> for their useful comments and
      suggestions.</t>
      <t indent="0" pn="section-appendix.b-2">Thanks to <contact fullname="Mach Chen"/> and <contact fullname="Carlos Pignataro"/> for the RTGDIR review. Thanks to <contact fullname="Derrell Piper"/> for the SECDIR review. Thanks to <contact fullname="Sue Hares"/> for GENART review.</t>
      <t indent="0" pn="section-appendix.b-3">Thanks to <contact fullname="Vishnu Pavan Beeram"/> for being the
      document shepherd and <contact fullname="Jim Guichard"/> for being the
      responsible AD.</t>
      <t indent="0" pn="section-appendix.b-4">Thanks to <contact fullname="Roman Danyliw"/> for the IESG review
      comments.</t>
    </section>
    <section toc="include" numbered="false" removeInRFC="false" pn="section-appendix.c">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact fullname="Luyuan Fang">
        <organization showOnFrontPage="true"/>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country>United States of America</country>
          </postal>
          <email>luyuanf@gmail.com</email>
        </address>
      </contact>
      <contact fullname="Chao Zhou">
        <organization showOnFrontPage="true">HPE</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country/>
          </postal>
          <email>chaozhou_us@yahoo.com</email>
        </address>
      </contact>
      <contact fullname="Boris Zhang">
        <organization showOnFrontPage="true">Amazon</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country/>
          </postal>
          <email>zhangyud@amazon.com</email>
        </address>
      </contact>
      <contact fullname="Artsiom Rachytski">
        <organization showOnFrontPage="true">AWS</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country>Germany</country>
          </postal>
          <email>arachyts@gmail.com</email>
        </address>
      </contact>
      <contact fullname="Anton Hulida">
        <organization showOnFrontPage="true">AWS</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country>Australia</country>
          </postal>
          <email>hulidant@amazon.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.d">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Zhenbin (Robin) Li" initials="Z." surname="Li">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Huawei Bld., No.156 Beiqing Rd.</street>
            <city>Beijing</city>
            <code>100095</code>
            <country>China</country>
          </postal>
          <email>lizhenbin@huawei.com</email>
        </address>
      </author>
      <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <country>India</country>
          </postal>
          <email>dhruv.ietf@gmail.com</email>
        </address>
      </author>
      <author initials="Q" surname="Zhao" fullname="Quintin Zhao">
        <organization showOnFrontPage="true">Etheric Networks</organization>
        <address>
          <postal>
            <street>1009 S Claremont St.</street>
            <city>San Mateo</city>
            <region>CA</region>
            <code>94402</code>
            <country>United States of America</country>
          </postal>
          <email>quintinzhao@gmail.com</email>
        </address>
      </author>
      <author fullname="King He" initials="K." surname="He">
        <organization showOnFrontPage="true">Tencent Holdings Ltd.</organization>
        <address>
          <postal>
            <city>Shenzhen</city>
            <country>China</country>
          </postal>
          <email>kinghe@tencent.com</email>
        </address>
      </author>
      <author fullname="Boris Khasanov" initials="B." surname="Khasanov">
        <organization showOnFrontPage="true">MTS Web Services (MWS)</organization>
        <address>
          <postal>
            <street>Andropova Ave. 18, building 9</street>
            <city>Moscow</city>
            <country>Russian Federation</country>
          </postal>
          <email>bhassanov@yahoo.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
