<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-pce-pcep-extension-for-pce-controller-14" indexInclude="true" ipr="trust200902" number="9050" prepTime="2021-07-15T10:43:11" scripts="Common,Latin" sortRefs="false" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-pce-pcep-extension-for-pce-controller-14" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9050" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="PCECC">Path Computation Element Communication Protocol (PCEP) Procedures and Extensions for Using the PCE as a Central Controller (PCECC) of LSPs</title>
    <seriesInfo name="RFC" value="9050" stream="IETF"/>
    <author initials="Z" surname="Li" fullname="Zhenbin Li">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>
          <city>Beijing  </city>
          <region/>
          <code>100095</code>
          <country>China</country>
        </postal>
        <email>lizhenbin@huawei.com</email>
      </address>
    </author>
    <author initials="S" surname="Peng" fullname="Shuping Peng">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>
          <city>Beijing</city>
          <region/>
          <code>100095</code>
          <country>China</country>
        </postal>
        <email>pengshuping@huawei.com</email>
      </address>
    </author>
    <author initials="M" surname="Negi" fullname="Mahendra Singh Negi">
      <organization showOnFrontPage="true">RtBrick Inc</organization>
      <address>
        <postal>
          <street>N-17L, 18th Cross Rd, HSR Layout</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560102</code>
          <country>India</country>
        </postal>
        <email>mahend.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>qzhao@ethericnetworks.com</email>
      </address>
    </author>
    <author initials="C" surname="Zhou" fullname="Chao Zhou">
      <organization showOnFrontPage="true">HPE</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <email>chaozhou_us@yahoo.com</email>
      </address>
    </author>
    <date month="07" year="2021"/>
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <keyword>SDN</keyword>
    <keyword>CCI</keyword>
    <keyword>Central Control</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The Path Computation Element (PCE) is a core component of Software-Defined Networking (SDN) systems.</t>
      <t indent="0" pn="section-abstract-2">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" pn="section-abstract-3">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>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9050" 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) 2021 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 Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified 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>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-basic-pcecc-mode">Basic PCECC Mode</xref></t>
          </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-pcep-requirements">PCEP Requirements</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-procedures-for-using-the-pc">Procedures for Using the PCE as a Central Controller (PCECC)</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-stateful-pce-model">Stateful PCE Model</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-lsp-functions">New LSP Functions</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-pcep-object">New PCEP Object</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-capability-advertisem">PCECC Capability Advertisement</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-lsp-operations">LSP Operations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.5.2">
                  <li pn="section-toc.1-1.5.2.5.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.5.2.1.1"><xref derivedContent="5.5.1" format="counter" sectionFormat="of" target="section-5.5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pce-initiated-pcecc-lsp">PCE-Initiated PCECC LSP</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.5.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.5.2.2.1"><xref derivedContent="5.5.2" format="counter" sectionFormat="of" target="section-5.5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcc-initiated-pcecc-lsp">PCC-Initiated PCECC LSP</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.5.2.3">
                    <t indent="0" pn="section-toc.1-1.5.2.5.2.3.1"><xref derivedContent="5.5.3" format="counter" sectionFormat="of" target="section-5.5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-central-controller-instruct">Central Controller Instructions</xref></t>
                    <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.5.2.3.2">
                      <li pn="section-toc.1-1.5.2.5.2.3.2.1">
                        <t indent="0" pn="section-toc.1-1.5.2.5.2.3.2.1.1"><xref derivedContent="5.5.3.1" format="counter" sectionFormat="of" target="section-5.5.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-label-download-cci">Label Download CCI</xref></t>
                      </li>
                      <li pn="section-toc.1-1.5.2.5.2.3.2.2">
                        <t indent="0" pn="section-toc.1-1.5.2.5.2.3.2.2.1"><xref derivedContent="5.5.3.2" format="counter" sectionFormat="of" target="section-5.5.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-label-cleanup-cci">Label Cleanup CCI</xref></t>
                      </li>
                    </ul>
                  </li>
                  <li pn="section-toc.1-1.5.2.5.2.4">
                    <t indent="0" pn="section-toc.1-1.5.2.5.2.4.1"><xref derivedContent="5.5.4" format="counter" sectionFormat="of" target="section-5.5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-lsp-update">PCECC LSP Update</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.5.2.5">
                    <t indent="0" pn="section-toc.1-1.5.2.5.2.5.1"><xref derivedContent="5.5.5" format="counter" sectionFormat="of" target="section-5.5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-re-delegation-and-cleanup">Re-delegation and Cleanup</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.5.2.6">
                    <t indent="0" pn="section-toc.1-1.5.2.5.2.6.1"><xref derivedContent="5.5.6" format="counter" sectionFormat="of" target="section-5.5.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-synchronization-of-central-">Synchronization of Central Controller Instructions</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.5.2.7">
                    <t indent="0" pn="section-toc.1-1.5.2.5.2.7.1"><xref derivedContent="5.5.7" format="counter" sectionFormat="of" target="section-5.5.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-lsp-state-report">PCECC LSP State Report</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.5.2.8">
                    <t indent="0" pn="section-toc.1-1.5.2.5.2.8.1"><xref derivedContent="5.5.8" format="counter" sectionFormat="of" target="section-5.5.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcc-based-allocations">PCC-Based Allocations</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-messages">PCEP Messages</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-the-pcinitiate-message">The PCInitiate Message</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-the-pcrpt-message">The PCRpt Message</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-objects">PCEP Objects</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-open-object">OPEN Object</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2.1.2">
                  <li pn="section-toc.1-1.7.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.7.2.1.2.1.1"><xref derivedContent="7.1.1" format="counter" sectionFormat="of" target="section-7.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-capability-sub-tlv">PCECC Capability Sub-TLV</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-path-setup-type-tlv">PATH-SETUP-TYPE TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.3">
                <t indent="0" pn="section-toc.1-1.7.2.3.1"><xref derivedContent="7.3" format="counter" sectionFormat="of" target="section-7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cci-object">CCI Object</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2.3.2">
                  <li pn="section-toc.1-1.7.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.7.2.3.2.1.1"><xref derivedContent="7.3.1" format="counter" sectionFormat="of" target="section-7.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-address-tlvs">Address TLVs</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-malicious-pce">Malicious PCE</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-malicious-pcc">Malicious PCC</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-manageability-consideration">Manageability Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-control-of-function-and-pol">Control of Function and Policy</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-information-and-data-models">Information and Data Models</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.3">
                <t indent="0" pn="section-toc.1-1.9.2.3.1"><xref derivedContent="9.3" format="counter" sectionFormat="of" target="section-9.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-liveness-detection-and-moni">Liveness Detection and Monitoring</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.4">
                <t indent="0" pn="section-toc.1-1.9.2.4.1"><xref derivedContent="9.4" format="counter" sectionFormat="of" target="section-9.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-verify-correct-operations">Verify Correct Operations</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.5">
                <t indent="0" pn="section-toc.1-1.9.2.5.1"><xref derivedContent="9.5" format="counter" sectionFormat="of" target="section-9.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-on-other-proto">Requirements on Other Protocols</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.6">
                <t indent="0" pn="section-toc.1-1.9.2.6.1"><xref derivedContent="9.6" format="counter" sectionFormat="of" target="section-9.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-impact-on-network-operation">Impact on Network Operations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-path-setup-type-capability-">PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcecc-capability-sub-tlvs-f">PCECC-CAPABILITY Sub-TLV's Flag Field</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.3">
                <t indent="0" pn="section-toc.1-1.10.2.3.1"><xref derivedContent="10.3" format="counter" sectionFormat="of" target="section-10.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-path-setup-type-regist">PCEP Path Setup Type Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.4">
                <t indent="0" pn="section-toc.1-1.10.2.4.1"><xref derivedContent="10.4" format="counter" sectionFormat="of" target="section-10.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-object">PCEP Object</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.5">
                <t indent="0" pn="section-toc.1-1.10.2.5.1"><xref derivedContent="10.5" format="counter" sectionFormat="of" target="section-10.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cci-object-flag-field">CCI Object Flag Field</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.6">
                <t indent="0" pn="section-toc.1-1.10.2.6.1"><xref derivedContent="10.6" format="counter" sectionFormat="of" target="section-10.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-error-object">PCEP-Error Object</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <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.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="11.1" format="counter" sectionFormat="of" target="section-11.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="11.2" format="counter" sectionFormat="of" target="section-11.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The Path Computation Element (PCE) <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/> was developed to offload the
   path computation function from routers in an MPLS traffic-engineered (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. Since then, the role and function of the PCE have grown to
   cover a number of other uses (such as GMPLS <xref target="RFC7025" format="default" sectionFormat="of" derivedContent="RFC7025"/>) and to allow
   delegated 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 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">In early PCE implementations, where the PCE was used to derive paths
   for MPLS Label Switched Paths (LSPs), paths were requested by network
   elements (known as Path Computation Clients (PCCs)), and the results
   of the path computations were supplied to network elements using the
   Path Computation Element Communication Protocol (PCEP) <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.
   This protocol was later extended to allow a PCE to send unsolicited
   requests to the network for LSP establishment <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>.</t>
      <t indent="0" pn="section-1-4">The PCE was developed to derive paths for MPLS LSPs, which are supplied to the head end of the LSP using the PCEP. But SDN has a broader 
   applicability than signaled MPLS and GMPLS TE networks, and the PCE may be used to determine paths in a range
   of use cases. PCEP has been proposed 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-1-5"><xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/> introduces the architecture for the PCE as a central
   controller as an extension to the architecture described in <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/>
   and assumes the continued use of PCEP as the protocol used between the PCE and PCC. <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>  further examines the motivations and applicability
   for PCEP as a Southbound Interface (SBI) and introduces the implications for the
   protocol.  <xref target="I-D.ietf-teas-pcecc-use-cases" format="default" sectionFormat="of" derivedContent="PCECC"/> describes the use cases for
   the PCECC architecture.</t>
      <t indent="0" pn="section-1-6">A 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 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" pn="section-1-7">This document specifies the procedures and PCEP extensions for
   using the PCE as the central controller for static LSPs, where 
   LSPs can be 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 PCE-based controller 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>
      <t indent="0" pn="section-1-8">While this document is focused on the procedures for the static LSPs (referred to as the basic PCECC mode in <xref target="SEC_M" format="default" sectionFormat="of" derivedContent="Section 3"/>), the mechanisms and protocol encodings are specified in such a way that extensions for other use cases are easy to achieve. For example, the extensions for the PCECC for Segment Routing (SR) are specified in <xref target="I-D.ietf-pce-pcep-extension-pce-controller-sr" format="default" sectionFormat="of" derivedContent="PCECC-SR"/> and <xref target="I-D.dhody-pce-pcep-extension-pce-controller-srv6" format="default" sectionFormat="of" derivedContent="PCECC-SRv6"/>.</t>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">The terminology used in this document is the same as that described in the 
       <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>.</t>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-2.1-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section toc="include" anchor="SEC_M" numbered="true" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-basic-pcecc-mode">Basic PCECC Mode</name>
      <t indent="0" pn="section-3-1">In this mode, 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.</t>
      <t indent="0" pn="section-3-2"><xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/> examines the motivations and applicability for the
   PCECC and use of PCEP as an SBI. <xref target="RFC8283" sectionFormat="of" section="3.1.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8283#section-3.1.2" derivedContent="RFC8283"/> 
   highlights the use of the PCECC for label allocation along the static LSPs, and 
   it simplifies the processing of a distributed
   control plane by blending it with elements of SDN and without
   necessarily completely replacing it. This allows the operator to introduce 
   the advantages of SDN (such as programmability) into the network. Further, <xref target="I-D.ietf-teas-pcecc-use-cases" sectionFormat="of" section="3.3" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-teas-pcecc-use-cases-07#section-3.3" derivedContent="PCECC"/> describes some of the scenarios where the PCECC technique could be useful. <xref target="RFC8283" sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8283#section-4" derivedContent="RFC8283"/> 
   also describes the implications on the protocol when used as an SDN SBI. The operator needs to evaluate the advantages offered by the PCECC against the operational and scalability needs of the PCECC.  </t>
      <t indent="0" pn="section-3-3">As per <xref target="RFC8283" sectionFormat="of" section="3.1.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8283#section-3.1.2" derivedContent="RFC8283"/>, the PCE-based controller will take responsibility for
   managing some part of the MPLS label space for each of the routers
   that it controls and may take wider responsibility for partitioning
   the label space for each router and allocating different parts for
   different uses. The PCC <bcp14>MUST NOT</bcp14> make allocations from the label space set aside for the PCE to avoid overlap and collisions of label allocations. It is <bcp14>RECOMMENDED</bcp14> that the PCE makes allocations (from the label space set aside for the PCE) for all nodes along the path. For the purpose
   of this document, it is assumed that the exclusive label range to be used by a PCE
   is known and set on both PCEP peers. A future extension could add the capability to
   advertise this range via a possible PCEP extension as well (see <xref target="I-D.li-pce-controlled-id-space" format="default" sectionFormat="of" derivedContent="PCE-ID"/>). 
   The rest of the processing is similar
   to the existing stateful PCE mechanism.</t>
      <t indent="0" pn="section-3-4">This document also allows a case where the label space is maintained by the PCC and the labels are  
     allocated by it. In this case, the PCE should request the allocation from the 
     PCC, as described in <xref target="PCC" format="default" sectionFormat="of" derivedContent="Section 5.5.8"/>.</t>
    </section>
    <section toc="include" anchor="SEC_R" numbered="true" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-pcep-requirements">PCEP Requirements</name>
      <t indent="0" pn="section-4-1">The following key requirements should be considered when
   designing the PCECC-based solution:</t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4-2">
	<li pn="section-4-2.1" derivedCounter="1.">A PCEP speaker supporting this document needs to have the capability to
       advertise its PCECC capability to its peers.</li>
        <li pn="section-4-2.2" derivedCounter="2.">A PCEP speaker needs means to identify PCECC-based LSPs in the
       PCEP messages.</li>
        <li pn="section-4-2.3" derivedCounter="3.">PCEP procedures need to allow for PCC-based label allocations.</li>
        <li pn="section-4-2.4" derivedCounter="4.">PCEP procedures need to provide a means to update (or clean up) label entries downloaded to the PCC.</li>
        <li pn="section-4-2.5" derivedCounter="5.">PCEP procedures need to provide a means to synchronize the labels between
       the PCE and the PCC via PCEP messages.</li>
      </ol>
    </section>
    <section toc="include" anchor="Procedures" numbered="true" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-procedures-for-using-the-pc">Procedures for Using the PCE as a Central Controller (PCECC)</name>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-stateful-pce-model">Stateful PCE Model</name>
        <t indent="0" pn="section-5.1-1">Active stateful PCE is described in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>. A PCE
    as a Central Controller (PCECC) reuses the existing active stateful PCE
    mechanism as much as possible to control LSPs.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-new-lsp-functions">New LSP Functions</name>
        <t indent="0" pn="section-5.2-1">Several new functions are required in PCEP to support the PCECC. This document extends the
   existing messages to support the new functions required by the PCECC:</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-5.2-2">
          <dt pn="section-5.2-2.1">PCInitiate:</dt>
          <dd pn="section-5.2-2.2">A PCEP message described in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>.
          A PCInitiate message is used to set up a PCE-initiated LSP based on a PCECC mechanism. 
          It is also extended for Central Controller Instructions (CCI) (download or clean up the label-forwarding instructions in the context of this document) on all nodes along the path, as described in <xref target="SEC_PCInitiate" format="default" sectionFormat="of" derivedContent="Section 6.1"/>.</dd>
          <dt pn="section-5.2-2.3">PCRpt:</dt>
          <dd pn="section-5.2-2.4">A PCEP message described in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>.
          A PCRpt message is used to send the PCECC LSP Reports. It is also extended to report the set of CCI (label-forwarding instructions in the context of this document) received 
          from the PCE, as described in <xref target="SEC_PCRpt" format="default" sectionFormat="of" derivedContent="Section 6.2"/>. <xref target="sec_label_db_sync" format="default" sectionFormat="of" derivedContent="Section 5.5.6"/> describes the use of a PCRpt message during synchronization.</dd>
          <dt pn="section-5.2-2.5">PCUpd:</dt>
          <dd pn="section-5.2-2.6">A PCEP message described in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>.
          A PCUpd message is used to send the PCECC LSP Updates.</dd>
        </dl>
        <t indent="0" pn="section-5.2-3">The new functions defined in this document are mapped onto the PCEP messages, as
    shown in <xref target="SEC_FIG1" format="default" sectionFormat="of" derivedContent="Table 1"/>.</t>
        <table anchor="SEC_FIG1" align="center" pn="table-1">
          <name slugifiedName="name-functions-mapped-to-the-pce">Functions Mapped to the PCEP Messages</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Function</th>
              <th align="left" colspan="1" rowspan="1">Message</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">PCECC Capability advertisement </td>
              <td align="left" colspan="1" rowspan="1">Open </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Label entry Add </td>
              <td align="left" colspan="1" rowspan="1">PCInitiate </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Label entry Clean up </td>
              <td align="left" colspan="1" rowspan="1">PCInitiate </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">PCECC-Initiated LSP </td>
              <td align="left" colspan="1" rowspan="1">PCInitiate </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">PCECC LSP Update </td>
              <td align="left" colspan="1" rowspan="1">PCUpd </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">PCECC LSP State Report </td>
              <td align="left" colspan="1" rowspan="1">PCRpt </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">PCECC LSP Delegation </td>
              <td align="left" colspan="1" rowspan="1">PCRpt </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">PCECC Label Report </td>
              <td align="left" colspan="1" rowspan="1">PCRpt </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-new-pcep-object">New PCEP Object</name>
        <t indent="0" pn="section-5.3-1">This document defines a new PCEP object called CCI (<xref target="SEC_CCI" format="default" sectionFormat="of" derivedContent="Section 7.3"/>) to specify the Central Controller Instructions. In the scope of this document, this is limited to label-forwarding instructions. Future documents can create new CCI object-types for other types of Central Controller Instructions. The CC-ID is the unique identifier for the CCI in PCEP. The PCEP messages are extended in this document to handle the PCECC operations.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-pcecc-capability-advertisem">PCECC Capability Advertisement</name>
        <t indent="0" pn="section-5.4-1">During the PCEP initialization phase, PCEP speakers (PCE or PCC) advertise their support of and willingness to use PCEP extensions for the PCECC using these elements in the OPEN message:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4-2">
          <li pn="section-5.4-2.1">a new Path Setup Type (PST) (<xref target="SEC_PATH" format="default" sectionFormat="of" derivedContent="Section 7.2"/>) in the PATH-SETUP-TYPE-CAPABILITY TLV to indicate support for PCEP extensions for the PCECC - 2 (Traffic engineering path is set up using PCECC mode)</li>
          <li pn="section-5.4-2.2">a new PCECC-CAPABILITY sub-TLV (<xref target="SEC_PCECC_CAP_TLV" format="default" sectionFormat="of" derivedContent="Section 7.1.1"/>) with the L bit set to '1' inside the PATH-SETUP-TYPE-CAPABILITY TLV to indicate a willingness to use PCEP extensions for the PCECC-based Central Controller Instructions for label download</li>
          <li pn="section-5.4-2.3">the STATEFUL-PCE-CAPABILITY TLV <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> (with the I flag set <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>)</li>
        </ul>
        <t indent="0" pn="section-5.4-3">The new PST is to be listed in the PATH-SETUP-TYPE-CAPABILITY TLV by all PCEP speakers that support the PCEP extensions for the PCECC in this document.</t>
        <t indent="0" pn="section-5.4-4">The new PCECC-CAPABILITY sub-TLV is included in the PATH-SETUP-TYPE-CAPABILITY TLV in the OPEN object to indicate a willingness to use the PCEP extensions for the PCECC during the established PCEP session. Using the L bit in this TLV, the PCE shows the intention to function as a PCECC server, and the PCC shows a willingness to act as a PCECC client for label download instructions (see <xref target="SEC_PCECC_CAP_TLV" format="default" sectionFormat="of" derivedContent="Section 7.1.1"/>).</t>
        <t indent="0" pn="section-5.4-5">If the PCECC-CAPABILITY sub-TLV is advertised and the STATEFUL-PCE-CAPABILITY TLV is not advertised, or is advertised without the I flag set, in the OPEN object, the receiver <bcp14>MUST</bcp14>:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4-6">
          <li pn="section-5.4-6.1">send a PCErr message with Error-Type=19 (Invalid Operation) and Error-value=17 (Stateful PCE capability was not advertised) and</li>
          <li pn="section-5.4-6.2">terminate the session.</li>
        </ul>
        <t indent="0" pn="section-5.4-7">If a PCEP speaker receives the PATH-SETUP-TYPE-CAPABILITY TLV with the PCECC PST but without the PCECC-CAPABILITY sub-TLV, it <bcp14>MUST</bcp14>:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4-8">
          <li pn="section-5.4-8.1">send a PCErr message with Error-Type=10 (Reception of an invalid object) and Error-value=33 (Missing PCECC Capability sub-TLV) and</li>
          <li pn="section-5.4-8.2">terminate the PCEP session.</li>
        </ul>
        <t indent="0" pn="section-5.4-9">The PCECC-CAPABILITY sub-TLV <bcp14>MUST NOT</bcp14> be used without the corresponding PST being listed in the PATH-SETUP-TYPE-CAPABILITY TLV. If it is present without the corresponding PST listed in the PATH-SETUP-TYPE-CAPABILITY TLV, it <bcp14>MUST</bcp14> be ignored.</t>
        <t indent="0" pn="section-5.4-10">If one or both speakers (PCE and PCC) have not indicated support and willingness to use the PCEP extensions for the PCECC, the PCEP extensions for the PCECC <bcp14>MUST NOT</bcp14> be used. If a PCECC operation is attempted when both speakers have not agreed in the OPEN messages, the receiver of the message <bcp14>MUST</bcp14>:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4-11">
          <li pn="section-5.4-11.1">send a PCErr message with Error-Type=19 (Invalid Operation) and Error-value=16 (Attempted PCECC operations when PCECC capability was not advertised) and</li>
          <li pn="section-5.4-11.2">terminate the PCEP session.</li>
        </ul>
        <t indent="0" pn="section-5.4-12">A legacy PCEP speaker (that does not recognize the PCECC Capability sub-TLV) will ignore the sub-TLV in accordance with <xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/> and <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>. As per <xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/>, the legacy PCEP speaker, on receipt of an unsupported PST in a Request Parameter (RP) / Stateful PCE Request Parameter (SRP) object, will:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4-13">
          <li pn="section-5.4-13.1">send a PCErr message with Error-Type=21 (Invalid traffic engineering path setup type) and Error-value=1 (Unsupported path setup type) and </li>
          <li pn="section-5.4-13.2">terminate the PCEP session.</li>
        </ul>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-5.5">
        <name slugifiedName="name-lsp-operations">LSP Operations</name>
        <t indent="0" pn="section-5.5-1"> The PCEP messages pertaining to a PCECC <bcp14>MUST</bcp14> include the PATH-SETUP-TYPE
   TLV <xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/> in the SRP object <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> with the PST set to '2'
   to clearly identify that the PCECC LSP is intended.</t>
        <section toc="include" anchor="PCE-I" numbered="true" removeInRFC="false" pn="section-5.5.1">
          <name slugifiedName="name-pce-initiated-pcecc-lsp">PCE-Initiated PCECC LSP</name>
          <t indent="0" pn="section-5.5.1-1">The LSP instantiation operation is defined in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>. In order to set up a PCE-initiated LSP based on the PCECC mechanism, a PCE
    sends a PCInitiate message with the PST set to '2' for the PCECC
    (see <xref target="SEC_PATH" format="default" sectionFormat="of" derivedContent="Section 7.2"/>) to the ingress PCC.</t>
          <t indent="0" pn="section-5.5.1-2">The label-forwarding instructions (see <xref target="CCI" format="default" sectionFormat="of" derivedContent="Section 5.5.3"/>) from the PCECC are sent after the initial PCInitiate and PCRpt message exchange with the ingress PCC, as per <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> (see <xref target="SEC_FIG4" format="default" sectionFormat="of" derivedContent="Figure 1"/>). This is done so that the PCEP-specific identifier for the LSP (PLSP-ID) and other LSP identifiers can be obtained from the ingress and can be included in the label-forwarding instruction in the next set of PCInitiate messages along the path, as described below.</t>
          <t indent="0" pn="section-5.5.1-3">An LSP-IDENTIFIERS TLV <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> <bcp14>MUST</bcp14> be included for the PCECC LSPs; it uniquely identifies the LSP in the network. Note that the fields in the LSP-IDENTIFIERS TLV are described for the RSVP-signaled LSPs but are applicable to the PCECC LSP as well. The LSP object is included in the CCI (label download <xref target="SEC_CCI" format="default" sectionFormat="of" derivedContent="Section 7.3"/>) to identify the PCECC LSP for  this instruction. The PLSP-ID is the original identifier used by the ingress PCC, so a transit/egress Label Switching Router (LSR) could have multiple Central Controller Instructions that have the same PLSP-ID. The PLSP-ID in combination with the source (in the LSP-IDENTIFIERS TLV) <bcp14>MUST</bcp14> be unique. The PLSP-ID is included for maintainability reasons to ease debugging. As per <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>, the LSP object could also include the SPEAKER-ENTITY-ID TLV to identify the PCE that initiated these instructions. Also, the CC-ID is unique in each PCEP session, as described in <xref target="SEC_CCI" format="default" sectionFormat="of" derivedContent="Section 7.3"/>.</t>
          <t indent="0" pn="section-5.5.1-4">On receipt of a PCInitiate message for the PCECC LSP, the PCC responds with a PCRpt message with the status set to 'Going-up' and carrying the assigned PLSP-ID (see <xref target="SEC_FIG4" format="default" sectionFormat="of" derivedContent="Figure 1"/>). The ingress PCC also sets the D (Delegate) flag (see <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>) and C (Create) flag (see <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>) in the LSP object. When the PCE receives this PCRpt message with the PLSP-ID, it assigns labels along the path and sets up the path by sending a PCInitiate message to each node along the path of the LSP, as per the PCECC technique. The CC-ID uniquely identifies the Central Controller Instructions within a PCEP session. Each node along the path (PCC) responds with a PCRpt message to acknowledge the CCI with the PCRpt messages including the CCI and LSP objects. </t>
          <t indent="0" pn="section-5.5.1-5">The ingress node would receive one CCI object with the O bit (out-label) set. The transit node(s) would receive two CCI objects with the in-label CCI without the O bit set and the out-label CCI with the O bit set. The egress node would receive one CCI object without the O bit set (see <xref target="SEC_FIG4" format="default" sectionFormat="of" derivedContent="Figure 1"/>). A node can determine its role based on the setting of the O bit in the CCI object(s) and the LSP-IDENTIFIERS TLV in the LSP object.</t>
          <t indent="0" pn="section-5.5.1-6">The LSP deletion operation for the PCE-initiated PCECC LSP is the same as defined
    in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>. The PCE should further
    perform the label entry cleanup operation, as described in
	  <xref target="SEC_CLEANUP" format="default" sectionFormat="of" derivedContent="Section 5.5.3.2"/>, for the corresponding LSP.</t>
          <figure anchor="SEC_FIG4" align="left" suppress-title="false" pn="figure-1">
            <name slugifiedName="name-pce-initiated-pcecc-lsp-2">PCE-Initiated PCECC LSP</name>
            <artwork align="left" alt="" name="" type="" pn="section-5.5.1-7.1">
              +-------+                              +-------+
              |PCC    |                              |  PCE  |
              |ingress|                              +-------+
       +------|       |                                  |
       | PCC  +-------+                                  |
       | transit| |                                      |
+------|        | |&lt;--PCInitiate,PLSP-ID=0,PST=2---------| PCECC LSP
|PCC   +--------+ |                                      | Initiate
|egress  |  |     |----PCRpt,PLSP-ID=2,D=1,C=1----------&gt;| PCECC LSP
+--------+  |     |       (GOING-UP)                     |
    |       |     |                                      |
    |&lt;-------PCInitiate,CC-ID=X,PLSP-ID=2----------------| Label
    |       |     |                                      | download
    |--------PCRpt,CC-ID=X,PLSP-ID=2--------------------&gt;| CCI
    |       |     |                                      |
    |       |&lt;------PCInitiate,CC-ID=Y1,Y2,PLSP-ID=2-----| Label
    |       |     |                                      | download
    |       |-------PCRpt,CC-ID=Y1,Y2,PLSP-ID=2---------&gt;| CCI
    |       |     |                                      |
    |       |     |&lt;----PCInitiate,CC-ID=Z,PLSP-ID=2-----| Label
    |       |     |                                      | download
    |       |     |-----PCRpt,CC-ID=Z,PLSP-ID=2---------&gt;| CCI
    |       |     |                                      |
    |       |     |&lt;---PCUpd,PLSP-ID=2,PST=2,D=1---------| PCECC LSP
    |       |     |      (UP)                            | Update
    |       |     |----PCRpt,PLSP-ID=2,D=1,C=1----------&gt;|
    |       |     |      (UP)                            |
</artwork>
          </figure>
          <t indent="0" pn="section-5.5.1-8">Once the label operations are completed, the PCE <bcp14>MUST</bcp14> send a PCUpd message to the
    ingress PCC. As per <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, the PCUpd message is with the D flag set.</t>
          <t indent="0" pn="section-5.5.1-9">The PCECC LSPs are considered to be 'up' by default (on receipt of a PCUpd message from the PCE).
        The ingress could further choose to deploy a data-plane check
        mechanism and report the status back to the PCE via a PCRpt message to make sure that the correct label instructions are made along the path of the PCECC LSP (and it is ready to carry traffic). The exact mechanism is out of scope of this document.</t>
          <t indent="0" pn="section-5.5.1-10">In the case where the label allocations are made by the PCC itself (see <xref target="PCC" format="default" sectionFormat="of" derivedContent="Section 5.5.8"/>), the PCE could request an allocation to be made by the PCC; then, the PCC would send a PCRpt message with the allocated label encoded in  
     the CC-ID object (as shown in <xref target="SEC_FIG4b" format="default" sectionFormat="of" derivedContent="Figure 2"/>) in the configuration sequence from the egress towards the ingress along the path.</t>
          <figure anchor="SEC_FIG4b" align="left" suppress-title="false" pn="figure-2">
            <name slugifiedName="name-pce-initiated-pcecc-lsp-pcc">PCE-Initiated PCECC LSP (PCC Allocation)</name>
            <artwork align="left" alt="" name="" type="" pn="section-5.5.1-11.1">
              +-------+                              +-------+
              |PCC    |                              |  PCE  |
              |ingress|                              +-------+
       +------|       |                                  |
       | PCC  +-------+                                  |
       | transit| |                                      |
+------|        | |&lt;--PCInitiate,PLSP-ID=0,PST=2,--------| PCECC LSP
|PCC   +--------+ |                                      | Initiate
|egress  |  |     |----PCRpt,PLSP-ID=2,D=1,C=1----------&gt;| PCECC LSP
+--------+  |     |       (GOING-UP)                     |
    |       |     |                                      |
    |&lt;-------PCInitiate,CC-ID=X,PLSP-ID=2----------------| Label
    |       |     |     C=1,O=0                          | download
    |--------PCRpt,CC-ID=X,PLSP-ID=2--------------------&gt;| CCI
    |       |     |     Label=L1                         |
    |       |&lt;------PCInitiate,PLSP-ID=2,----------------| Labels
    |       |     |            CC-ID=Y1,C=1,O=0          | download
    |       |     |            CC-ID=Y2,C=0,O=1,L1       | CCI
    |       |-------PCRpt,PLSP-ID=2---------------------&gt;|
    |       |     |       CC-ID=Y1,O=0,Label=L2          |
    |       |     |       CC-ID=Y2,O=1                   |
    |       |     |&lt;----PCInitiate,CC-ID=Z,PLSP-ID=2-----| Label
    |       |     |                C=0,O=1,L2            | download
    |       |     |-----PCRpt,CC-ID=Z,PLSP-ID=2---------&gt;| CCI
    |       |     |                                      |
    |       |     |&lt;---PCUpd,PLSP-ID=2,PST=2,D=1---------| PCECC LSP
    |       |     |      (UP)                            | Update
</artwork>
          </figure>
          <t indent="0" pn="section-5.5.1-12">In this example, it should be noted that the request is made to the  
     egress node with the C bit set in the CCI object to indicate that the  
     label allocation needs to be done by the egress, and the egress responds with the 
     allocated label to the PCE.  The PCE further informs the  
     transit PCC without setting the C bit to '1' in the CCI object for the out-label, but the C bit is set to '1' for the in-label, so the transit node makes the label allocation (for the in-label) and reports to the PCE. Similarly, the C bit is unset towards the ingress to complete all the label allocations for the PCECC LSP. </t>
        </section>
        <section toc="include" anchor="SEC_BASIC_SETUP" numbered="true" removeInRFC="false" pn="section-5.5.2">
          <name slugifiedName="name-pcc-initiated-pcecc-lsp">PCC-Initiated PCECC LSP</name>
          <t indent="0" pn="section-5.5.2-1">In order to set up an LSP based on the PCECC mechanism where the LSP is configured at the PCC, a PCC <bcp14>MUST</bcp14> delegate the LSP by
    sending a PCRpt message with the PST set for the PCECC (see <xref target="SEC_PATH" format="default" sectionFormat="of" derivedContent="Section 7.2"/>) and D (Delegate)
    flag (see <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>) set in the LSP object (see <xref target="SEC_FIG2" format="default" sectionFormat="of" derivedContent="Figure 3"/>).</t>
          <t indent="0" pn="section-5.5.2-2">When a PCE receives the initial PCRpt message with the D flag and PST set to '2', it <bcp14>SHOULD</bcp14> calculate the path and assign labels along the path in addition to setting up the path by sending a PCInitiate message to each node along the path of the LSP, as per the PCECC technique (see <xref target="SEC_FIG2" format="default" sectionFormat="of" derivedContent="Figure 3"/>). The CC-ID uniquely identifies the CCI within a PCEP session. Each PCC further responds with the PCRpt messages, including the CCI and LSP objects.</t>
          <t indent="0" pn="section-5.5.2-3">Once the CCI (label operations) are completed, the PCE <bcp14>MUST</bcp14> send the PCUpd message to the
    ingress PCC. As per <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, this PCUpd message should include the path information calculated by the PCE. </t>
          <t indent="0" pn="section-5.5.2-4">Note that the PCECC LSPs <bcp14>MUST</bcp14> be delegated to a PCE at all times. </t>
          <t indent="0" pn="section-5.5.2-5">The LSP deletion operation for the PCECC LSPs
    is the same as defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>. If the PCE receives
    a PCRpt message for LSP deletion, then it does label the cleanup operation, as
    described in <xref target="SEC_CLEANUP" format="default" sectionFormat="of" derivedContent="Section 5.5.3.2"/>, for the corresponding LSP.</t>
          <t indent="0" pn="section-5.5.2-6">The basic PCECC LSP setup sequence is as shown in <xref target="SEC_FIG2" format="default" sectionFormat="of" derivedContent="Figure 3"/>.</t>
          <figure anchor="SEC_FIG2" align="left" suppress-title="false" pn="figure-3">
            <name slugifiedName="name-pcc-initiated-pcecc-lsp-2">PCC-Initiated PCECC LSP</name>
            <artwork align="left" alt="" name="" type="" pn="section-5.5.2-7.1">
               +-------+                             +-------+
               |PCC    |                             |  PCE  |
               |ingress|                             +-------+
        +------|       |                                 |
        | PCC  +-------+                                 |
        | transit| |                                     |
 +------|        | |---PCRpt,PLSP-ID=1,PST=2,D=1--------&gt;| PCECC LSP
 |PCC   +--------+ |                                     |          
 |egress  |  |     |                                     |
 +--------+  |     |                                     |
     |       |     |                                     |
     |&lt;-------PCInitiate,CC-ID=X,PLSP-ID=1---------------| Label
     |       |     |     L1,O=0                          | download
     |--------PCRpt,CC-ID=X,PLSP-ID=1-------------------&gt;| CCI
     |       |     |                                     |
     |       |&lt;------PCInitiate,PLSP-ID=1,---------------| Labels
     |       |     |            CC-ID=Y1,O=0,L2          | download
     |       |     |            CC-ID=Y2,O=1,L1          | CCI
     |       |-------PCRpt,CC-ID=Y1,Y2,PLSP-ID=1--------&gt;|
     |       |     |                                     |
     |       |     |&lt;----PCInitiate,CC-ID=Z,PLSP-ID=1----| Label
     |       |     |                L2,O=1               | download
     |       |     |-----PCRpt,CC-ID=Z,PLSP-ID=1--------&gt;| CCI
     |       |     |                                     |
     |       |     |&lt;---PCUpd,PLSP-ID=1,PST=2,D=1--------| PCECC LSP
     |       |     |                                     | Update
     |       |     |                                     |
</artwork>
          </figure>
          <t indent="0" pn="section-5.5.2-8">In the case where the label allocations are made by the PCC itself (see <xref target="PCC" format="default" sectionFormat="of" derivedContent="Section 5.5.8"/>), the PCE could request an allocation to be made by the PCC; then,	
 	   the PCC would send a PCRpt message with the allocated label encoded in	
 	   the CC-ID object, as shown in <xref target="SEC_FIG2b" format="default" sectionFormat="of" derivedContent="Figure 4"/>.</t>
          <figure anchor="SEC_FIG2b" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-pcc-initiated-pcecc-lsp-pcc">PCC-Initiated PCECC LSP (PCC Allocation)</name>
            <artwork align="left" alt="" name="" type="" pn="section-5.5.2-9.1">
               +-------+                             +-------+
               |PCC    |                             |  PCE  |
               |ingress|                             +-------+
        +------|       |                                 |
        | PCC  +-------+                                 |
        | transit| |                                     |
 +------|        | |---PCRpt,PLSP-ID=1,PST=2,D=1--------&gt;| PCECC LSP
 |PCC   +--------+ |                                     |          
 |egress  |  |     |                                     |
 +--------+  |     |                                     |
     |       |     |                                     |
     |&lt;-------PCInitiate,CC-ID=X,PLSP-ID=1---------------| Label
     |       |     |     C=1                             | download
     |--------PCRpt,CC-ID=X,PLSP-ID=1-------------------&gt;| CCI
     |       |     |     Label=L1                        |
     |       |&lt;------PCInitiate,PLSP-ID=1,---------------| Labels
     |       |     |            CC-ID=Y1,C=1             | download
     |       |     |            CC-ID=Y2,C=0,L1          | CCI
     |       |-------PCRpt,PLSP-ID=1--------------------&gt;|
     |       |     |       CC-ID=Y1,Label=L2             |
     |       |     |       CC-ID=Y2                      |
     |       |     |&lt;----PCInitiate,CC-ID=Z,PLSP-ID=1----| Label
     |       |     |                C=0,L2               | download
     |       |     |-----PCRpt,CC-ID=Z,PLSP-ID=1--------&gt;| CCI
     |       |     |                                     |
     |       |     |&lt;---PCUpd,PLSP-ID=1,PST=2,D=1--------| PCECC LSP
     |       |     |                                     | Update
     |       |     |                                     |
</artwork>
          </figure>
          <aside pn="section-5.5.2-10">
            <t indent="0" pn="section-5.5.2-10.1">Note:</t>
            <t indent="0" pn="section-5.5.2-10.2">The O bit is set as before (and thus not included).</t>
          </aside>
          <t indent="0" pn="section-5.5.2-11">In the case where the label allocations are made by the PCC itself (see <xref target="PCC" format="default" sectionFormat="of" derivedContent="Section 5.5.8"/>), the procedure remains the same, with just an additional
 constraint on the configuration sequence.</t>
          <t indent="0" pn="section-5.5.2-12">The rest of the PCC-initiated PCECC LSP setup operations are the same as those described in <xref target="PCE-I" format="default" sectionFormat="of" derivedContent="Section 5.5.1"/>.</t>
        </section>
        <section toc="include" anchor="CCI" numbered="true" removeInRFC="false" pn="section-5.5.3">
          <name slugifiedName="name-central-controller-instruct">Central Controller Instructions</name>
          <t indent="0" pn="section-5.5.3-1">The new CCI for the label operations in PCEP are done via the PCInitiate message (<xref target="SEC_PCInitiate" format="default" sectionFormat="of" derivedContent="Section 6.1"/>) by
   defining a new PCEP object for CCI operations. The local label range of
   each PCC is assumed to be known by both the PCC and the PCE. </t>
          <section toc="include" anchor="LabelDownloadCCI" numbered="true" removeInRFC="false" pn="section-5.5.3.1">
            <name slugifiedName="name-label-download-cci">Label Download CCI</name>
            <t indent="0" pn="section-5.5.3.1-1">In order to set up an LSP based on the PCECC, the PCE sends a PCInitiate message
    to each node along the path to download the label instructions, as described in Sections <xref target="PCE-I" format="counter" sectionFormat="of" derivedContent="5.5.1"/> and 
    <xref target="SEC_BASIC_SETUP" format="counter" sectionFormat="of" derivedContent="5.5.2"/>.
            </t>
            <t indent="0" pn="section-5.5.3.1-2">The CCI object <bcp14>MUST</bcp14> be included, along with the LSP object in the PCInitiate message. The LSP-IDENTIFIERS TLV <bcp14>MUST</bcp14> be included in the LSP object. The SPEAKER-ENTITY-ID TLV
<bcp14>SHOULD</bcp14> be included in the LSP object.</t>
            <t indent="0" pn="section-5.5.3.1-3">If a node (PCC) receives a PCInitiate message that includes a label to download (as part of CCI) that is out
    	of the range set aside for the PCE, it <bcp14>MUST</bcp14> send a PCErr message with Error-Type=31
   (PCECC failure) and Error-value=1 (Label out of range) and <bcp14>MUST</bcp14> include the
   SRP object to specify the error is for the corresponding label update via a PCInitiate message.
    If a PCC receives a PCInitiate message but fails to download
   the label entry, it <bcp14>MUST</bcp14> send a PCErr message with Error-Type=31
   (PCECC failure) and Error-value=2 (Instruction failed) and <bcp14>MUST</bcp14> include the
   SRP object to specify the error is for the corresponding label update via a PCInitiate message.</t>
            <t indent="0" pn="section-5.5.3.1-4">A new PCEP object for CCI is defined in <xref target="SEC_CCI" format="default" sectionFormat="of" derivedContent="Section 7.3"/>.</t>
          </section>
          <section toc="include" anchor="SEC_CLEANUP" numbered="true" removeInRFC="false" pn="section-5.5.3.2">
            <name slugifiedName="name-label-cleanup-cci">Label Cleanup CCI</name>
            <t indent="0" pn="section-5.5.3.2-1">In order to delete an LSP based on the PCECC, the PCE sends Central Controller Instructions via a PCInitiate
    message to each node along the path of the LSP to clean up the label-forwarding instruction. 
            </t>
            <t indent="0" pn="section-5.5.3.2-2">If the PCC receives a PCInitiate message but does not recognize the
   label in the CCI, the PCC <bcp14>MUST</bcp14> generate a PCErr message with Error-Type=19 (Invalid operation) and Error-value=18 (Unknown Label) and 
   <bcp14>MUST</bcp14> include the SRP object to specify the error is for the
   corresponding label cleanup (via a PCInitiate message).
            </t>
            <t indent="0" pn="section-5.5.3.2-3">The R flag in the SRP object defined in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> specifies
    the deletion of the label entry in the PCInitiate message.</t>
            <figure anchor="SEC_FIG3" align="left" suppress-title="false" pn="figure-5">
              <name slugifiedName="name-label-cleanup">Label Cleanup</name>
              <artwork align="left" alt="" name="" type="" pn="section-5.5.3.2-4.1">
               +-------+                              +-------+
               |PCC    |                              |  PCE  |
               |ingress|                              +-------+
        +------|       |                                  |
        | PCC  +-------+                                  |
        | transit| |                                      |
 +------|        | |                                      | 
 |PCC   +--------+ |                                      | 
 |egress  |  |     |                                      |
 +--------+  |     |                                      |
     |       |     |                                      |
     |&lt;-------PCInitiate,CC-ID=X,PLSP-ID=2----------------| Label
     |       |     |                   R=1                | cleanup
     |--------PCRpt,CC-ID=X,PLSP-ID=2--------------------&gt;| CCI
     |       |     |              R=1                     |
     |       |&lt;------PCInitiate,CC-ID=Y1,Y2,PLSP-ID=2-----| Label
     |       |     |                          R=1         | cleanup
     |       |-------PCRpt,CC-ID=Y1,Y2,PLSP-ID=2---------&gt;| CCI
     |       |     |                         R=1          |
     |       |     |&lt;----PCInitiate,CC-ID=Z,PLSP-ID=2-----| Label
     |       |     |                              R=1     | cleanup
     |       |     |-----PCRpt,CC-ID=Z,PLSP-ID=2---------&gt;| CCI
     |       |     |                         R=1          |
     |       |     |&lt;--PCInitiate,PLSP-ID=2,PST=2,R=1-----| PCECC LSP
     |       |     |                                      | remove
</artwork>
            </figure>
            <t indent="0" pn="section-5.5.3.2-5">As per <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>, following the removal of the label-forwarding instruction, the PCC <bcp14>MUST</bcp14> send a PCRpt message. 
        The SRP object in the PCRpt message <bcp14>MUST</bcp14> include the
   SRP-ID-number from the PCInitiate message that triggered the removal.
   The R flag in the SRP object <bcp14>MUST</bcp14> be set.</t>
            <t indent="0" pn="section-5.5.3.2-6">In the case where the label allocation is made by the PCC itself (see <xref target="PCC" format="default" sectionFormat="of" derivedContent="Section 5.5.8"/>), the removal procedure remains the same, adding the sequence constraint.</t>
          </section>
        </section>
        <section toc="include" numbered="true" removeInRFC="false" pn="section-5.5.4">
          <name slugifiedName="name-pcecc-lsp-update">PCECC LSP Update</name>
          <t indent="0" pn="section-5.5.4-1">The update is done as per the make-before-break procedures, i.e., the PCECC first updates new label instructions based on the updated path and then informs the ingress to switch traffic before cleaning up the former instructions. New CC-IDs are used to identify the updated instructions; the identifiers in the LSP object uniquely identify the existing LSP. Once new instructions are downloaded, the PCE further updates the new path at the ingress, which triggers the traffic switch on the updated path. The ingress PCC acknowledges with a PCRpt message, on receipt of the PCRpt message, the PCE does the cleanup operation for the former LSP, as described in <xref target="SEC_CLEANUP" format="default" sectionFormat="of" derivedContent="Section 5.5.3.2"/>.</t>
          <figure anchor="SEC_FIG5" align="left" suppress-title="false" pn="figure-6">
            <name slugifiedName="name-pcecc-lsp-update-2">PCECC LSP Update</name>
            <artwork align="left" alt="" name="" type="" pn="section-5.5.4-2.1">
              +-------+                             +-------+
              |PCC    |                             |  PCE  |
              |ingress|                             +-------+
       +------|       |                                 |
       | PCC  +-------+                                 |
       | transit| |                                     |
+------|        | |                                     |
|PCC   +--------+ |                                     |
|egress  |  |     |                                     |
+--------+  |     |                                     |
    |       |     |                                     | New Path 
    |&lt;------ PCInitiate,CC-ID=XX,PLSP-ID=1 -------------| for LSP 
    |       |     |                                     | trigger 
    |--------PCRpt,CC-ID=XX,PLSP-ID=1------------------&gt;| new CCI
    |       |     |                                     |
    |       |&lt;------PCInitiate,CC-ID=YY1,YY2,PLSP-ID=1--| Label
    |       |     |                                     | download
    |       |-------PCRpt,CC-ID=YY1,YY2,PLSP-ID=1------&gt;| CCI
    |       |     |                                     |
    |       |     |&lt;----PCInitiate,CC-ID=ZZ,PLSP-ID=1---| Label
    |       |     |                                     | download
    |       |     |-----PCRpt,CC-ID=ZZ,PLSP-ID=1-------&gt;| CCI
    |       |     |                                     |
    |       |     |&lt;---PCUpd,PLSP-ID=1,PST=2,D=1--------| PCECC
    |       |     |    SRP=S                            | LSP Update
    |       |     |                                     |
    |       |     |---PCRpt,PLSP-ID=1,PST=2,D=1--------&gt;| Trigger
    |       |     |       (SRP=S)                       | Delete 
    |       |     |                                     | former CCI
    |       |     |                                     |  
    |&lt;-------PCInitiate,CC-ID=X,PLSP-ID=1---------------| Label
    |       |     |                   R=1               | cleanup
    |--------PCRpt,CC-ID=X,PLSP-ID=1-------------------&gt;| CCI
    |       |     |              R=1                    |
    |       |&lt;------PCInitiate,CC-ID=Y1,Y2,PLSP-ID=1----| Label
    |       |     |                              R=1    | cleanup
    |       |-------PCRpt,CC-ID=Y1,Y2,PLSP-ID=1--------&gt;| CCI
    |       |     |                         R=1         |
    |       |     |&lt;----PCInitiate,CC-ID=Z,PLSP-ID=1----| Label
    |       |     |                              R=1    | cleanup
    |       |     |-----PCRpt,CC-ID=Z,PLSP-ID=1--------&gt;| CCI
    |       |     |                         R=1         |     
</artwork>
          </figure>
          <t indent="0" pn="section-5.5.4-3">The modified PCECC LSPs are considered to be 'up' by default.
        The ingress could further choose to deploy a data-plane check
        mechanism and report the status back to the PCE via a PCRpt message. The exact mechanism is out of scope of this document.</t>
          <t indent="0" pn="section-5.5.4-4">In the case where the label allocations are made by the PCC itself (see <xref target="PCC" format="default" sectionFormat="of" derivedContent="Section 5.5.8"/>), the procedure remains the same.</t>
        </section>
        <section toc="include" numbered="true" removeInRFC="false" pn="section-5.5.5">
          <name slugifiedName="name-re-delegation-and-cleanup">Re-delegation and Cleanup</name>
          <t indent="0" pn="section-5.5.5-1">As described in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>, a new PCE can gain control over an orphaned LSP. In the case of a PCECC LSP, the new PCE <bcp14>MUST</bcp14> also gain control over the CCI in the same way by sending a PCInitiate
   message that includes the SRP, LSP, and CCI objects and carries the
   CC-ID and PLSP-ID identifying the instructions that it wants to take control of. </t>
          <t indent="0" pn="section-5.5.5-2">Further, as described in <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>, the State Timeout Interval timer ensures that a PCE crash does not
   result in automatic and immediate disruption for the services using
   PCE-initiated LSPs. Similarly the Central Controller Instructions are not removed immediately
   upon PCE failure.  Instead, they are cleaned up on the expiration of
   this timer. This allows for network cleanup without manual
   intervention. The PCC <bcp14>MUST</bcp14> support the removal of CCI as
   one of the behaviors applied on expiration of the State Timeout
   Interval timer.</t>
          <t indent="0" pn="section-5.5.5-3">In the case of the PCC-initiated PCECC LSP, the control over the orphaned LSP at the ingress PCC is taken over by the mechanism specified in <xref target="RFC8741" format="default" sectionFormat="of" derivedContent="RFC8741"/> to request delegation. The control over the CCI is described above using <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>.</t>
        </section>
        <section toc="include" anchor="sec_label_db_sync" numbered="true" removeInRFC="false" pn="section-5.5.6">
          <name slugifiedName="name-synchronization-of-central-">Synchronization of Central Controller Instructions</name>
          <t indent="0" pn="section-5.5.6-1">The purpose of CCI synchronization (labels in the context of this document) is to make sure that the
   PCE's view of CCI (labels) matches with the PCC's label allocation. 
   This synchronization is performed as part of the LSP State Synchronization,
   as described in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> and 
   <xref target="RFC8232" format="default" sectionFormat="of" derivedContent="RFC8232"/>.</t>
          <t indent="0" pn="section-5.5.6-2">As per LSP State Synchronization <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, a PCC reports the state of
   its LSPs to the PCE using PCRpt messages and, as per <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>, the PCE would 
   initiate any missing LSPs and/or remove any LSPs that are not wanted. The same PCEP messages and procedures are 
   also used for the CCI synchronization. The PCRpt message includes the CCI and the LSP object to report the label-forwarding instructions. The PCE would further 
   remove any unwanted instructions or initiate any missing instructions.</t>
        </section>
        <section toc="include" numbered="true" removeInRFC="false" pn="section-5.5.7">
          <name slugifiedName="name-pcecc-lsp-state-report">PCECC LSP State Report</name>
          <t indent="0" pn="section-5.5.7-1">As mentioned before, an ingress PCC <bcp14>MAY</bcp14> choose to apply any Operations, Administration, and Maintenance (OAM) mechanism to check the status
    of the LSP in the data plane and <bcp14>MAY</bcp14> further send its status in a PCRpt message to the PCE. </t>
        </section>
        <section toc="include" anchor="PCC" numbered="true" removeInRFC="false" pn="section-5.5.8">
          <name slugifiedName="name-pcc-based-allocations">PCC-Based Allocations</name>
          <t indent="0" pn="section-5.5.8-1">
             The PCE can request the PCC to allocate the label using the 
     PCInitiate message.  The C flag in the  
     CCI object is set to '1' to indicate that the allocation needs to be made by the PCC.  
     The PCC <bcp14>MUST</bcp14> try to allocate the label and <bcp14>MUST</bcp14> report to the PCE via a PCRpt or PCErr message.
          </t>
          <t indent="0" pn="section-5.5.8-2">If the value of the label is 0 and the C flag is set to '1', it  
     indicates that the PCE is requesting the allocation to be made by the PCC.  If the 
     label is 'n' and the C flag is set to '1' in the CCI object, it 
     indicates that the PCE requests a specific value 'n' for the label. 
     If  
     the allocation is successful, the PCC <bcp14>MUST</bcp14> report  
     via the PCRpt message with the CCI object.  If the value of the label in the CCI object is invalid, it <bcp14>MUST</bcp14> send a PCErr message with Error-Type=31 (PCECC failure) and Error-value=3 (Invalid CCI).  If  
     it is valid but the PCC is unable to  
     allocate it, it <bcp14>MUST</bcp14> send a PCErr message with Error-Type=31 (PCECC failure) and Error-value=4 (Unable to 
     allocate the specified CCI).
          </t>
          <t indent="0" pn="section-5.5.8-3">If the PCC wishes to withdraw or modify the previously assigned label, it <bcp14>MUST</bcp14> send a PCRpt message without any label
     or with the label containing the new value, respectively, in 
     the CCI object.  The PCE would further trigger the label cleanup of the older label, as per <xref target="SEC_CLEANUP" format="default" sectionFormat="of" derivedContent="Section 5.5.3.2"/>.</t>
        </section>
      </section>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-pcep-messages">PCEP Messages</name>
      <t indent="0" pn="section-6-1">As defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, a PCEP message consists of a common header
   followed by a variable-length body made of a set of objects that can
   be either mandatory or optional.  An object is said to be mandatory
   in a PCEP message when the object must be included for the message to
   be considered valid.  For each PCEP message type, a set of rules is
   defined, which specifies the set of objects that the message can carry.
   An implementation <bcp14>MUST</bcp14> form the PCEP messages using the object
   ordering specified in this document.</t>
      <t indent="0" pn="section-6-2">The LSP-IDENTIFIERS TLV <bcp14>MUST</bcp14> be included in the LSP object for the PCECC
   LSP.</t>
      <t indent="0" pn="section-6-3">The message formats in this document are specified using Routing
   Backus-Naur Form (RBNF) encoding, as specified in <xref target="RFC5511" format="default" sectionFormat="of" derivedContent="RFC5511"/>.</t>
      <section toc="include" anchor="SEC_PCInitiate" numbered="true" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-the-pcinitiate-message">The PCInitiate Message</name>
        <t indent="0" pn="section-6.1-1">The PCInitiate message <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> can be used to download or remove the labels; this document extends the message, as shown below.</t>
        <sourcecode type="" markers="false" pn="section-6.1-2">
     &lt;PCInitiate Message&gt; ::= &lt;Common Header&gt;
                              &lt;PCE-initiated-lsp-list&gt;
</sourcecode>
        <t indent="0" pn="section-6.1-3">Where:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6.1-4">
          <li pn="section-6.1-4.1">&lt;Common Header&gt; is defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.</li>
        </ul>
        <sourcecode type="" markers="false" pn="section-6.1-5">
     &lt;PCE-initiated-lsp-list&gt; ::= &lt;PCE-initiated-lsp-request&gt;
                                  [&lt;PCE-initiated-lsp-list&gt;]

     &lt;PCE-initiated-lsp-request&gt; ::=
                            (&lt;PCE-initiated-lsp-instantiation&gt;|
                             &lt;PCE-initiated-lsp-deletion&gt;|
                             &lt;PCE-initiated-lsp-central-control&gt;)

     &lt;PCE-initiated-lsp-central-control&gt; ::= &lt;SRP&gt;
                                             &lt;LSP&gt;
                                             &lt;cci-list&gt;

     &lt;cci-list&gt; ::=  &lt;CCI&gt;
                     [&lt;cci-list&gt;]
</sourcecode>
        <t indent="0" pn="section-6.1-6">Where:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6.1-7">
          <li pn="section-6.1-7.1">&lt;PCE-initiated-lsp-instantiation&gt; and 
     &lt;PCE-initiated-lsp-deletion&gt; are as per 
      <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>.</li>
          <li pn="section-6.1-7.2">The LSP and SRP object is defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>.</li>
        </ul>
        <t indent="0" pn="section-6.1-8">When a PCInitiate message is used for the CCI (labels), the SRP, LSP, and CCI objects <bcp14>MUST</bcp14> be present. 
        The SRP object is defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>; if the SRP object is missing, the receiving PCC <bcp14>MUST</bcp14> send
    a PCErr message with Error-Type=6 (Mandatory Object missing) and
    Error-value=10 (SRP object missing). The LSP object is defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, and if the LSP object is missing, the receiving PCC <bcp14>MUST</bcp14> send
    a PCErr message with Error-Type=6 (Mandatory Object missing) and
    Error-value=8 (LSP object missing). The CCI object is defined in <xref target="SEC_CCI" format="default" sectionFormat="of" derivedContent="Section 7.3"/>, and if the CCI object is
    missing, the receiving PCC <bcp14>MUST</bcp14> send a PCErr message with Error-Type=6
    (Mandatory Object missing) and Error-value=17 (CCI object missing).
    More than one CCI object <bcp14>MAY</bcp14> be included in the PCInitiate message
    for a transit LSR.</t>
        <t indent="0" pn="section-6.1-9">To clean up entries, the R (remove) bit <bcp14>MUST</bcp14> be set in the SRP object to be encoded along with the LSP and CCI objects.</t>
        <t indent="0" pn="section-6.1-10">The CCI object received at the ingress node <bcp14>MUST</bcp14> have the O bit (out-label) set. The CCI object received at the egress <bcp14>MUST</bcp14> have the O bit unset. If this is not the case, the PCC <bcp14>MUST</bcp14> send a PCErr message with Error-Type=31 (PCECC failure) and Error-value=3 (Invalid CCI). Other instances of the CCI object, if present, <bcp14>MUST</bcp14> be ignored.</t>
        <t indent="0" pn="section-6.1-11">For the point-to-point (P2P) LSP setup via the PCECC technique, at the transit LSR, two CCI objects are expected for incoming and outgoing labels associated with the LSP object. If any other CCI object is included in the PCInitiate message, it <bcp14>MUST</bcp14> be ignored. If the transit LSR did not receive two CCI objects, with one of them having the O bit set and another with the O bit unset, it <bcp14>MUST</bcp14> send a PCErr message with Error-Type=31 (PCECC failure) and Error-value=3 (Invalid CCI).</t>
        <t indent="0" pn="section-6.1-12">Note that, on receipt of the PCInitiate message with CCI object, the ingress, egress, or transit role of the PCC is identified via the ingress and egress IP address encoded in the LSP-IDENTIFIERS TLV.</t>
      </section>
      <section toc="include" anchor="SEC_PCRpt" numbered="true" removeInRFC="false" pn="section-6.2">
        <name slugifiedName="name-the-pcrpt-message">The PCRpt Message</name>
        <t indent="0" pn="section-6.2-1">The PCRpt message can be used to report the labels that were allocated by the PCE to be used during the State Synchronization phase or as an acknowledgment to a PCInitiate message.
        </t>
        <sourcecode type="" markers="false" pn="section-6.2-2">
      &lt;PCRpt Message&gt; ::= &lt;Common Header&gt;
                          &lt;state-report-list&gt;
</sourcecode>
        <t indent="0" pn="section-6.2-3">Where:</t>
        <sourcecode type="" markers="false" pn="section-6.2-4">
      &lt;state-report-list&gt; ::= &lt;state-report&gt;[&lt;state-report-list&gt;]

      &lt;state-report&gt; ::= (&lt;lsp-state-report&gt;|
                          &lt;central-control-report&gt;)

      &lt;lsp-state-report&gt; ::= [&lt;SRP&gt;]
                             &lt;LSP&gt;
                             &lt;path&gt;

      &lt;central-control-report&gt; ::= [&lt;SRP&gt;]
                                   &lt;LSP&gt;
                                   &lt;cci-list&gt;

      &lt;cci-list&gt; ::=  &lt;CCI&gt;
                      [&lt;cci-list&gt;]
</sourcecode>
        <t indent="0" pn="section-6.2-5">Where:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6.2-6">
          <li pn="section-6.2-6.1">&lt;path&gt; is as per <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, and the LSP and SRP objects are 
      also defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>.</li>
        </ul>
        <t indent="0" pn="section-6.2-7">When a PCRpt message is used to report the CCI (labels), the LSP and CCI objects <bcp14>MUST</bcp14> be present. 
        The LSP object is defined in <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, and if the LSP object is missing, the receiving PCE <bcp14>MUST</bcp14> send
    a PCErr message with Error-Type=6 (Mandatory Object missing) and
    Error-value=8 (LSP object missing). The CCI object is defined in <xref target="SEC_CCI" format="default" sectionFormat="of" derivedContent="Section 7.3"/>, and if the CCI object is
    missing, the receiving PCE <bcp14>MUST</bcp14> send a PCErr message with Error-Type=6
    (Mandatory Object missing) and Error-value=17 (CCI object missing).
    Two CCI objects can be included in the PCRpt message
    for a transit LSR.</t>
      </section>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-pcep-objects">PCEP Objects</name>
      <t indent="0" pn="section-7-1">The PCEP objects defined in this document are compliant with the PCEP object
    format defined in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.
      </t>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-7.1">
        <name slugifiedName="name-open-object">OPEN Object</name>
        <t indent="0" pn="section-7.1-1">This document defines a new PST (2) to be included in the PATH-SETUP-TYPE-CAPABILITY TLV in the OPEN object. Further, a new sub-TLV for the PCECC capability exchange is also defined.</t>
        <section toc="include" anchor="SEC_PCECC_CAP_TLV" numbered="true" removeInRFC="false" pn="section-7.1.1">
          <name slugifiedName="name-pcecc-capability-sub-tlv">PCECC Capability Sub-TLV</name>
          <t indent="0" pn="section-7.1.1-1">The PCECC-CAPABILITY sub-TLV is an optional TLV for use in the OPEN object in the PATH-SETUP-TYPE-CAPABILITY TLV when the Path Setup Type list includes the PCECC Path Setup Type 2. A PCECC-CAPABILITY sub-TLV <bcp14>MUST</bcp14> be ignored if the PST list does not contain PST=2.</t>
          <t indent="0" pn="section-7.1.1-2">Its format is shown in <xref target="SEC_FIG8" format="default" sectionFormat="of" derivedContent="Figure 7"/>.</t>
          <figure anchor="SEC_FIG8" align="left" suppress-title="false" pn="figure-7">
            <name slugifiedName="name-pcecc-capability-sub-tlv-2">PCECC Capability Sub-TLV</name>
            <artwork align="left" alt="" name="" type="" pn="section-7.1.1-3.1">
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               Type=1          |          Length=4             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Flags                           |L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          </figure>
          <t indent="0" pn="section-7.1.1-4">The type of the TLV is 1, and it has a fixed length of 4 octets.</t>
          <t indent="0" pn="section-7.1.1-5">The value comprises a single field: Flags (32 bits).
      Currently, the following flag bit is
    defined: </t>
          <dl newline="false" spacing="normal" indent="3" pn="section-7.1.1-6">
            <dt pn="section-7.1.1-6.1">L bit (Label):</dt>
            <dd pn="section-7.1.1-6.2">If set to '1' by a PCEP speaker, the L flag
      indicates that the PCEP speaker will support and is willing to handle the PCEC-based Central Controller Instructions for label download. The bit <bcp14>MUST</bcp14> be set to '1' by both a PCC and a PCE for the PCECC label download/report on a PCEP session.</dd>
          </dl>
          <t indent="0" pn="section-7.1.1-7">Unassigned bits <bcp14>MUST</bcp14> be set to '0' on
    transmission and <bcp14>MUST</bcp14> be ignored on receipt.</t>
        </section>
      </section>
      <section toc="include" anchor="SEC_PATH" numbered="true" removeInRFC="false" pn="section-7.2">
        <name slugifiedName="name-path-setup-type-tlv">PATH-SETUP-TYPE TLV</name>
        <t indent="0" pn="section-7.2-1">The PATH-SETUP-TYPE TLV is defined in <xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/>;
      this document defines a new PST value:
        </t>
        <dl newline="false" spacing="normal" indent="3" pn="section-7.2-2">
          <dt pn="section-7.2-2.1">PST=2:</dt>
          <dd pn="section-7.2-2.2">Path is set up via the PCECC mode.</dd>
        </dl>
        <t indent="0" pn="section-7.2-3">On a PCRpt/PCUpd/PCInitiate message, the PST=2 in the PATH-SETUP-TYPE TLV
   in the SRP object <bcp14>MUST</bcp14> be included for an LSP set up via the PCECC-based mechanism.</t>
      </section>
      <section toc="include" anchor="SEC_CCI" numbered="true" removeInRFC="false" pn="section-7.3">
        <name slugifiedName="name-cci-object">CCI Object</name>
        <t indent="0" pn="section-7.3-1">The CCI object is used by the PCE to specify the forwarding instructions (label information in the context of this document) to the PCC and
    <bcp14>MAY</bcp14> be carried within a PCInitiate or PCRpt message for label download/report.</t>
        <t indent="0" pn="section-7.3-2">CCI Object-Class is 44.</t>
        <t indent="0" pn="section-7.3-3">CCI Object-Type is 1 for the MPLS label.</t>
        <figure anchor="SEC_FIG9" align="left" suppress-title="false" pn="figure-8">
          <name slugifiedName="name-cci-object-2">CCI Object</name>
          <artwork align="left" alt="" name="" type="" pn="section-7.3-4.1">
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            CC-ID                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Reserved1            |             Flags         |C|O|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Label                 |     Reserved2         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
//                        Optional TLV                         //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        </figure>
        <t indent="0" pn="section-7.3-5">The fields in the CCI object are as follows:
        </t>
        <dl newline="false" spacing="normal" indent="3" pn="section-7.3-6">
          <dt pn="section-7.3-6.1">CC-ID:</dt>
          <dd pn="section-7.3-6.2"> A PCEP-specific identifier for the CCI
   information.  A PCE creates a CC-ID for each instruction; the value is
   unique within the scope of the PCE and is constant for the lifetime
   of a PCEP session.  The values 0 and 0xFFFFFFFF are reserved
   and <bcp14>MUST NOT</bcp14> be used. Note
   that <xref target="I-D.gont-numeric-ids-sec-considerations" format="default" sectionFormat="of" derivedContent="SECURITY-ID"/> gives advice on
   assigning transient numeric identifiers, such as the CC-ID, so as to
   minimize security risks.</dd>
          <dt pn="section-7.3-6.3">Reserved1 (16 bit):</dt>
          <dd pn="section-7.3-6.4">Set to 'zero' while sending; ignored on receipt.</dd>
          <dt pn="section-7.3-6.5">Flags (16 bit):</dt>
          <dd pn="section-7.3-6.6">
            <t indent="0" pn="section-7.3-6.6.1"> A field used to carry any additional information
    pertaining to the CCI. Currently, the following flag bits are
    defined: </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.3-6.6.2">
              <li pn="section-7.3-6.6.2.1">O bit (out-label) : If the bit is set to '1', it specifies the label is
    the out-label, and it is mandatory to encode the next-hop
    information (via Address TLVs (<xref target="AddressTLVs" format="default" sectionFormat="of" derivedContent="Section 7.3.1"/>) in
    the CCI object). If the bit is not set, it specifies the label is
    the in-label, and it is optional to encode the local interface
    information (via Address TLVs in
    the CCI object).</li>
              <li pn="section-7.3-6.6.2.2">C Bit (PCC allocation): If the bit is set to '1', it indicates that 
        the label allocation needs to be done by the PCC for the Central 
        Controller Instruction.  A PCE sets this bit to request the PCC to 
        make an allocation from its label space.  A PCC would set 
        this bit to indicate that it has allocated the label and report it  
        to the PCE.</li>
              <li pn="section-7.3-6.6.2.3">All unassigned bits <bcp14>MUST</bcp14> be set to 'zero' at transmission and ignored at receipt.</li>
            </ul>
          </dd>
          <dt pn="section-7.3-6.7">Label (20-bit):</dt>
          <dd pn="section-7.3-6.8">The label information.</dd>
          <dt pn="section-7.3-6.9">Reserved2 (12 bit):</dt>
          <dd pn="section-7.3-6.10">Set to 'zero' while sending; ignored on receive.</dd>
        </dl>
        <section toc="include" anchor="AddressTLVs" numbered="true" removeInRFC="false" pn="section-7.3.1">
          <name slugifiedName="name-address-tlvs">Address TLVs</name>
          <t indent="0" pn="section-7.3.1-1"><xref target="RFC8779" format="default" sectionFormat="of" derivedContent="RFC8779"/> defines the IPV4-ADDRESS, IPV6-ADDRESS, and UNNUMBERED-ENDPOINT TLVs for the use of Generalized Endpoint. The same TLVs can also be used in the CCI object to
    associate the next-hop information in the case of an outgoing label and
    local interface information in the case of an incoming label. The next-hop information encoded in these TLVs needs to be a directly connected IP address/interface information. If the PCC is not able to resolve the next-hop information, it <bcp14>MUST</bcp14> reject the CCI and respond with a PCErr message with Error-Type=31 (PCECC failure) and Error-value=5 (Invalid next-hop information).</t>
        </section>
      </section>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-1">As per <xref target="RFC8283" format="default" sectionFormat="of" derivedContent="RFC8283"/>, the security considerations for a PCE-based controller are a little
   different from those for any other PCE system.  That is, the
   operation relies heavily on the use and security of PCEP, so
   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 for
   interception and modification of messages sent to individual Network Elements (NEs).</t>
      <t indent="0" pn="section-8-2">In the PCECC operations, the PCEP sessions are also required to the internal routers, thus increasing the resources required for the session management at the PCE. </t>
      <t indent="0" pn="section-8-3">The PCECC extension builds on the existing PCEP messages; thus, the security considerations described in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, and 
       <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> continue to apply. <xref target="RFC8253" format="default" sectionFormat="of" derivedContent="RFC8253"/> specifies the support of Transport Layer Security (TLS) in PCEP, 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. 
       Additional considerations are discussed in following sections.</t>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-8.1">
        <name slugifiedName="name-malicious-pce">Malicious PCE</name>
        <t indent="0" pn="section-8.1-1">In this extension, the PCE has complete control over the PCC to download/remove the labels and can
   cause the LSPs to behave inappropriately and cause a major impact
   to the network. As a general precaution, it is <bcp14>RECOMMENDED</bcp14> that
   this PCEP extension be activated on mutually authenticated and encrypted
   sessions across PCEs and PCCs belonging to the same administrative
   authority, using TLS <xref target="RFC8253" format="default" sectionFormat="of" derivedContent="RFC8253"/>,
   as per the recommendations and best current practices in BCP 195 <xref target="RFC7525" format="default" sectionFormat="of" derivedContent="RFC7525"/>. </t>
        <t indent="0" pn="section-8.1-2">Further, an attacker may flood the PCC
   with the PCECC-related messages at a rate that exceeds either the PCC's ability
   to process them or the network's ability to send them, by
   either spoofing messages or compromising the PCE itself. <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/> provides a mechanism to protect the PCC by imposing a limit. The same can be used for the PCECC operations as well.</t>
        <t indent="0" pn="section-8.1-3">As specified in <xref target="LabelDownloadCCI" format="default" sectionFormat="of" derivedContent="Section 5.5.3.1"/>, a PCC needs to check if the label in the CCI object is in the range set aside for the PCE; otherwise, it <bcp14>MUST</bcp14> send a PCErr message with Error-Type=31
   (PCECC failure) and Error-value=1 (Label out of range).</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-8.2">
        <name slugifiedName="name-malicious-pcc">Malicious PCC</name>
        <t indent="0" pn="section-8.2-1">The PCECC mechanism described in this document requires
   the PCE to keep labels (CCI) that it downloads and relies on the
   PCC responding (with either an acknowledgment or an error message) to
   request for LSP instantiation. This is an additional attack surface by
   placing a requirement for the PCE to keep a CCI/label replica for
   each PCC.  It is <bcp14>RECOMMENDED</bcp14> that PCE implementations provide a limit
   on resources (in this case the CCI) a single PCC can occupy. <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> provides a notification mechanism when such threshold is reached. </t>
      </section>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-manageability-consideration">Manageability Considerations</name>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-9.1">
        <name slugifiedName="name-control-of-function-and-pol">Control of Function and Policy</name>
        <t indent="0" pn="section-9.1-1">A PCE or PCC implementation <bcp14>SHOULD</bcp14> allow the PCECC capability to be enabled/disabled as part of the global configuration. <xref target="RFC8664" sectionFormat="of" section="6.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8664#section-6.1" derivedContent="RFC8664"/> list various controlling factors regarding the Path Setup Type. They are also applicable to the PCECC Path Setup Types. Further, <xref target="RFC8664" sectionFormat="of" section="6.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8664#section-6.2" derivedContent="RFC8664"/> describes the migration steps when the Path Setup Type of an existing LSP is changed.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-9.2">
        <name slugifiedName="name-information-and-data-models">Information and Data Models</name>
        <t indent="0" pn="section-9.2-1"><xref target="RFC7420" format="default" sectionFormat="of" derivedContent="RFC7420"/> describes the PCEP MIB; this MIB can be extended to get the
           PCECC capability status.</t>
        <t indent="0" pn="section-9.2-2">The PCEP YANG module <xref target="I-D.ietf-pce-pcep-yang" format="default" sectionFormat="of" derivedContent="PCEP-YANG"/> could be extended
           to enable/disable the PCECC capability.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-9.3">
        <name slugifiedName="name-liveness-detection-and-moni">Liveness Detection and Monitoring</name>
        <t indent="0" pn="section-9.3-1">Mechanisms defined in this document do not imply any new liveness
           detection and monitoring requirements in addition to those already
           listed in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-9.4">
        <name slugifiedName="name-verify-correct-operations">Verify Correct Operations</name>
        <t indent="0" pn="section-9.4-1">The operator needs the following information to verify that PCEP is
   operating correctly with respect to the PCECC Path Setup
   Type.</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.4-2">
          <li pn="section-9.4-2.1">An implementation <bcp14>SHOULD</bcp14> allow the operator to view whether the
      PCEP speaker sent the PCECC PST capability to its peer.</li>
          <li pn="section-9.4-2.2">An implementation <bcp14>SHOULD</bcp14> allow the operator to view whether the
      peer sent the PCECC PST capability. </li>
          <li pn="section-9.4-2.3">An implementation <bcp14>SHOULD</bcp14> allow the operator to view whether the
      PCECC PST is enabled on a PCEP session.</li>
          <li pn="section-9.4-2.4">If one PCEP speaker advertises the PCECC PST capability,
      but the other does not, then the implementation <bcp14>SHOULD</bcp14> create a
      log to inform the operator of the capability mismatch.</li>
          <li pn="section-9.4-2.5">If a PCEP speaker rejects a CCI, then it <bcp14>SHOULD</bcp14>
      create a log to inform the operator, giving the reason for the
      decision (local policy, label issues, etc.).</li>
        </ul>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-9.5">
        <name slugifiedName="name-requirements-on-other-proto">Requirements on Other Protocols</name>
        <t indent="0" pn="section-9.5-1">PCEP extensions defined in this document do not put new requirements
   on other protocols.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-9.6">
        <name slugifiedName="name-impact-on-network-operation">Impact on Network Operations</name>
        <t indent="0" pn="section-9.6-1">PCEP extensions defined in this document do not put new requirements
   on network operations.</t>
      </section>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-10.1">
        <name slugifiedName="name-path-setup-type-capability-">PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators</name>
        <t indent="0" pn="section-10.1-1"><xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/> detailed the creation of the "PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators" subregistry. Further, IANA has allocated the following codepoint:</t>
        <table anchor="PCEP-SUBTYPE-IND" align="center" pn="table-2">
          <name slugifiedName="name-path-setup-type-capability-s">PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators Subregistry Addition</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">PCECC-CAPABILITY</td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-10.2">
        <name slugifiedName="name-pcecc-capability-sub-tlvs-f">PCECC-CAPABILITY Sub-TLV's Flag Field</name>
        <t indent="0" pn="section-10.2-1">This document defines the
      PCECC-CAPABILITY sub-TLV; IANA has created a new subregistry to
      manage the value of the PCECC-CAPABILITY sub-TLV's 32-bit Flag field.   New
   values are to be assigned by Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.  Each bit
   should be tracked with the following qualities:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-10.2-2">
          <li pn="section-10.2-2.1">bit number (counting from bit 0 as the most significant bit)</li>
          <li pn="section-10.2-2.2">capability description</li>
          <li pn="section-10.2-2.3">defining RFC</li>
        </ul>
        <t indent="0" pn="section-10.2-3">Currently, there is one allocation in this registry.</t>
        <table anchor="PCEP-CAP-SubTLv" align="center" pn="table-3">
          <name slugifiedName="name-initial-contents-of-the-pce">Initial Contents of the PCECC-CAPABILITY Sub-TLV Subregistry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit</th>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0-30</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">31</td>
              <td align="left" colspan="1" rowspan="1">Label</td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-10.3">
        <name slugifiedName="name-pcep-path-setup-type-regist">PCEP Path Setup Type Registry</name>
        <t indent="0" pn="section-10.3-1"><xref target="RFC8408" format="default" sectionFormat="of" derivedContent="RFC8408"/> created a subregistry within the "Path Computation Element
   Protocol (PCEP) Numbers" registry called "PCEP Path Setup Types".
   IANA has allocated a new codepoint within this registry,
   as follows:</t>
        <table anchor="PCEP-PATH-TYPE" align="center" pn="table-4">
          <name slugifiedName="name-path-setup-type-registry-co">Path Setup Type Registry Codepoint Addition</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">Traffic engineering path is set up using PCECC mode</td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-10.4">
        <name slugifiedName="name-pcep-object">PCEP Object</name>
        <t indent="0" pn="section-10.4-1">IANA has allocated new codepoints in the "PCEP Objects" subregistry for the CCI object as follows:</t>
        <table anchor="PCEP-OBJECT" align="center" pn="table-5">
          <name slugifiedName="name-pcep-objects-subregistry-ad">PCEP Objects Subregistry Additions</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Object-Class Value</th>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Object-Type</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">44</td>
              <td align="left" colspan="1" rowspan="1">CCI Object-Type</td>
              <td align="left" colspan="1" rowspan="1">
                <ul empty="true" spacing="compact" bare="true" indent="3" pn="section-10.4-2.2.1.3.1">
                  <li pn="section-10.4-2.2.1.3.1.1">0: Reserved</li>
                  <li pn="section-10.4-2.2.1.3.1.2">1: MPLS Label</li>
                  <li pn="section-10.4-2.2.1.3.1.3">2-15: Unassigned</li>
                </ul>
              </td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-10.5">
        <name slugifiedName="name-cci-object-flag-field">CCI Object Flag Field</name>
        <t indent="0" pn="section-10.5-1">IANA has created a new subregistry to manage the Flag field
           of the CCI object called "CCI Object Flag Field for MPLS Label". New
   values are to be assigned by Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.  Each bit
   should be tracked with the following qualities:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-10.5-2">
          <li pn="section-10.5-2.1">bit number (counting from bit 0 as the most significant bit)</li>
          <li pn="section-10.5-2.2">capability description</li>
          <li pn="section-10.5-2.3">defining RFC</li>
        </ul>
        <t indent="0" pn="section-10.5-3">Two bits are defined for the CCI Object flag field in this document as follows:</t>
        <table anchor="CCI-FLAG" align="center" pn="table-6">
          <name slugifiedName="name-cci-object-flag-field-for-m">CCI Object Flag Field for MPLS Label Initial Contents</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0-13</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1"/>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">14</td>
              <td align="left" colspan="1" rowspan="1">C Bit - PCC allocation</td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">15</td>
              <td align="left" colspan="1" rowspan="1">O Bit - Specifies label is out-label</td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-10.6">
        <name slugifiedName="name-pcep-error-object">PCEP-Error Object</name>
        <t indent="0" pn="section-10.6-1">IANA has allocated new error types and error values within
         the "PCEP-ERROR Object Error Types and Values" subregistry of the
         "Path Computation Element Protocol (PCEP) Numbers" registry for the following errors:</t>
        <table anchor="error-type" align="center" pn="table-7">
          <name slugifiedName="name-pcep-error-object-error-typ">PCEP-ERROR Object Error Types and Values Additions</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Error-Type</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
              <th align="left" colspan="1" rowspan="1">Error-value</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">Mandatory Object missing</td>
              <td align="left" colspan="1" rowspan="1">17: CCI object missing</td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">10</td>
              <td align="left" colspan="1" rowspan="1">Reception of an invalid object</td>
              <td align="left" colspan="1" rowspan="1">33: Missing PCECC Capability sub-TLV</td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">19</td>
              <td align="left" colspan="1" rowspan="1">Invalid Operation</td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-10.6-2.2.3.3.1">16: Attempted PCECC operations when PCECC capability was not advertised</t>
                <t indent="0" pn="section-10.6-2.2.3.3.2">17: Stateful PCE capability was not advertised</t>
                <t indent="0" pn="section-10.6-2.2.3.3.3">18: Unknown Label</t>
              </td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">31</td>
              <td align="left" colspan="1" rowspan="1">PCECC failure</td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-10.6-2.2.4.3.1">1: Label out of range</t>
                <t indent="0" pn="section-10.6-2.2.4.3.2">2: Instruction failed</t>
                <t indent="0" pn="section-10.6-2.2.4.3.3">3: Invalid CCI</t>
                <t indent="0" pn="section-10.6-2.2.4.3.4">4: Unable to allocate the specified CCI</t>
                <t indent="0" pn="section-10.6-2.2.4.3.5">5: Invalid next-hop information</t>
              </td>
              <td align="left" colspan="1" rowspan="1">RFC 9050</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-teas-pcecc-use-cases" to="PCECC"/>
    <displayreference target="I-D.ietf-pce-pcep-yang" to="PCEP-YANG"/>
    <displayreference target="I-D.ietf-pce-pcep-extension-pce-controller-sr" to="PCECC-SR"/>
    <displayreference target="I-D.dhody-pce-pcep-extension-pce-controller-srv6" to="PCECC-SRv6"/>
    <displayreference target="I-D.li-pce-controlled-id-space" to="PCE-ID"/>
    <displayreference target="I-D.gont-numeric-ids-sec-considerations" to="SECURITY-ID"/>
    <references pn="section-11">
      <name slugifiedName="name-references">References</name>
      <references pn="section-11.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC5440" target="https://www.rfc-editor.org/info/rfc5440" quoteTitle="true" derivedAnchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="March"/>
            <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="RFC5511" target="https://www.rfc-editor.org/info/rfc5511" quoteTitle="true" derivedAnchor="RFC5511">
          <front>
            <title>Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="April"/>
            <abstract>
              <t indent="0">Several protocols have been specified in the Routing Area of the IETF using a common variant of the Backus-Naur Form (BNF) of representing message syntax.  However, there is no formal definition of this version of BNF.</t>
              <t indent="0">There is value in using the same variant of BNF for the set of protocols that are commonly used together.  This reduces confusion and simplifies implementation.</t>
              <t indent="0">Updating existing documents to use some other variant of BNF that is already formally documented would be a substantial piece of work.</t>
              <t indent="0">This document provides a formal definition of the variant of BNF that has been used (that we call Routing BNF) and makes it available for use by new protocols.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5511"/>
          <seriesInfo name="DOI" value="10.17487/RFC5511"/>
        </reference>
        <reference anchor="RFC7525" target="https://www.rfc-editor.org/info/rfc7525" quoteTitle="true" derivedAnchor="RFC7525">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author initials="Y." surname="Sheffer" fullname="Y. Sheffer">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Holz" fullname="R. Holz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Saint-Andre" fullname="P. Saint-Andre">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="May"/>
            <abstract>
              <t indent="0">Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are widely used to protect data exchanged over application protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP.  Over the last few years, several serious attacks on TLS have emerged, including attacks on its most commonly used cipher suites and their modes of operation.  This document provides recommendations for improving the security of deployed services that use TLS and DTLS. The recommendations are applicable to the majority of use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="7525"/>
          <seriesInfo name="DOI" value="10.17487/RFC7525"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="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 initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Medved" fullname="J. Medved">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="September"/>
            <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 initials="D." surname="Lopez" fullname="D. Lopez">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="O. Gonzalez de Dios">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Wu" fullname="Q. Wu">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Dhody" fullname="D. Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="October"/>
            <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 initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="December"/>
            <abstract>
              <t indent="0">The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t indent="0">The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE.  This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8281"/>
          <seriesInfo name="DOI" value="10.17487/RFC8281"/>
        </reference>
        <reference anchor="RFC8408" target="https://www.rfc-editor.org/info/rfc8408" quoteTitle="true" derivedAnchor="RFC8408">
          <front>
            <title>Conveying Path Setup Type in PCE Communication Protocol (PCEP) Messages</title>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Tantsura" fullname="J. Tantsura">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Hardwick" fullname="J. Hardwick">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="July"/>
            <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 initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Tantsura" fullname="J. Tantsura">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Henderickx" fullname="W. Henderickx">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Hardwick" fullname="J. Hardwick">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="December"/>
            <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="RFC8779" target="https://www.rfc-editor.org/info/rfc8779" quoteTitle="true" derivedAnchor="RFC8779">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for GMPLS</title>
            <author initials="C." surname="Margaria" fullname="C. Margaria" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="O. Gonzalez de Dios" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Zhang" fullname="F. Zhang" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="July"/>
            <abstract>
              <t indent="0">A Path Computation Element (PCE) provides path computation functions for Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks. Additional requirements for GMPLS are identified in RFC 7025. </t>
              <t indent="0">This memo provides extensions to the Path Computation Element Communication Protocol (PCEP) for the support of the GMPLS control plane to address those requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8779"/>
          <seriesInfo name="DOI" value="10.17487/RFC8779"/>
        </reference>
      </references>
      <references pn="section-11.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <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 initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Ash" fullname="J. Ash">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="August"/>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
        </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 initials="T." surname="Otani" fullname="T. Otani">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Ogaki" fullname="K. Ogaki">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Caviglia" fullname="D. Caviglia">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Zhang" fullname="F. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Margaria" fullname="C. Margaria">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="September"/>
            <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 initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="King" fullname="D. King">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="October"/>
            <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="RFC7420" target="https://www.rfc-editor.org/info/rfc7420" quoteTitle="true" derivedAnchor="RFC7420">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Management Information Base (MIB) Module</title>
            <author initials="A." surname="Koushik" fullname="A. Koushik">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Stephan" fullname="E. Stephan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Zhao" fullname="Q. Zhao">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="King" fullname="D. King">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Hardwick" fullname="J. Hardwick">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="December"/>
            <abstract>
              <t indent="0">This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling of the Path Computation Element Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7420"/>
          <seriesInfo name="DOI" value="10.17487/RFC7420"/>
        </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 initials="D." surname="King" fullname="D. King">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="March"/>
            <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="RFC8232" target="https://www.rfc-editor.org/info/rfc8232" quoteTitle="true" derivedAnchor="RFC8232">
          <front>
            <title>Optimizations of Label Switched Path State Synchronization Procedures for a Stateful PCE</title>
            <author initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Medved" fullname="J. Medved">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="X." surname="Zhang" fullname="X. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Dhody" fullname="D. Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="September"/>
            <abstract>
              <t indent="0">A stateful Path Computation Element (PCE) has access to not only the information disseminated by the network's Interior Gateway Protocol (IGP) but also the set of active paths and their reserved resources for its computation.  The additional Label Switched Path (LSP) state information allows the PCE to compute constrained paths while considering individual LSPs and their interactions.  This requires a State Synchronization mechanism between the PCE and the network, the PCE and Path Computation Clients (PCCs), and cooperating PCEs.  The basic mechanism for State Synchronization is part of the stateful PCE specification.  This document presents motivations for optimizations to the base State Synchronization procedure and specifies the required Path Computation Element Communication Protocol (PCEP) extensions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8232"/>
          <seriesInfo name="DOI" value="10.17487/RFC8232"/>
        </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 initials="A." surname="Farrel" fullname="A. Farrel" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Zhao" fullname="Q. Zhao" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Z." surname="Li" fullname="Z. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Zhou" fullname="C. Zhou">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="December"/>
            <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="RFC8741" target="https://www.rfc-editor.org/info/rfc8741" quoteTitle="true" derivedAnchor="RFC8741">
          <front>
            <title>Ability for a Stateful Path Computation Element (PCE) to Request and Obtain Control of a Label Switched Path (LSP)</title>
            <author initials="A." surname="Raghuram" fullname="A. Raghuram">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Goddard" fullname="A. Goddard">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Karthik" fullname="J. Karthik">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Negi" fullname="M. Negi">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="March"/>
            <abstract>
              <t indent="0">A stateful Path Computation Element (PCE) retains information about the placement of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs). When a PCE has stateful control over LSPs, it may send indications to LSP head-ends to modify the attributes (especially the paths) of the LSPs. A Path Computation Client (PCC) that has set up LSPs under local configuration may delegate control of those LSPs to a stateful PCE.</t>
              <t indent="0">There are use cases in which a stateful PCE may wish to obtain control of locally configured LSPs that it is aware of but have not been delegated to the PCE.</t>
              <t indent="0">This document describes an extension to the Path Computation Element Communication Protocol (PCEP) to enable a PCE to make requests for such control.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8741"/>
          <seriesInfo name="DOI" value="10.17487/RFC8741"/>
        </reference>
        <reference anchor="I-D.ietf-teas-pcecc-use-cases" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-teas-pcecc-use-cases-07" derivedAnchor="PCECC">
          <front>
            <title>The Use Cases for Path Computation Element (PCE) as a Central Controller (PCECC).</title>
            <author fullname="Zhenbin (Robin) Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Dhruv Dhody">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Quintin Zhao">
              <organization showOnFrontPage="true">Etheric Networks</organization>
            </author>
            <author fullname="King Ke">
              <organization showOnFrontPage="true">Tencent Holdings Ltd.</organization>
            </author>
            <author fullname="Boris Khasanov">
              <organization showOnFrontPage="true">Yandex LLC</organization>
            </author>
            <author fullname="Luyuan Fang">
              <organization showOnFrontPage="true">Expedia, Inc.</organization>
            </author>
            <author fullname="Chao Zhou">
              <organization showOnFrontPage="true">HPE</organization>
            </author>
            <author fullname="Boris Zhang">
              <organization showOnFrontPage="true">Telus Communications</organization>
            </author>
            <author fullname="Artem Rachitskiy">
              <organization showOnFrontPage="true">Mobile TeleSystems JLLC</organization>
            </author>
            <author fullname="Anton Gulida">
              <organization showOnFrontPage="true">LLC "Lifetech"</organization>
            </author>
            <date month="March" day="8" year="2021"/>
            <abstract>
              <t indent="0">   The Path Computation Element (PCE) is a core component of a Software-
   Defined Networking (SDN) system.  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.  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).

   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 (SR), 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.

   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 required for stateful PCE usage are covered in separate
   documents.

   This is a living document to catalog the use cases for PCECC.  There
   is currently no intention to publish this work as an RFC.  [Update:
   Chairs are evaluating if the document should be published instead.]


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-pcecc-use-cases-07"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-teas-pcecc-use-cases-07.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-yang" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-yang-16" derivedAnchor="PCEP-YANG">
          <front>
            <title>A YANG Data Model for Path Computation Element Communications Protocol (PCEP)</title>
            <author initials="D" surname="Dhody" fullname="Dhruv Dhody" role="editor">
</author>
            <author initials="J" surname="Hardwick" fullname="Jonathan Hardwick">
</author>
            <author initials="V" surname="Beeram" fullname="Vishnu Beeram">
</author>
            <author initials="J" surname="Tantsura" fullname="Jeff Tantsura">
</author>
            <date month="February" day="22" year="2021"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-yang-16"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-pce-pcep-yang-16.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-extension-pce-controller-sr" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-extension-pce-controller-sr-02" derivedAnchor="PCECC-SR">
          <front>
            <title>PCEP Procedures and Protocol Extensions for Using PCE as a Central Controller (PCECC) for Segment Routing (SR) MPLS Segment Identifier (SID) Allocation and Distribution.</title>
            <author fullname="Zhenbin Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Shuping Peng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Mahendra Singh Negi">
              <organization showOnFrontPage="true">RtBrick Inc</organization>
            </author>
            <author fullname="Quintin Zhao">
              <organization showOnFrontPage="true">Etheric Networks</organization>
            </author>
            <author fullname="Chao Zhou">
              <organization showOnFrontPage="true">HPE</organization>
            </author>
            <date month="March" day="25" year="2021"/>
            <abstract>
              <t indent="0">   The Path Computation Element (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 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 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 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-02"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-pce-pcep-extension-pce-controller-sr-02.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.dhody-pce-pcep-extension-pce-controller-srv6" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-dhody-pce-pcep-extension-pce-controller-srv6-06" derivedAnchor="PCECC-SRv6">
          <front>
            <title>PCEP Procedures and Protocol Extensions for Using PCE as a Central Controller (PCECC) for SRv6</title>
            <author fullname="Zhenbin Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Shuping Peng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Xuesong Geng">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Mahendra Singh Negi">
              <organization showOnFrontPage="true">RtBrick Inc</organization>
            </author>
            <date month="February" day="21" year="2021"/>
            <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.

   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).  But SDN has a
   broader applicability than signaled (G)MPLS traffic-engineered (TE)
   networks, and the PCE may be used to determine paths in a range of
   use cases.  PCEP has been proposed as a control protocol for use in
   these environments to allow the PCE to be fully enabled as a central
   controller.

   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.  This document specifies
   the procedures and PCEP protocol extensions when a PCE-based
   controller is also responsible for configuring the forwarding actions
   on the routers for Segment Routing (SR) in IPv6 (SRv6), in addition
   to computing the SRv6 paths for packet flows and telling the edge
   routers what instructions to attach to packets as they enter the
   network.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dhody-pce-pcep-extension-pce-controller-srv6-06"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-dhody-pce-pcep-extension-pce-controller-srv6-06.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.li-pce-controlled-id-space" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-li-pce-controlled-id-space-08" derivedAnchor="PCE-ID">
          <front>
            <title>PCE Controlled ID Space</title>
            <author fullname="Cheng Li">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Mach(Guoyi) Chen">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <author fullname="Aijun Wang">
              <organization showOnFrontPage="true">China Telecom</organization>
            </author>
            <author fullname="Weiqiang Cheng">
              <organization showOnFrontPage="true">China Mobile</organization>
            </author>
            <author fullname="Chao Zhou">
              <organization showOnFrontPage="true">HPE</organization>
            </author>
            <date month="February" day="22" year="2021"/>
            <abstract>
              <t indent="0">   The Path Computation Element Communication Protocol (PCEP) provides a
   mechanisms for the Path Computation Elements (PCEs) to perform path
   computations in response to Path Computation Clients (PCCs) requests.
   The Stateful PCE extensions allow stateful control of Multiprotocol
   Label Switching (MPLS) Traffic Engineering (TE) Label Switched Paths
   (LSPs) using PCEP.  Furthermore, PCE can be used for computing paths
   in the SR networks.

   Stateful PCE provide active control of MPLS-TE LSPs via PCEP, for a
   model where the PCC delegates control over one or more locally
   configured LSPs to the PCE.  Further, stateful PCE could also create
   and remove PCE-initiated LSPs by itself.  A PCE-based Central
   Controller (PCECC) simplify the processing of a distributed control
   plane by integrating with elements of Software-Defined Networking
   (SDN).

   In some use cases, such as PCECC or Binding Segment Identifier (SID)
   for Segment Routing (SR), there are requirements for a stateful PCE
   to make allocation of labels, SIDs, etc.  These use cases require PCE
   aware of various identifier spaces from where to make allocations on
   behalf of a PCC.  This document describes a mechanism for a PCC to
   inform the PCE of the identifier space set aside for the PCE control
   via PCEP.  The identifier could be an MPLS label, a SID or any other
   to-be-defined identifier that can be allocated by a PCE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-li-pce-controlled-id-space-08"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-li-pce-controlled-id-space-08.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.gont-numeric-ids-sec-considerations" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-gont-numeric-ids-sec-considerations-06" derivedAnchor="SECURITY-ID">
          <front>
            <title>Security Considerations for Transient Numeric Identifiers Employed in Network Protocols</title>
            <author fullname="Fernando Gont">
              <organization showOnFrontPage="true">SI6 Networks</organization>
            </author>
            <author fullname="Ivan Arce">
              <organization showOnFrontPage="true">Quarkslab</organization>
            </author>
            <date month="December" day="5" year="2020"/>
            <abstract>
              <t indent="0">   Poor selection of transient numerical identifiers in protocols such
   as the TCP/IP suite has historically led to a number of attacks on
   implementations, ranging from Denial of Service (DoS) to data
   injection and information leakage that can be exploited by pervasive
   monitoring.  To prevent such flaws in future protocols and
   implementations, this document updates RFC 3552, requiring future
   RFCs to contain analysis of the security and privacy properties of
   any transient numeric identifiers specified by the protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gont-numeric-ids-sec-considerations-06"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-gont-numeric-ids-sec-considerations-06.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section toc="include" numbered="false" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.a-1">We would like to thank <contact fullname="Robert Tao"/>, <contact fullname="Changjing Yan"/>, <contact fullname="Tieying Huang"/>, <contact fullname="Avantika"/>, and <contact fullname="Aijun Wang"/> for
   their useful comments and suggestions.</t>
      <t indent="0" pn="section-appendix.a-2">Thanks to <contact fullname="Julien Meuric"/> for shepherding this document and providing valuable comments. Thanks to <contact fullname="Deborah Brungard"/> for being the responsible AD.</t>
      <t indent="0" pn="section-appendix.a-3">Thanks to <contact fullname="Victoria Pritchard"/> for a very detailed RTGDIR review. Thanks to <contact fullname="Yaron Sheffer"/> for the   
SECDIR review. Thanks to <contact fullname="Gyan Mishra"/> for the Gen-ART review.</t>
      <t indent="0" pn="section-appendix.a-4">Thanks to <contact fullname="Alvaro Retana"/>, <contact fullname="Murray Kucherawy"/>, <contact fullname="Benjamin Kaduk"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="Robert Wilton"/>, <contact fullname="Éric Vyncke"/>, and <contact fullname="Erik Kline"/> for the IESG review.</t>
    </section>
    <section toc="include" numbered="false" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact fullname="Dhruv Dhody">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Divyashree Techno Park, Whitefield</street>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560066</code>
            <country>India</country>
          </postal>
          <email>dhruv.ietf@gmail.com</email>
        </address>
      </contact>
      <contact fullname="Satish Karunanithi">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Divyashree Techno Park, Whitefield</street>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560066</code>
            <country>India</country>
          </postal>
          <email>satishk@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Adrian Farrel">
        <organization showOnFrontPage="true">Old Dog Consulting</organization>
        <address>
          <postal>
            <country>United Kingdom</country>
          </postal>
          <email>adrian@olddog.co.uk</email>
        </address>
      </contact>
      <contact fullname="Xuesong Geng">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>gengxuesong@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Udayasree Palle">
        <organization showOnFrontPage="true"/>
        <address>
          <postal/>
          <email>udayasreereddy@gmail.com</email>
        </address>
      </contact>
      <contact fullname="Katherine Zhao">
        <organization showOnFrontPage="true">Futurewei Technologies</organization>
        <address>
          <postal/>
          <email>katherine.zhao@futurewei.com</email>
        </address>
      </contact>
      <contact fullname="Boris Zhang">
        <organization showOnFrontPage="true">Telus Ltd.</organization>
        <address>
          <postal>
            <city>Toronto</city>
            <country>Canada</country>
          </postal>
          <email>boris.zhang@telus.com</email>
        </address>
      </contact>
      <contact fullname="Alex Tokar">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <country>Slovakia</country>
          </postal>
          <email>atokar@cisco.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="Z" surname="Li" fullname="Zhenbin Li">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Huawei Bld., No.156 Beiqing Rd.</street>
            <city>Beijing  </city>
            <region/>
            <code>100095</code>
            <country>China</country>
          </postal>
          <email>lizhenbin@huawei.com</email>
        </address>
      </author>
      <author initials="S" surname="Peng" fullname="Shuping Peng">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Huawei Bld., No.156 Beiqing Rd.</street>
            <city>Beijing</city>
            <region/>
            <code>100095</code>
            <country>China</country>
          </postal>
          <email>pengshuping@huawei.com</email>
        </address>
      </author>
      <author initials="M" surname="Negi" fullname="Mahendra Singh Negi">
        <organization showOnFrontPage="true">RtBrick Inc</organization>
        <address>
          <postal>
            <street>N-17L, 18th Cross Rd, HSR Layout</street>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560102</code>
            <country>India</country>
          </postal>
          <email>mahend.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>qzhao@ethericnetworks.com</email>
        </address>
      </author>
      <author initials="C" surname="Zhou" fullname="Chao Zhou">
        <organization showOnFrontPage="true">HPE</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country/>
          </postal>
          <email>chaozhou_us@yahoo.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
