<?xmlversion="1.0" encoding="us-ascii"?>version='1.0' encoding='utf-8'?> <!DOCTYPE rfc SYSTEM"rfc2629.dtd" []> <?rfc toc="yes" ?> <?rfc tocompact="yes"?> <?rfc tocdepth="4"?> <?rfc tocindent="yes"?> <?rfc symrefs="yes" ?> <?rfc sortrefs="no"?> <?rfc rfcedstyle="yes"?> <?rfc subcompact="no"?> <?rfc compact="yes" ?> <?rfc iprnotified="Yes" ?> <?rfc strict="no" ?>"rfc2629-xhtml.ent"> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" number="9050" consensus="true" ipr="trust200902" category="std" docName="draft-ietf-pce-pcep-extension-for-pce-controller-14" obsoletes="" updates="" submissionType="IETF"xml:lang="en">xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="false" version="3"> <!-- xml2rfc v2v3 conversion 3.5.0 --> <front> <titleabbrev="PCECC">PCEPabbrev="PCECC">Path Computation Element Communication Protocol (PCEP) Procedures andProtocolExtensions for Using the PCE as a Central Controller (PCECC) of LSPs</title> <seriesInfo name="RFC" value="9050"/> <author initials="Z" surname="Li" fullname="Zhenbin Li"> <organization>Huawei Technologies</organization> <address> <postal> <street>Huawei Bld., No.156 Beiqing Rd.</street> <city>Beijing </city><region></region><region/> <code>100095</code> <country>China</country> </postal> <email>lizhenbin@huawei.com</email> </address> </author> <author initials="S" surname="Peng" fullname="Shuping Peng"> <organization>Huawei Technologies</organization> <address> <postal> <street>Huawei Bld., No.156 Beiqing Rd.</street> <city>Beijing</city><region></region><region/> <code>100095</code> <country>China</country> </postal> <email>pengshuping@huawei.com</email> </address> </author><!--<author fullname="Dhruv Dhody" initials="D" surname="Dhody"> <organization abbrev="Huawei Technologies">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> </author> <author initials="S" surname="Karunanithi" fullname="Satish Karunanithi"> <organization>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> </author>--><author initials="M" surname="Negi" fullname="Mahendra Singh Negi"> <organization>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="A" surname="Farrel" fullname="Adrian Farrel"> <organization>Juniper Networks, Inc</organization> <address> <postal> <street></street> <city></city> <region></region> <code></code> <country>UK</country> </postal> <email>adrian@olddog.co.uk</email> </address> </author>--><author initials="Q" surname="Zhao" fullname="Quintin Zhao"> <organization>Etheric Networks</organization> <address> <postal> <street>1009 SCLAREMONT ST</street> <city>SAN MATEO</city>Claremont St.</street> <city>San Mateo</city> <region>CA</region> <code>94402</code><country>USA</country><country>United States of America</country> </postal> <email>qzhao@ethericnetworks.com</email> </address> </author> <author initials="C" surname="Zhou" fullname="Chao Zhou"> <organization>HPE</organization> <address> <postal><street></street> <city></city> <region></region> <code></code> <country></country><street/> <city/> <region/> <code/> <country/> </postal> <email>chaozhou_us@yahoo.com</email> </address> </author> <dateyear="2021" />month="July" year="2021"/> <area>Routing</area> <workgroup>PCE Working Group</workgroup> <keyword>SDN</keyword> <keyword>CCI</keyword> <keyword>Central Control</keyword> <abstract> <t>The Path Computation Element (PCE) is a core component ofSoftware- DefinedSoftware-Defined Networking (SDN) systems.</t> <t>APCE-basedPCE 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, theLSPLabel Switched Path (LSP) can be calculated/set up/initiated and thelabel forwardinglabel-forwarding entries can also be downloaded through a centralized PCE server to each network device along thepath,path while leveraging the existing PCE technologies as much as possible.</t> <t>This document specifies the procedures andPCEPPath Computation Element Communication Protocol (PCEP) extensions for using the PCE as the central controller for provisioning labels along the path of the static LSP. </t> </abstract> </front> <middle> <sectiontitle="Introduction" toc="default">toc="default" numbered="true"> <name>Introduction</name> <t>The Path Computation Element (PCE) <xreftarget='RFC4655'/>target="RFC4655" format="default"/> 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 PCEhashave grown to cover a number of other uses (such as GMPLS <xreftarget='RFC7025'/>)target="RFC7025" format="default"/>) and to allow delegated control <xreftarget='RFC8231'/>target="RFC8231" format="default"/> and PCE-initiated use of network resources <xreftarget='RFC8281'/>.</t>target="RFC8281" format="default"/>.</t> <t>According to <xreftarget='RFC7399'/>,target="RFC7399" format="default"/>, 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 <xreftarget='RFC7491'/>.</t>target="RFC7491" format="default"/>.</t> <t>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) <xreftarget='RFC5440'/>.target="RFC5440" format="default"/>. This protocol was later extended to allow a PCE to send unsolicited requests to the network for LSP establishment <xreftarget='RFC8281'/>.</t> <t>PCEtarget="RFC8281" format="default"/>.</t> <t>The PCE was developed to derive paths for MPLSLabel Switched Paths (LSPs),LSPs, which are supplied to the head end of the LSP using thePath Computation Element Communication Protocol (PCEP).PCEP. But SDN has a broader applicability than signaled MPLS and GMPLStraffic-engineered (TE)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><xreftarget='RFC8283'/>target="RFC8283" format="default"/> introduces the architecture for the PCE as a central controller as an extensionofto the architecture described in <xreftarget='RFC4655'/>target="RFC4655" format="default"/> and assumes the continued use of PCEP as the protocol used between the PCE and PCC. <xreftarget='RFC8283'/>target="RFC8283" format="default"/> further examines the motivations and applicability for PCEP as a Southbound Interface(SBI),(SBI) and introduces the implications for the protocol. <xreftarget='I-D.ietf-teas-pcecc-use-cases'/>target="I-D.ietf-teas-pcecc-use-cases" format="default"/> describes the use cases for the PCECC architecture.</t> <t>APCE-based Central Controller (PCECC)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 becalculated/setup/initiatedcalculated/set up/initiated and thelabel forwardinglabel-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>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>While this document is focused on the procedures for the static LSPs (referred to as the basic PCECC mode in <xreftarget="SEC_M"/>),target="SEC_M" format="default"/>), 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 <xreftarget='I-D.ietf-pce-pcep-extension-pce-controller-sr'/>target="I-D.ietf-pce-pcep-extension-pce-controller-sr" format="default"/> and <xreftarget='I-D.dhody-pce-pcep-extension-pce-controller-srv6'/>.</t> <!--<t>[Important Note - Note thattarget="I-D.dhody-pce-pcep-extension-pce-controller-srv6" format="default"/>.</t> </section> <section toc="default" numbered="true"> <name>Terminology</name> <t>The terminology used in this documentachieves this by defining a new PCEP message. The authors and WG also debated on the use of existing PCEP messages. <xref target="Procedures"/> definesis thefirst approach wheresame as<xref target="appendix"/> defines the latter. The authors are open to either of the approach and will follow the direction ofthat described in theWG.]</t>--><xref target="RFC8283" format="default"/>.</t> <sectiontitle="Requirements Language" toc="default"> <t>Thetoc="default" numbered="true"> <name>Requirements Language</name> <t> The key words"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY","<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"OPTIONAL""<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described inBCP 14BCP 14 <xreftarget="RFC2119" />target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shownhere.</t> </section>here. </t> </section><section title="Terminology" toc="default"> <t>The terminology used in this document is the same as that described in the <xref target="RFC8283"/>.</t></section> <sectiontitle="Basic PCECC Mode"toc="default"anchor="SEC_M">anchor="SEC_M" numbered="true"> <name>Basic PCECC Mode</name> <t>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 whatlabel forwardinglabel-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><xreftarget='RFC8283'/>target="RFC8283" format="default"/> examines the motivations and applicability for the PCECC and use of PCEP as an SBI.Section 3.1.2. of<xreftarget='RFC8283'/>target="RFC8283" sectionFormat="of" section="3.1.2"/> highlights the use of the PCECC for label allocation along the staticLSPsLSPs, 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 Section 3.3. ofFurther, <xreftarget='I-D.ietf-teas-pcecc-use-cases'/>target="I-D.ietf-teas-pcecc-use-cases" sectionFormat="of" section="3.3"/> describes some of the scenarios where the PCECC technique could be useful.Section 4 of<xreftarget='RFC8283'/>target="RFC8283" sectionFormat="of" section="4"/> alsodescribedescribes 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>As perSection 3.1.2. of<xreftarget='RFC8283'/>,target="RFC8283" sectionFormat="of" section="3.1.2"/>, the PCE-based controller will take responsibility for managing some part of the MPLS label space for each of the routers that itcontrols,controls and may take wider responsibility for partitioning the label space for each router and allocating different parts for different uses. The PCCMUST NOT<bcp14>MUST NOT</bcp14> make allocations from the label space set aside for the PCE to avoid overlap and collisions of label allocations. It isRECOMMENDED<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 <xreftarget="I-D.li-pce-controlled-id-space"/>).target="I-D.li-pce-controlled-id-space" format="default"/>). The rest of the processing is similar to the existing stateful PCE mechanism.</t> <t>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 fromPCCthe PCC, as described in <xreftarget="PCC"/>.</t>target="PCC" format="default"/>.</t> </section> <sectiontitle="PCEP Requirements"toc="default"anchor="SEC_R">anchor="SEC_R" numbered="true"> <name>PCEP Requirements</name> <t>The following key requirements should be considered when designing the PCECC-based solution:</t><t> <list style="numbers"> <t>A<ol spacing="normal" type="1"> <li>A PCEP speaker supporting this document needs to have the capability to advertise its PCECC capability to itspeers.</t> <!--<t>PCEP speaker not supporting this draft be able to reject PCECC related extensions with a error reason code that indicates that this feature is not supported.</t>--> <t>Apeers.</li> <li>A PCEP speakerneedneeds means to identify PCECC-basedLSPLSPs in the PCEPmessages.</t> <t>PCEPmessages.</li> <li>PCEP procedures need to allow for PCC-based labelallocations.</t> <t>PCEPallocations.</li> <li>PCEP procedures need to provide a means to update (or clean up) label entries downloaded to thePCC.</t> <t>PCEPPCC.</li> <li>PCEP procedures need to provide a means to synchronize the labels between the PCE and the PCC via PCEPmessages.</t> </list> </t>messages.</li> </ol> </section> <sectiontitle="Procedurestoc="default" anchor="Procedures" numbered="true"> <name>Procedures for Using the PCE as a Central Controller(PCECC)" toc="default" anchor="Procedures">(PCECC)</name> <sectiontitle="Statefultoc="default" numbered="true"> <name>Stateful PCEModel" toc="default">Model</name> <t>Active stateful PCE is described in <xreftarget='RFC8231'/>.target="RFC8231" format="default"/>. A PCE as acentral controllerCentral Controller (PCECC) reuses the existing active stateful PCE mechanism as much as possible to control LSPs.</t> </section> <sectiontitle="Newtoc="default" numbered="true"> <name>New LSPFunctions" toc="default">Functions</name> <t>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><t> <list style="hanging"> <t hangText="PCInitiate:">a<dl newline="false" spacing="normal"> <dt>PCInitiate:</dt> <dd>A PCEP message described in <xreftarget='RFC8281'/>.target="RFC8281" format="default"/>. A PCInitiate message is used to set upPCE-Initiateda PCE-initiated LSP based on a PCECC mechanism. It is also extended for Central Controller Instructions (CCI) (download or clean up theLabel forwardinglabel-forwarding instructions in the context of this document) on all nodes along thepathpath, as described in <xreftarget='SEC_PCInitiate'/>.</t> <t hangText="PCRpt:">atarget="SEC_PCInitiate" format="default"/>.</dd> <dt>PCRpt:</dt> <dd>A PCEP message described in <xreftarget='RFC8231'/>.target="RFC8231" format="default"/>. A PCRpt message is used to send the PCECC LSP Reports. It is also extended to report the set ofCentral Controller Instructions (CCI) (label forwardingCCI (label-forwarding instructions in the context of this document) received from thePCEPCE, as described in <xreftarget='SEC_PCRpt'/>.target="SEC_PCRpt" format="default"/>. <xreftarget="sec_label_db_sync"/>target="sec_label_db_sync" format="default"/> describes the use of a PCRpt message duringsynchronization.</t> <t hangText="PCUpd:">asynchronization.</dd> <dt>PCUpd:</dt> <dd>A PCEP message described in <xreftarget='RFC8231'/>.target="RFC8231" format="default"/>. A PCUpd message is used to send the PCECC LSPUpdates.</t> <!--<t hangText="(PCLabelUpd):">a new PCEP message sent by a PCE to a PCC to download or cleanup the Label entry. The PCLabelUpd message described in <xref target="SEC_PCLabelUpd"/>.</t> <t hangText="(PCLabelRpt):">a new PCEP message sent by a PCC to a PCE to report the set of labels for which explicit action is required from PCE to update or cleanup or do nothing for these Label entries. The PCLabelRpt message described in <xref target="SEC_PCLabelRpt"/>.</t>--> </list> </t> <!--<t>[Editor's Note: This document defines new messages PCLabelUpd and PCLabelRpt. The authors and WG also debated on the use of existing PCEP messages. See <xref target="appendix"/> on how the existing messages can be extended to add this functionality. WG needs to decide the final direction i.e. new specific messages are needed or existing PCEP messages can be extended.]</t>-->Updates.</dd> </dl> <t>The new functions defined in this document are mapped onto the PCEPmessagesmessages, as shown in <xreftarget="SEC_FIG1"/>.</t> <texttabletarget="SEC_FIG1" format="default"/>.</t> <table anchor="SEC_FIG1"style="none" suppress-title="false" title="Functions mappedalign="center"> <name>Functions Mapped to the PCEPmessages" align="center"> <ttcol align="left" width="70%">Function</ttcol> <ttcol align="left" width="30%">Message</ttcol> <c>PCECCMessages</name> <thead> <tr> <th align="left">Function</th> <th align="left">Message</th> </tr> </thead> <tbody> <tr> <td align="left">PCECC Capability advertisement</c> <c>Open </c> <c>Label</td> <td align="left">Open </td> </tr> <tr> <td align="left">Label entry Add</c> <c>PCInitiate </c> <c>Label</td> <td align="left">PCInitiate </td> </tr> <tr> <td align="left">Label entry Clean up</c> <c>PCInitiate </c> <c>PCECC Initiated LSP </c> <c>PCInitiate </c> <c>PCECC</td> <td align="left">PCInitiate </td> </tr> <tr> <td align="left">PCECC-Initiated LSP </td> <td align="left">PCInitiate </td> </tr> <tr> <td align="left">PCECC LSP Update</c> <c>PCUpd </c> <c>PCECC</td> <td align="left">PCUpd </td> </tr> <tr> <td align="left">PCECC LSP State Report</c> <c>PCRpt </c> <c>PCECC</td> <td align="left">PCRpt </td> </tr> <tr> <td align="left">PCECC LSP Delegation</c> <c>PCRpt </c> <c>PCECC</td> <td align="left">PCRpt </td> </tr> <tr> <td align="left">PCECC Label Report</c> <c>PCRpt </c> </texttable></td> <td align="left">PCRpt </td> </tr> </tbody> </table> </section> <sectiontitle="Newtoc="default" numbered="true"> <name>New PCEPObject" toc="default">Object</name> <t>This document defines a new PCEP object called CCI (<xreftarget="SEC_CCI"/>)target="SEC_CCI" format="default"/>) to specify thecentral controller instructions.Central Controller Instructions. In the scope of this document, this is limited toLabel forwardinglabel-forwarding instructions. Future documents can create new CCI object-types for other types ofcentral controller instructions.Central Controller Instructions. The CC-ID is the unique identifier for thecentral controller instructionsCCI in PCEP. The PCEP messages are extended in this document to handle the PCECC operations.</t> </section> <sectiontitle="PCECCtoc="default" numbered="true"> <name>PCECC CapabilityAdvertisement" toc="default">Advertisement</name> <t>During the PCEPInitialization Phase,initialization phase, PCEPSpeakersspeakers (PCE or PCC) advertise their support of and willingness to use PCEP extensions for the PCECC using these elements in the OPENmessage:<list style="symbols"> <t>Amessage:</t> <ul spacing="normal"> <li>a new Path Setup Type (PST) (<xreftarget="SEC_PATH"/>)target="SEC_PATH" format="default"/>) in the PATH-SETUP-TYPE-CAPABILITY TLV to indicate support for PCEP extensions for the PCECC -TBD1 (Path2 (Traffic engineering path is set upviausing PCECCmode)</t> <t>Amode)</li> <li>a new PCECC-CAPABILITY sub-TLV (<xreftarget="SEC_PCECC_CAP_TLV"/>)target="SEC_PCECC_CAP_TLV" format="default"/>) with the L bit set to1'1' inside the PATH-SETUP-TYPE-CAPABILITY TLV to indicate a willingness to use PCEP extensions forPCECC based central controller instructionsthe PCECC-based Central Controller Instructions for labeldownload</t> <t>Thedownload</li> <li>the STATEFUL-PCE-CAPABILITY TLV(<xref target="RFC8231"/>)<xref target="RFC8231" format="default"/> (with the I flag set <xreftarget="RFC8281"/>)</t> </list></t>target="RFC8281" format="default"/>)</li> </ul> <t>The newPath Setup TypePST is to be listed in the PATH-SETUP-TYPE-CAPABILITY TLV by all PCEP speakerswhichthat support the PCEP extensions for the PCECC in this document.</t> <t>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 <xreftarget="SEC_PCECC_CAP_TLV"/>).</t>target="SEC_PCECC_CAP_TLV" format="default"/>).</t> <t>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 OPENObject,object, the receiverMUST:<list style="symbols"> <t>Send<bcp14>MUST</bcp14>:</t> <ul spacing="normal"> <li>send a PCErr message with Error-Type=19 (Invalid Operation) andError-value=TBD4 (statefulError-value=17 (Stateful PCE capability was notadvertised)</t> <t>Terminateadvertised) and</li> <li>terminate thesession</t> </list></t>session.</li> </ul> <t>If a PCEP speaker receives the PATH-SETUP-TYPE-CAPABILITY TLV with the PCECCPath Setup TypePST but without the PCECC-CAPABILITY sub-TLV, itMUST:<list style="symbols"> <t>Send<bcp14>MUST</bcp14>:</t> <ul spacing="normal"> <li>send a PCErr message withError-Type 10Error-Type=10 (Reception of an invalid object) andError-Value TBD2Error-value=33 (MissingPCECC-CAPABILITY sub-TLV)</t> <t>TerminatePCECC Capability sub-TLV) and</li> <li>terminate the PCEPsession</t> </list></t>session.</li> </ul> <t>The PCECC-CAPABILITY sub-TLVMUST NOT<bcp14>MUST NOT</bcp14> be used without the correspondingPath Setup TypePST being listed in the PATH-SETUP-TYPE-CAPABILITY TLV. If it is present without the correspondingPath Setup TypePST listed in the PATH-SETUP-TYPE-CAPABILITY TLV, itMUST<bcp14>MUST</bcp14> be ignored.</t> <t>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 PCECCMUST NOT<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 messageMUST:<list style="symbols"> <t>Send<bcp14>MUST</bcp14>:</t> <ul spacing="normal"> <li>send a PCErr message with Error-Type=19 (Invalid Operation) andError-Value=TBD3Error-value=16 (Attempted PCECC operations when PCECC capability was notadvertised)</t> <t>Terminateadvertised) and</li> <li>terminate the PCEPsession</t> </list></t>session.</li> </ul> <t>A legacy PCEP speaker (that does not recognize the PCECC Capability sub-TLV) will ignore the sub-TLV in accordance with <xreftarget="RFC8408"/>target="RFC8408" format="default"/> and <xreftarget="RFC5440"/>.target="RFC5440" format="default"/>. As per <xreftarget="RFC8408"/>,target="RFC8408" format="default"/>, the legacy PCEPspeakerspeaker, on receipt of an unsupported PST inRP (Request Parameter) /SRP (Statefula Request Parameter (RP) / Stateful PCE RequestParameters) Object will:<list style="symbols"> <t>SendParameter (SRP) object, will:</t> <ul spacing="normal"> <li>send a PCErr message withError-Type = 21Error-Type=21 (Invalid traffic engineering path setup type) andError-value = 1Error-value=1 (Unsupported path setup type)</t> <t>Terminate the PCEP session</t> </list></t> <!--Old, above is the reworded section from Victoria <t>Duringand </li> <li>terminate the PCEPInitialization Phase,session.</li> </ul> </section> <section toc="default" numbered="true"> <name>LSP Operations</name> <t> The PCEPSpeakers (PCE or PCC) advertise their support of PCECC extensions.</t> <t>This document definesmessages pertaining to anew Path Setup Type (PST) <xref target='RFC8408'/> for PCECC, as follows:<list style="symbols"> <t>PST = TBD1: Path is set up viaPCECCmode.</t></list></t> <t>A PCEP speaker MUST indicate its support of<bcp14>MUST</bcp14> include thefunction described in this document by sending a PATH-SETUP-TYPE-CAPABILITYPATH-SETUP-TYPE TLV <xref target="RFC8408" format="default"/> in theOPENSRP objectwith this new PST included in the PST list.</t> <t>This document also defines the PCECC Capability sub-TLV<xreftarget="SEC_PCECC_CAP_TLV"/>. PCEP speakers use this sub-TLV to exchange information about their PCECC capability. If a PCEP speaker includes PST=TBD1 intarget="RFC8231" format="default"/> with the PSTList of the PATH-SETUP-TYPE-CAPABILITY TLV then the receiving peer MUST also include the PCECC Capability sub-TLV (with the L bitset to1) inside the PATH-SETUP-TYPE-CAPABILITY TLV. If'2' to clearly identify that thesub-TLVPCECC LSP isabsent or the L bitintended.</t> <section toc="default" anchor="PCE-I" numbered="true"> <name>PCE-Initiated PCECC LSP</name> <t>The LSP instantiation operation isnot setdefined in <xref target="RFC8281" format="default"/>. In order to1, then the receiving PCEP speaker MUST sendset up aPCErr message with Error-Type 10 (Reception of an invalid object) and Error-Value TBD2 (Missing PCECC Capability sub-TLV) and MUST then closePCE-initiated LSP based on thePCEP session. IfPCECC mechanism, aPCEP speaker receivesPCE sends aPATH-SETUP-TYPE-CAPABILITY TLVPCInitiate message witha PCECC-CAPABILITY sub-TLV, butthe PSTlist does not contain PST=TBD1, thenset to '2' for thePCEP speaker MUST ignorePCECC (see <xref target="SEC_PATH" format="default"/>) to thePCECC-CAPABILITY sub-TLV.</t>ingress PCC.</t> <t>Thepresence oflabel-forwarding instructions (see <xref target="CCI" format="default"/>) from thePST=TBD1 andPCECCCapability sub-TLV (withare sent after theL bit set to 1, seeinitial PCInitiate and PCRpt message exchange with the ingress PCC, as per <xreftarget="SEC_PCECC_CAP_TLV"/>) in a PCC's OPEN Object indicatestarget="RFC8281" format="default"/> (see <xref target="SEC_FIG4" format="default"/>). This is done so that thePCC is willing to function as a PCECC clientPCEP-specific identifier forlabel download instructions. The presence ofthePST=TBD1LSP (PLSP-ID) andPCECC Capability sub-TLV (withother LSP identifiers can be obtained from theL bit set to 1)ingress and can be included ina PCE's OPEN message indicates thatthePCE is interestedlabel-forwarding instruction infunction as a PCECC server for label download instructions.</t> <t>The PCEP extensions for PCECC for label download MUST NOT be used if one or both PCEP Speakers have not included the PST=TBD1 or the PCECC Capability sub-TLV (withtheL bitnext setto 1) in their respective OPEN message. If a PCEP speaker which supports the extensionsofthis draft but did not advertise this capability attempts a PCECC operation, then a PCErr message with Error-Type=19 (Invalid Operation) and Error-Value=TBD3 (Attempted PCECC operations when PCECC capability was not advertised) MUST be generated by its peer andPCInitiate messages along thePCEP session willpath, as described below.</t> <t>An LSP-IDENTIFIERS TLV <xref target="RFC8231" format="default"/> <bcp14>MUST</bcp14> beterminated. If a PCEP speaker does not recognizeincluded for the PCECCCapability sub-TLV,LSPs; itwill ignoreuniquely identifies thesub-TLVLSP inaccordance with <xref target='RFC8408'/> and <xref target='RFC5440'/>.</t> <t>A PCC or a PCE MUST include boththePCECC-CAPABILITY sub-TLV (withnetwork. Note that theL bit set to 1) andfields in theSTATEFUL-PCE-CAPABILITYLSP-IDENTIFIERS TLV(<xref target='RFC8231'/>) (withare described for theI flag set <xref target='RFC8281'/>)RSVP-signaled LSPs but are applicable to the PCECC LSP as well. The LSP object is included in theOPEN ObjectCCI (label download <xref target="SEC_CCI" format="default"/>) tosupportidentify theextensions defined inPCECC LSP for thisdocument. If the PCECC-CAPABILITY sub-TLVinstruction. The PLSP-ID isadvertised andtheSTATEFUL-PCE-CAPABILITY TLV is not advertised inoriginal identifier used by theOPEN Object, it MUST sendingress PCC, so aPCErr messagetransit/egress Label Switching Router (LSR) could have multiple Central Controller Instructions that have the same PLSP-ID. The PLSP-ID in combination withError-Type=19 (Invalid Operation) and Error-value=TBD4 (stateful PCE capability was not advertised) and terminatethesession. This error is also triggered ifsource (in thePCECC-CAPABILITY sub-TLVLSP-IDENTIFIERS TLV) <bcp14>MUST</bcp14> be unique. The PLSP-ID isadvertised andincluded for maintainability reasons to ease debugging. As per <xref target="RFC8281" format="default"/>, theI flag in the STATEFUL-PCE-CAPABILITY TLV is not set.</t>--> </section> <section title="LSP Operations" toc="default"> <t> The PCEP messages pertaining to a PCECC MUSTLSP object could also includePATH-SETUP-TYPE TLV <xref target='RFC8408'/> intheSRP object <xref target='RFC8231'/> with PST set to TBD1SPEAKER-ENTITY-ID TLV toclearlyidentify the PCE thatPCECC LSP is intended.</t> <section title="PCE-Initiated PCECC LSP" toc="default" anchor="PCE-I"> <t>The LSP Instantiation operationinitiated these instructions. Also, the CC-ID isdefinedunique in each PCEP session, as described in <xreftarget='RFC8281'/>. In order to set up a PCE-Initiated LSP based on the PCECC mechanism,target="SEC_CCI" format="default"/>.</t> <t>On receipt of aPCE sendsPCInitiate messagewith PST set to TBD1forPCECC (see <xref target="SEC_PATH"/>) totheingress PCC.</t> <t>The label forwarding instructions (see <xref target='CCI'/>) fromPCECCare sent afterLSP, theinitial PCInitiate andPCC responds with a PCRpt messageexchangewith the status set to 'Going-up' and carrying the assigned PLSP-ID (see <xref target="SEC_FIG4" format="default"/>). The ingress PCCas peralso sets the D (Delegate) flag (see <xreftarget='RFC8281'/>target="RFC8231" format="default"/>) and C (Create) flag (see <xreftarget="SEC_FIG4"/>). This is done so thattarget="RFC8281" format="default"/>) in thePLSP-ID and otherLSPidentifiers can be obtained fromobject. When theingress and can be included inPCE receives this PCRpt message with thelabel forwarding instruction inPLSP-ID, it assigns labels along thenext set ofpath and sets up the path by sending a PCInitiatemessagesmessage to each node along the path of the LSP, asdescribed below.</t> <t>An LSP-IDENTIFIERS TLV <xref target='RFC8231'/> MUST be included forper the PCECCLSPs, ittechnique. The CC-ID uniquely identifies theLSP in the network. Note thatCentral Controller Instructions within a PCEP session. Each node along thefields inpath (PCC) responds with a PCRpt message to acknowledge theLSP-IDENTIFIERS TLV are described forCCI with theRSVP-signaled LSPs but are applicable to the PCECC LSP as well. The LSP object is included in the central controller instructions (label download <xref target="SEC_CCI"/>) to identify the PCECC LSP for this instruction. The PLSP-ID is the original identifier used by the ingress PCC, so a transit/egress LSR could have multiple central controller instructions that have the same PLSP-ID. The PLSP-ID in combination with the source (in LSP-IDENTIFIERS TLV) MUST be unique. The PLSP-ID is included for maintainability reasons to ease debugging. As per <xref target='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"/>.</t> <t>On receipt of 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"/>). The ingress PCC also sets the D (Delegate) flag (see <xref target='RFC8231'/>) and C (Create) flag (see <xref target='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 instruction within a PCEP session. Each node along the path (PCC) responds with a PCRpt message to acknowledge the central controller instruction with the PCRpt messages including the central controller instruction (CCI) andPCRpt messages including the CCI and LSP objects. </t> <t>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 withoutanthe 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 <xreftarget="SEC_FIG4"/>).target="SEC_FIG4" format="default"/>). 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>The LSP deletion operation forPCE-Initiatedthe PCE-initiated PCECC LSP is the same as defined in <xreftarget='RFC8281'/>.target="RFC8281" format="default"/>. The PCE should further performLabelthe label entryclean up operationcleanup operation, as described in <xreftarget="SEC_CLEANUP"/>target="SEC_CLEANUP" format="default"/>, for the corresponding LSP.</t><t>The PCE-Initiated PCECC LSP setup sequence is shown in <xref target="SEC_FIG4"/>.</t><figurealign="left" alt="" height="" suppress-title="false" title="PCE-Initiated PCECC LSP" width=""anchor="SEC_FIG4"> <name>PCE-Initiated PCECC LSP</name> <artwork align="left" alt=""height=""name=""type="" width="" xml:space="preserve"> <![CDATA[type=""><![CDATA[ +-------+ +-------+ |PCC | | PCE | |ingress| +-------+ +------| | | | PCC +-------+ | | transit| | | +------| ||<--PCInitiate,PLSP-ID=0,PST=TBD1------||<--PCInitiate,PLSP-ID=0,PST=2---------| PCECC LSP |PCC +--------+ | | Initiate |egress | | |----PCRpt,PLSP-ID=2,D=1,C=1---------->| PCECC LSP +--------+ | | (GOING-UP) | | | | | |<-------PCInitiate,CC-ID=X,PLSP-ID=2----------------| Label | | | | download |--------PCRpt,CC-ID=X,PLSP-ID=2-------------------->| CCI | | | | | |<------PCInitiate,CC-ID=Y1,Y2,PLSP-ID=2-----| Label | | | | download | |-------PCRpt,CC-ID=Y1,Y2,PLSP-ID=2--------->| CCI | | | | | | |<----PCInitiate,CC-ID=Z,PLSP-ID=2-----| Label | | | | download | | |-----PCRpt,CC-ID=Z,PLSP-ID=2--------->| CCI | | | | | ||<---PCUpd,PLSP-ID=2,PST=TBD1,D=1------||<---PCUpd,PLSP-ID=2,PST=2,D=1---------| PCECC LSP | | | (UP) | Update | | |----PCRpt,PLSP-ID=2,D=1,C=1---------->| | | | (UP) |]]> </artwork>]]></artwork> </figure> <t>Once the label operations are completed, the PCEMUST<bcp14>MUST</bcp14> send a PCUpd message to the ingress PCC.TheAs per <xref target="RFC8231" format="default"/>, the PCUpd message isas per <xref target='RFC8231'/>with the D flag set.</t> <t>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 adata planedata-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>In the case where the label allocations are made by the PCC itself (see <xreftarget="PCC"/>),target="PCC" format="default"/>), the PCE could request an allocation to be made by thePCC, and thenPCC; then, the PCC would send a PCRpt message with the allocated label encoded in the CC-ID objectas(as shown in <xreftarget="SEC_FIG4b"/>target="SEC_FIG4b" format="default"/>) in the configuration sequence from the egress towards the ingress along the path.</t> <figurealign="left" alt="" height="" suppress-title="false" title="PCE-Initiatedanchor="SEC_FIG4b"> <name>PCE-Initiated PCECC LSP (PCCallocation)" width="" anchor="SEC_FIG4b">Allocation)</name> <artwork align="left" alt=""height=""name=""type="" width="" xml:space="preserve"> <![CDATA[type=""><![CDATA[ +-------+ +-------+ |PCC | | PCE | |ingress| +-------+ +------| | | | PCC +-------+ | | transit| | | +------| ||<--PCInitiate,PLSP-ID=0,PST=TBD1,-----||<--PCInitiate,PLSP-ID=0,PST=2,--------| PCECC LSP |PCC +--------+ | | Initiate |egress | | |----PCRpt,PLSP-ID=2,D=1,C=1---------->| PCECC LSP +--------+ | | (GOING-UP) | | | | | |<-------PCInitiate,CC-ID=X,PLSP-ID=2----------------| Label | | | C=1,O=0 | download |--------PCRpt,CC-ID=X,PLSP-ID=2-------------------->| CCI | | | Label=L1 | | |<------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--------------------->| | | | CC-ID=Y1,O=0,Label=L2 | | | | CC-ID=Y2,O=1 | | | |<----PCInitiate,CC-ID=Z,PLSP-ID=2-----| Label | | | C=0,O=1,L2 | download | | |-----PCRpt,CC-ID=Z,PLSP-ID=2--------->| CCI | | | | | ||<---PCUpd,PLSP-ID=2,PST=TBD1,D=1------||<---PCUpd,PLSP-ID=2,PST=2,D=1---------| PCECC LSP | | | (UP) | Update]]> </artwork>]]></artwork> </figure><t>It<t>In this example, it should be noted thatin this example,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 theegressegress, and the egress responds with the allocated label to the PCE. The PCE furtherinforminforms the transit PCC without setting the C bit to1'1' in the CCI object forout-labelthe out-label, but the C bit is set to1'1' forin-labelthe in-label, so the transit nodemakemakes the label allocation (for the in-label) andreportreports to the PCE. Similarly, the C bit is unset towards the ingress to complete all the labelallocationallocations for the PCECC LSP. </t><!--<t>[Note: See <xref target="appendix"/> for how we could use PCInitiate message instead of PCLabelUpd message.]</t> --></section> <sectiontitle="PCC-Initiated PCECC LSP"toc="default"anchor="SEC_BASIC_SETUP">anchor="SEC_BASIC_SETUP" numbered="true"> <name>PCC-Initiated PCECC LSP</name> <t>In order to set up an LSP based on the PCECC mechanism where the LSP is configured at the PCC, a PCCMUST<bcp14>MUST</bcp14> delegate the LSP by sending a PCRpt message with the PST set for the PCECC (see <xreftarget="SEC_PATH"/>)target="SEC_PATH" format="default"/>) and D (Delegate) flag (see <xreftarget='RFC8231'/>)target="RFC8231" format="default"/>) set in the LSP object (see <xreftarget="SEC_FIG2"/>).</t> <!--Paragaraph moved up "An LSP-IDENTIFIER TLV MUST be..."-->target="SEC_FIG2" format="default"/>).</t> <t>When a PCE receives the initial PCRpt message with the D flag and PSTTypeset toTBD1,'2', itSHOULD<bcp14>SHOULD</bcp14> calculate the path andassignsassign labels along thepath; and setspath in addition to setting up the path by sending a PCInitiate message to each node along the path of theLSPLSP, as per the PCECC technique (see <xreftarget="SEC_FIG2"/>).target="SEC_FIG2" format="default"/>). The CC-ID uniquely identifies thecentral controller instructionCCI within a PCEP session. Each PCC further responds with the PCRptmessagesmessages, including thecentral controller instruction (CCI) and the LSP objects.</t> <!-- Paragaraph moved up <t>The ingress node would receive one CCI object with O bit (out-label) set. The transit node(s) would receive two CCI objects with the in-label CCI without an O bit set and the out-label CCI with O bit set. The egress node would receive one CCI object without O bit set. A node can determine its role based on the setting of the O bit in theCCIobject(s)andthe LSP-IDENTIFIER TLV in theLSPobject.</t> -->objects.</t> <t>Once thecentral controller instructionsCCI (label operations) are completed, the PCEMUST<bcp14>MUST</bcp14> send the PCUpd message to the ingress PCC. As per <xreftarget='RFC8231'/>,target="RFC8231" format="default"/>, this PCUpd message should include the path information calculated by the PCE. </t> <t>Note that the PCECC LSPsMUST<bcp14>MUST</bcp14> be delegated to a PCE at all times. </t> <t>The LSP deletion operation for the PCECC LSPs is the same as defined in <xreftarget='RFC8231'/>.target="RFC8231" format="default"/>. If the PCE receives a PCRpt message for LSPdeletiondeletion, then it does labelclean up operationthe cleanup operation, as described in <xreftarget="SEC_CLEANUP"/>target="SEC_CLEANUP" format="default"/>, for the corresponding LSP.</t> <t>TheBasicbasic PCECC LSP setup sequence is as shown in <xreftarget="SEC_FIG2"/>.</t>target="SEC_FIG2" format="default"/>.</t> <figurealign="left" alt="" height="" suppress-title="false" title="PCC-Initiated PCECC LSP" width=""anchor="SEC_FIG2"> <name>PCC-Initiated PCECC LSP</name> <artwork align="left" alt=""height=""name=""type="" width="" xml:space="preserve"> <![CDATA[type=""><![CDATA[ +-------+ +-------+ |PCC | | PCE | |ingress| +-------+ +------| | | | PCC +-------+ | | transit| | | +------| ||---PCRpt,PLSP-ID=1,PST=TBD1,D=1----->||---PCRpt,PLSP-ID=1,PST=2,D=1-------->| PCECC LSP |PCC +--------+ | | |egress | | | | +--------+ | | | | | | | |<-------PCInitiate,CC-ID=X,PLSP-ID=1---------------| Label | | | L1,O=0 | download |--------PCRpt,CC-ID=X,PLSP-ID=1------------------->| CCI | | | | | |<------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-------->| | | | | | | |<----PCInitiate,CC-ID=Z,PLSP-ID=1----| Label | | | L2,O=1 | download | | |-----PCRpt,CC-ID=Z,PLSP-ID=1-------->| CCI | | | | | ||<---PCUpd,PLSP-ID=1,PST=TBD1,D=1-----||<---PCUpd,PLSP-ID=1,PST=2,D=1--------| PCECC LSP | | | | Update | | | |]]> </artwork>]]></artwork> </figure><!-- Paragaraph moved up <t>The PCECC LSPs are considered to be 'up' by default (on receipt of PCUpd message from PCE). The ingress MAY 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).</t> --><t>In the case where the label allocations are made by the PCC itself (see <xreftarget="PCC"/>),target="PCC" format="default"/>), the PCE could request an allocation to be made by thePCC, and thenPCC; then, the PCC would send a PCRpt message with the allocated label encoded in the CC-IDobjectobject, as shown in <xreftarget="SEC_FIG2b"/>.</t>target="SEC_FIG2b" format="default"/>.</t> <figurealign="left" alt="" height="" suppress-title="false" title="PCC-Initiatedanchor="SEC_FIG2b"> <name>PCC-Initiated PCECC LSP (PCCallocation)" width="" anchor="SEC_FIG2b">Allocation)</name> <artwork align="left" alt=""height=""name=""type="" width="" xml:space="preserve"> <![CDATA[type=""><![CDATA[ +-------+ +-------+ |PCC | | PCE | |ingress| +-------+ +------| | | | PCC +-------+ | | transit| | | +------| ||---PCRpt,PLSP-ID=1,PST=TBD1,D=1----->||---PCRpt,PLSP-ID=1,PST=2,D=1-------->| PCECC LSP |PCC +--------+ | | |egress | | | | +--------+ | | | | | | | |<-------PCInitiate,CC-ID=X,PLSP-ID=1---------------| Label | | | C=1 | download |--------PCRpt,CC-ID=X,PLSP-ID=1------------------->| CCI | | | Label=L1 | | |<------PCInitiate,PLSP-ID=1,---------------| Labels | | | CC-ID=Y1,C=1 | download | | | CC-ID=Y2,C=0,L1 | CCI | |-------PCRpt,PLSP-ID=1-------------------->| | | | CC-ID=Y1,Label=L2 | | | | CC-ID=Y2 | | | |<----PCInitiate,CC-ID=Z,PLSP-ID=1----| Label | | | C=0,L2 | download | | |-----PCRpt,CC-ID=Z,PLSP-ID=1-------->| CCI | | | | | ||<---PCUpd,PLSP-ID=1,PST=TBD1,D=1-----||<---PCUpd,PLSP-ID=1,PST=2,D=1--------| PCECC LSP | | | | Update | | | |- The]]></artwork> </figure> <aside> <t>Note:</t> <t>The O bit is set as before (and thus notincluded) ]]> </artwork> </figure>included).</t> </aside> <t>In the case where the label allocations are made by the PCC itself (see <xreftarget="PCC"/>),target="PCC" format="default"/>), the procedure remains the same, with just an additional constraint on the configuration sequence.</t> <t>The rest of thePCC-InitiatedPCC-initiated PCECC LSP setup operations are the same as those described in <xreftarget="PCE-I"/>.</t> <!-- Paragaraph moved up <t>It should be noted that in this example, 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 inform the transit PCC without setting the C bit to 1 in the CCI object for out-label but the C bit is set to 1 for in-label so the transit node make the label allocation (for the in-label) and report to the PCE. Similarly, the C bit is unset towards the ingress to complete all the label allocation for the PCECC LSP. </t> -->target="PCE-I" format="default"/>.</t> </section> <sectiontitle="Central Controller Instructions"toc="default"anchor="CCI">anchor="CCI" numbered="true"> <name>Central Controller Instructions</name> <t>The newcentral controller instructions (CCI)CCI for the label operations in PCEP are done via the PCInitiate message (<xreftarget="SEC_PCInitiate"/>),target="SEC_PCInitiate" format="default"/>) by defining a new PCEPObjectobject for CCI operations. The local label range of each PCC is assumed to be known by both the PCC and the PCE. </t> <sectiontitle="Label Download CCI"toc="default"anchor="LabelDownloadCCI">anchor="LabelDownloadCCI" numbered="true"> <name>Label Download CCI</name> <t>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 theLabel instructionlabel instructions, as described in Sections <xreftarget="PCE-I"/>target="PCE-I" format="counter"/> and <xreftarget="SEC_BASIC_SETUP"/>.target="SEC_BASIC_SETUP" format="counter"/>. </t> <t>The CCI objectMUST<bcp14>MUST</bcp14> be included, along with the LSP object in the PCInitiate message. The LSP-IDENTIFIERS TLVMUST<bcp14>MUST</bcp14> be included in the LSP object. The SPEAKER-ENTITY-ID TLVSHOULD<bcp14>SHOULD</bcp14> be included in the LSP object.</t> <t>If a node (PCC) receives a PCInitiate messagewhichthat includes aLabellabel todownload, asdownload (as part ofCCI,CCI) that is out of the range set aside for the PCE, itMUST<bcp14>MUST</bcp14> send a PCErr message withError-type=TBD5Error-Type=31 (PCECC failure) andError-value=TBD6Error-value=1 (Label out of range) andMUST<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 theLabellabel entry, itMUST<bcp14>MUST</bcp14> send a PCErr message withError-type=TBD5Error-Type=31 (PCECC failure) andError-value=TBD7 (instructionError-value=2 (Instruction failed) andMUST<bcp14>MUST</bcp14> include the SRP object to specify the error is for the corresponding label update via a PCInitiate message.</t> <t>A new PCEP object forcentral controller instructions (CCI)CCI is defined in <xreftarget='SEC_CCI'/>.</t>target="SEC_CCI" format="default"/>.</t> </section> <sectiontitle="Label Clean up CCI"toc="default"anchor="SEC_CLEANUP">anchor="SEC_CLEANUP" numbered="true"> <name>Label Cleanup CCI</name> <t>In order to delete an LSP based on the PCECC, the PCE sendsa central controller instructionsCentral Controller Instructions via a PCInitiate message to each node along the path of the LSP to clean up theLabel forwardinglabel-forwarding instruction. </t> <t>If the PCC receives a PCInitiate message but does not recognize the label in the CCI, the PCCMUST<bcp14>MUST</bcp14> generate a PCErr message withError-Type 19(InvalidError-Type=19 (Invalid operation) andError-Value=TBD8, "Unknown Label"Error-value=18 (Unknown Label) andMUST<bcp14>MUST</bcp14> include the SRP object to specify the error is for the corresponding labelclean upcleanup (via a PCInitiate message). </t> <t>The R flag in the SRP object defined in <xreftarget='RFC8281'/>target="RFC8281" format="default"/> specifies the deletion ofLabel Entrythe label entry in the PCInitiate message.</t> <figurealign="left" alt="" height="" suppress-title="false" title="Label Cleanup" width=""anchor="SEC_FIG3"> <name>Label Cleanup</name> <artwork align="left" alt=""height=""name=""type="" width="" xml:space="preserve"> <![CDATA[type=""><![CDATA[ +-------+ +-------+ |PCC | | PCE | |ingress| +-------+ +------| | | | PCC +-------+ | | transit| | | +------| | | | |PCC +--------+ | | |egress | | | | +--------+ | | | | | | | |<-------PCInitiate,CC-ID=X,PLSP-ID=2----------------| Label | | | R=1 |clean upcleanup |--------PCRpt,CC-ID=X,PLSP-ID=2-------------------->| CCI | | | R=1 | | |<------PCInitiate,CC-ID=Y1,Y2,PLSP-ID=2-----| Label | | | R=1 |clean upcleanup | |-------PCRpt,CC-ID=Y1,Y2,PLSP-ID=2--------->| CCI | | | R=1 | | | |<----PCInitiate,CC-ID=Z,PLSP-ID=2-----| Label | | | R=1 |clean upcleanup | | |-----PCRpt,CC-ID=Z,PLSP-ID=2--------->| CCI | | | R=1 | | ||<--PCInitiate,PLSP-ID=2,PST=TBD1,R=1--||<--PCInitiate,PLSP-ID=2,PST=2,R=1-----| PCECC LSP | | | | remove]]> </artwork>]]></artwork> </figure> <t>As per <xreftarget='RFC8281'/>,target="RFC8281" format="default"/>, following the removal of theLabel forwardinglabel-forwarding instruction, the PCCMUST<bcp14>MUST</bcp14> send a PCRpt message. The SRP object in the PCRptMUSTmessage <bcp14>MUST</bcp14> include the SRP-ID-number from the PCInitiate message that triggered the removal. The R flag in the SRP objectMUST<bcp14>MUST</bcp14> be set.</t> <t>In the case where the label allocation is made by the PCC itself (see <xreftarget="PCC"/>),target="PCC" format="default"/>), the removal procedure remains the same, adding the sequence constraint.</t> </section> </section> <sectiontitle="PCECCtoc="default" numbered="true"> <name>PCECC LSPUpdate" toc="default">Update</name> <t>The update is done as per the make-before-break procedures,i.e.i.e., the PCECC first updates new label instructions based on the updated path and then informs the ingress to switchtraffic,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 theingressingress, 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 doesclean upthe cleanup operation for the formerLSPLSP, as described in <xreftarget="SEC_CLEANUP"/>.</t> <t>The PCECC LSP Update sequence is shown in <xref target="SEC_FIG5"/>. </t>target="SEC_CLEANUP" format="default"/>.</t> <figurealign="left" alt="" height="" suppress-title="false" title="PCECC LSP Update" width=""anchor="SEC_FIG5"> <name>PCECC LSP Update</name> <artwork align="left" alt=""height=""name=""type="" width="" xml:space="preserve"> <![CDATA[type=""><![CDATA[ +-------+ +-------+ |PCC | | PCE | |ingress| +-------+ +------| | | | PCC +-------+ | | transit| | | +------| | | | |PCC +--------+ | | |egress | | | | +--------+ | | | | | | | New Path |<------ PCInitiate,CC-ID=XX,PLSP-ID=1 -------------| for LSP | | | | trigger |--------PCRpt,CC-ID=XX,PLSP-ID=1------------------>| new CCI | | | | | |<------PCInitiate,CC-ID=YY1,YY2,PLSP-ID=1--| Label | | | | download | |-------PCRpt,CC-ID=YY1,YY2,PLSP-ID=1------>| CCI | | | | | | |<----PCInitiate,CC-ID=ZZ,PLSP-ID=1---| Label | | | | download | | |-----PCRpt,CC-ID=ZZ,PLSP-ID=1------->| CCI | | | | | ||<---PCUpd,PLSP-ID=1,PST=TBD1,D=1-----||<---PCUpd,PLSP-ID=1,PST=2,D=1--------| PCECC | | | SRP=S | LSP Update | | | | | ||---PCRpt,PLSP-ID=1,PST=TBD1,D=1----->||---PCRpt,PLSP-ID=1,PST=2,D=1-------->| Trigger | | | (SRP=S) | Delete | | | | former CCI | | | | |<-------PCInitiate,CC-ID=X,PLSP-ID=1---------------| Label | | | R=1 |clean upcleanup |--------PCRpt,CC-ID=X,PLSP-ID=1------------------->| CCI | | | R=1 | | |<------PCInitiate,CC-ID=Y1,Y2,PLSP-ID=1----| Label | | | R=1 |clean upcleanup | |-------PCRpt,CC-ID=Y1,Y2,PLSP-ID=1-------->| CCI | | | R=1 | | | |<----PCInitiate,CC-ID=Z,PLSP-ID=1----| Label | | | R=1 |clean upcleanup | | |-----PCRpt,CC-ID=Z,PLSP-ID=1-------->| CCI | | | R=1 |]]> </artwork>]]></artwork> </figure> <t>The modified PCECC LSPs are considered to be 'up' by default. The ingress could further choose to deploy adata planedata-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>In the case where the label allocations are made by the PCC itself (see <xreftarget="PCC"/>),target="PCC" format="default"/>), the procedure remains the same.</t><!--<t>[Note: We could use PCInitiate message instead of PCLabelUpd message, See <xref target="appendix"/>]</t>--></section> <sectiontitle="Re-Delegationtoc="default" numbered="true"> <name>Re-delegation andClean up" toc="default">Cleanup</name> <t>As described in <xreftarget='RFC8281'/>,target="RFC8281" format="default"/>, a new PCE can gain control over an orphaned LSP. In the case of a PCECC LSP, the new PCEMUST<bcp14>MUST</bcp14> also gain control over thecentral controller instructionsCCI 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 theinstructioninstructions that it wants to take control of. </t> <t>Further, as described in <xreftarget='RFC8281'/>,target="RFC8281" format="default"/>, 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 thecentral controller instructions are notCentral Controller Instructions are not removed immediately upon PCE failure. Instead, they are cleaned up on the expiration of this timer. This allows for networkclean upcleanup without manual intervention. The PCCMUST<bcp14>MUST</bcp14> support the removal of CCI as one of the behaviors applied on expiration of the State Timeout Interval timer.</t> <t>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 <xreftarget='RFC8741'/>target="RFC8741" format="default"/> to request delegation. The control over thecentral controller instructionsCCI is described above using <xreftarget='RFC8281'/>.</t>target="RFC8281" format="default"/>.</t> </section> <sectiontitle="Synchronizationtoc="default" anchor="sec_label_db_sync" numbered="true"> <name>Synchronization of CentralControllers Instructions" toc="default" anchor="sec_label_db_sync">Controller Instructions</name> <t>The purpose ofCentral Controllers InstructionsCCI synchronization (labels in the context of this document) is to make sure that the PCE's view of CCI(Labels)(labels) matches with the PCC'sLabellabel allocation. This synchronization is performed as part of the LSPstate synchronizationState Synchronization, as described in <xreftarget='RFC8231'/>target="RFC8231" format="default"/> and <xreftarget='RFC8232'/>.</t>target="RFC8232" format="default"/>.</t> <t>As per LSP State Synchronization <xreftarget='RFC8231'/>,target="RFC8231" format="default"/>, a PCC reports the state of its LSPs to the PCE using PCRpt messagesandand, as per <xreftarget='RFC8281'/>,target="RFC8281" format="default"/>, 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 theCentral Controllers InstructionsCCI synchronization. The PCRpt message includes the CCI and the LSP object to report thelabel forwardinglabel-forwarding instructions. The PCE would further remove any unwanted instructions or initiate any missing instructions.</t><!--<t>[Note: This section currently describe procedure based on new messages, suitable modification can be made if existing message are used instead <xref target="appendix"/>. In the case, some modifications needs to be made to the existing LSP-DB synchronization mechanism to also handle the label synchronization.]</t>--></section> <sectiontitle="PCECCtoc="default" numbered="true"> <name>PCECC LSP StateReport" toc="default">Report</name> <t>As mentioned before, an ingress PCCMAY<bcp14>MAY</bcp14> choose to apply anyOAMOperations, Administration, and Maintenance (OAM) mechanism to check the status of the LSP in theDatadata plane andMAY<bcp14>MAY</bcp14> further send its status in a PCRpt message to the PCE. </t> </section> <sectiontitle="PCC-Based Allocations"toc="default"anchor="PCC">anchor="PCC" numbered="true"> <name>PCC-Based Allocations</name> <t> The PCE can request the PCC to allocate the label using the PCInitiate message. The C flag in the CCI object is set to1'1' to indicate that the allocation needs to bedonemade by the PCC. The PCCMUST<bcp14>MUST</bcp14> try to allocate theLabellabel andMUST<bcp14>MUST</bcp14> report to the PCE via a PCRpt or PCErr message. </t> <t>If the value of theLabellabel is 0 and the C flag is set to1,'1', it indicates that the PCE is requesting the allocation to bedonemade by the PCC. If theLabellabel is 'n' and the C flag is set to1'1' in the CCI object, it indicates that the PCE requests a specific value 'n' for theLabel.label. If the allocation is successful, the PCCMUST<bcp14>MUST</bcp14> report via the PCRpt message with the CCI object. If the value of theLabellabel in the CCI object is invalid, itMUST<bcp14>MUST</bcp14> send a PCErr message withError-Type = TBD5 ("PCECC failure")Error-Type=31 (PCECC failure) andError Value = TBD9 ("Invalid CCI").Error-value=3 (Invalid CCI). If it is valid but the PCC is unable to allocate it, itMUST<bcp14>MUST</bcp14> send a PCErr message withError-Type = TBD5 ("PCECC failure")Error-Type=31 (PCECC failure) andError Value = TBD10 ("UnableError-value=4 (Unable to allocate the specifiedCCI").CCI). </t> <t>If the PCC wishes to withdraw or modify the previously assigned label, itMUST<bcp14>MUST</bcp14> send a PCRpt message without anyLabellabel or with theLabellabel containing the newvalue respectivelyvalue, respectively, in the CCI object. The PCE would further trigger theLabellabel cleanup of the olderlabellabel, as per <xreftarget="SEC_CLEANUP"/>.</t>target="SEC_CLEANUP" format="default"/>.</t> </section> </section> </section><!-- move this section to draft-ietf-pce-binding-label-sid<sectiontitle="Binding Label"toc="default"anchor="BSID">numbered="true"> <name>PCEP Messages</name> <t>Asperdefined in <xreftarget="I-D.ietf-pce-binding-label-sid"/>, whentarget="RFC5440" format="default"/>, astateful PCE is deployed for setting up TE paths, it mayPCEP message consists of a common header followed by a variable-length body made of a set of objects that can bedesirable to report the binding labeleither mandatory or optional. An object is said to be mandatory in a PCEP message when thestateful PCEobject must be included for thepurposemessage to be considered valid. For each PCEP message type, a set ofenforcing end-to-end TE. Inrules is defined, which specifies thecaseset of objects that thePCECC,message can carry. An implementation <bcp14>MUST</bcp14> form thebinding label may be allocated byPCEP messages using thePCE itself as describedobject ordering specified in thissection. This procedure is thus applicable for all path setup types including PCECC.</t> <t>A P flagdocument.</t> <t>The LSP-IDENTIFIERS TLV <bcp14>MUST</bcp14> be included in the LSP objectis introducedfor the PCECC LSP.</t> <t>The message formats in this document are specified using Routing Backus-Naur Form (RBNF) encoding, as specified in <xreftarget="I-D.ietf-pce-sr-path-segment"/> to indicate the allocation needs to be made by the PCE. A PCC would set this bit to 1 (and carry the TE-PATH-BINDING TLVtarget="RFC5511" format="default"/>.</t> <section toc="default" anchor="SEC_PCInitiate" numbered="true"> <name>The PCInitiate Message</name> <t>The PCInitiate message <xreftarget="I-D.ietf-pce-binding-label-sid"/> in the LSP object)target="RFC8281" format="default"/> can be used torequest for allocation of the binding label by the PCE in the PCReqdownload orPCRpt message. A PCE would also setremove the labels; thisbit to 1 to indicate thatdocument extends thebinding labelmessage, as shown below.</t> <sourcecode type=""><![CDATA[ <PCInitiate Message> ::= <Common Header> <PCE-initiated-lsp-list> ]]></sourcecode> <t>Where:</t> <ul spacing="normal"> <li><Common Header> isallocated by PCEdefined in <xref target="RFC5440" format="default"/>.</li> </ul> <sourcecode type=""><![CDATA[ <PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request> [<PCE-initiated-lsp-list>] <PCE-initiated-lsp-request> ::= (<PCE-initiated-lsp-instantiation>| <PCE-initiated-lsp-deletion>| <PCE-initiated-lsp-central-control>) <PCE-initiated-lsp-central-control> ::= <SRP> <LSP> <cci-list> <cci-list> ::= <CCI> [<cci-list>] ]]></sourcecode> <t>Where:</t> <ul spacing="normal"> <li><PCE-initiated-lsp-instantiation> andencoded<PCE-initiated-lsp-deletion> are as per <xref target="RFC8281" format="default"/>.</li> <li>The LSP and SRP object is defined inthe PCRep, PCUpd, or<xref target="RFC8231" format="default"/>.</li> </ul> <t>When a PCInitiate message(the TE-PATH-BINDING TLVispresentused for the CCI (labels), the SRP, LSP, and CCI objects <bcp14>MUST</bcp14> be present. The SRP object is defined inLSP object). Further, a PCE would set this bit to 0 to indicate that<xref target="RFC8231" format="default"/>; if theallocationSRP object isdone bymissing, the receiving PCCinstead.</t> <t>The ingress PCC could request the binding label to be allocated by the PCE via<bcp14>MUST</bcp14> send aPCRptPCErr messageas per <xref target="RFC8231"/>. The delegate flag (D-flag) MUST also be set for this LSP. The TE-PATH-BINDING TLV MUST be includedwithno Binding Value. The PCECC would allocate the binding labelError-Type=6 (Mandatory Object missing) andfurther respond to ingress PCC with PCUpd message as perError-value=10 (SRP object missing). The LSP object is defined in <xreftarget="RFC8231"/>target="RFC8231" format="default"/>, andMUST includeif theTE-PATH-BINDING TLV in anLSPobject.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). TheP flagCCI object is defined in <xref target="SEC_CCI" format="default"/>, and if theLSPCCI objectwould be set to 1 to indicate that the allocationismade by the PCE.</t> <t>The PCE could allocatemissing, thebinding label on its own accord forreceiving PCC <bcp14>MUST</bcp14> send aPCE- Initiated (or delegated) LSP. The allocated binding label needs toPCErr message with Error-Type=6 (Mandatory Object missing) and Error-value=17 (CCI object missing). More than one CCI object <bcp14>MAY</bcp14> beinformed to the PCC. The PCE would useincluded in the PCInitiate message<xref target="RFC8281"/> or PCUpd message <xref target="RFC8231"/> towards the PCC and MUST includefor a transit LSR.</t> <t>To clean up entries, theTE-PATH-BINDING TLVR (remove) bit <bcp14>MUST</bcp14> be set in theLSP object. The P flag inSRP object to be encoded along with the LSP and CCI objects.</t> <t>The CCI objectwould be set to 1 to indicate thatreceived at theallocationingress 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 ismade bynot thePCE.</t> <t>Before a PCE can allocatecase, the PCC <bcp14>MUST</bcp14> send abinding labelPCErr message with Error-Type=31 (PCECC failure) and Error-value=3 (Invalid CCI). Other instances of thePCECC capability MUSTCCI object, if present, <bcp14>MUST</bcp14> beexchanged onignored.</t> <t>For thePCEP session. Note thatpoint-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 notused for binding allocation; this is done to maintain consistencyreceive two CCI objects, withthe restone of them having thebinding label/SID procedures as per <xref target="I-D.ietf-pce-binding-label-sid"/>.</t> </section> --> </section> </section> <section title="PCEP Messages" toc="default"> <t>As defined in <xref target="RFC5440" />,O bit set and another with the O bit unset, it <bcp14>MUST</bcp14> send aPCEPPCErr messageconsistswith Error-Type=31 (PCECC failure) and Error-value=3 (Invalid CCI).</t> <t>Note that, on receipt ofa 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 forthe PCInitiate messageto be considered valid. For each PCEP message type, a set of rules is defined that specifywith CCI object, thesetingress, egress, or transit role ofobjects that the message can carry. An implementation MUST formthePCEP messages usingPCC is identified via theobject ordering specified in this document.</t> <t>LSP-IDENTIFIERS TLV MUST be includedingress and egress IP address encoded in theLSP object for PCECC LSP.</t>LSP-IDENTIFIERS TLV.</t> </section> <section toc="default" anchor="SEC_PCRpt" numbered="true"> <name>The PCRpt Message</name> <t>The PCRpt messageformats in this document are specified using Routing Backus-Naur Form (RBNF) encoding as specified in <xref target="RFC5511" />.</t> <!--<section title="Label Operations" toc="default" anchor="SEC_LabelOp"> <t>[Editor's Note: This document defines new messages PCLabelUpd and PCLabelRpt. The authors and WG also debated on the use of existing PCEP messages. See <xref target="appendix"/> on how the existing messagescan beextended to add this functionality. WG needsused todecidereport thefinal direction i.e. new specific messages are needed or existing PCEP messages can be extended.]</t>--> <!--<section title="The PCLabelUpd message" toc="default" anchor="SEC_PCLabelUpd"> <t>A new Label Update Message (also referred to as PCLabelUpd) is a PCEP message sentlabels that were allocated byathe PCE toa PCC to download label or update the label map. The same message is alsobe usedto cleanup the Label entry. The Message-Type field of the PCEP common header for the PCLabelUpd message is set to TBD.</t> <t>The format ofduring thePCLabelUpd message isState Synchronization phase or asfollows:</t> <figure align="left" alt="" height="" suppress-title="true" title="" width="" anchor="SEC_FIG7"> <artwork align="left" alt="" height="" name="" type="" width="" xml:space="preserve"> <![CDATA[ <PCLabelUpdan acknowledgment to a PCInitiate message. </t> <sourcecode type=""><![CDATA[ <PCRpt Message> ::= <Common Header><pce-label-update-list> Where: <pce-label-update-list><state-report-list> ]]></sourcecode> <t>Where:</t> <sourcecode type=""><![CDATA[ <state-report-list> ::=<pce-label-update> [<pce-label-update-list>] <pce-label-update><state-report>[<state-report-list>] <state-report> ::=<pce-label-download> Where: <pce-label-download>(<lsp-state-report>| <central-control-report>) <lsp-state-report> ::=<SRP>[<SRP>] <LSP><label-list> <label-list ><path> <central-control-report> ::=<LABEL> [<label-list>] ]]> </artwork> </figure> <t>The PCLabelUpd message is used to download label along the path of the LSP.</t> <t>The SRP object[<SRP>] <LSP> <cci-list> <cci-list> ::= <CCI> [<cci-list>] ]]></sourcecode> <t>Where:</t> <ul spacing="normal"> <li><path> isdefined inas per <xreftarget='RFC8231'/>target="RFC8231" format="default"/>, andthis document extendstheuse of SRP object in PCLabelUpd message. The SRP object is mandatoryLSP andMUST be included in PCLabelUpd message. If theSRPobject is missing, the receiving PCC MUST send a PCErr message with Error-type=6 (Mandatory Object missing) and Error-value=10 (SRP object missing).</t> <t>The LSP object isobjects are also defined in <xreftarget='RFC8231'/> and this document extends the use of LSP object in PCLabelUpd message. LSP Identifiers TLVtarget="RFC8231" format="default"/>.</li> </ul> <t>When a PCRpt message isdefined in <xref target='RFC8231'/>, it MAY be included inused to report the CCI (labels), the LSPobject in PCLabelUpd message. Eitherand CCI objects <bcp14>MUST</bcp14> be present. The LSP objector FEC object defined in <xref target='I-D.zhao-pce-pcep-extension-pce-controller-sr'/> is mandatory in PCLabelUpd message. </t> <t>The LABEL objectis defined in <xreftarget="SEC_LABEL"/>. The LABEL is the mandatory objecttarget="RFC8231" format="default"/>, andMUST be included in PCLabelUpd message. Ifif theLABELLSP object is missing, the receivingPCC MUSTPCE <bcp14>MUST</bcp14> send a PCErr message withError-type=6Error-Type=6 (Mandatory Object missing) andError-value=TBD (LABELError-value=8 (LSP object missing).More than one LABEL object MAY be included in the PCLabelUpd message for the transit LSR.</t> <t>To cleanup the SRP object must set the R (remove) bit.</t> </section> <section title="The PCLabelRpt message" toc="default" anchor="SEC_PCLabelRpt"> <t>A new Label Report Message (also referred to as PCLabelRpt) is a PCEP message sent by a PCC to a PCE to report the label. The Message-Type field of the PCEP common header for the PCLabelRpt message is set to TBD.</t> <t>The format of the PCLabelRpt message is as follows:</t> <figure align="left" alt="" height="" suppress-title="true" title="" width="" anchor="SEC_FIGRPT"> <artwork align="left" alt="" height="" name="" type="" width="" xml:space="preserve"> <![CDATA[ <PCLabelRpt Message> ::= <Common Header> <pce-label-report-list> Where: <pce-label-report-list> ::= <pce-label-report> [<pce-label-report-list>] <pce-label-report> ::= <pce-label-delegate> Where: <pce-label-delegate> ::= <SRP> <LSP> <label-list> <label-list > ::= <LABEL> [<label-list>] ]]> </artwork> </figure> <t>The SRP object is defined in <xref target='RFC8231'/> and this document extends the use of SRP object in PCLabelRpt message.TheSRP object is mandatory and MUST be included in PCLabelRpt message. If the SRPCCI objectis missing, the receiving PCE MUST send a PCErr message with Error-type=6 (Mandatory Object missing) and Error-value=10 (SRP object missing).</t> <t>The LSP object is defined in <xref target='RFC8231'/> and this document extends the use of LSP object in PCLabelRpt message. LSP Identifiers TLV is defined in <xref target='RFC8231'/>, it MAY be included in the LSP object in PCLabelRpt message. Either LSP object or FEC object defined in <xref target='I-D.zhao-pce-pcep-extension-pce-controller-sr'/> is mandatory in PCLabelRpt message. </t> <t>The LABEL object is defined in <xref target="SEC_LABEL"/>. The LABEL is the mandatory object and MUST be included in PCLabelRpt message. If the LABEL object is missing, the receiving PCE MUST send a PCErr message with Error-type=6 (Mandatory Object missing) and Error-value=TBD (LABEL object missing). More than one LABEL object MAY be included in the PCLabelRpt message.</t> </section>--> <section title="The PCInitiate Message" toc="default" anchor="SEC_PCInitiate"> <t>The PCInitiate message <xref target='RFC8281'/> can be used to download or remove the labels, this document extends the message as shown below - </t> <figure title="" suppress-title="false" align="left" alt="" width="" height=""> <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[ <PCInitiate Message> ::= <Common Header> <PCE-initiated-lsp-list> Where: <Common Header> is defined in [RFC5440] <PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request> [<PCE-initiated-lsp-list>] <PCE-initiated-lsp-request> ::= (<PCE-initiated-lsp-instantiation>| <PCE-initiated-lsp-deletion>| <PCE-initiated-lsp-central-control>) <PCE-initiated-lsp-central-control> ::= <SRP> <LSP> <cci-list> <cci-list> ::= <CCI> [<cci-list>] Where: <PCE-initiated-lsp-instantiation> and <PCE-initiated-lsp-deletion> are as per [RFC8281]. The LSP and SRP object is defined in [RFC8231]. ]]></artwork> </figure> <t>When PCInitiate message is used for the central controller instructions (labels), the SRP, LSP, and CCI objects MUST be present. The SRP object is defined in <xref target='RFC8231'/> and if the SRP object is missing, the receiving PCC MUST 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'/> and if the LSP object is missing, the receiving PCC MUST 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"/> and if the CCI object is missing, the receiving PCC MUST send a PCErr message with Error-type=6 (Mandatory Object missing) and Error-value=TBD11 (CCI object missing). More than one CCI object MAY be included in the PCInitiate message for a transit LSR.</t> <t>To clean up entries, the R (remove) bit MUST be set in the SRP object to be encoded along with the LSP and the CCI object.</t> <t>The CCI object received at the ingress node MUST have the O bit (out-label) set. The CCI Object received at the egress MUST have the O bit unset. If this is not the case, PCC MUST send a PCErr message with Error-Type = TBD5 ("PCECC failure") and Error Value = TBD9 ("Invalid CCI"). Other instances of the CCI object if present, MUST be ignored.</t> <t>For the P2P LSP setup via PCECC technique, at the transit LSR two CCI objects are expected for in-coming and outgoing label associated with the LSP object. If any other CCI object is included in the PCInitiate message, it MUST be ignored. If the transit LSR did not receive two CCI object with one of them having the O bit set and another with O bit unset, it MUST send a PCErr message with Error-Type = TBD5 ("PCECC failure") and Error Value = TBD9 ("Invalid CCI").</t> <t>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 title="The PCRpt Message" toc="default" anchor="SEC_PCRpt"> <t>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 PCInitiate message. <figure title="" suppress-title="false" align="left" alt="" width="" height=""> <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[ <PCRpt Message> ::= <Common Header> <state-report-list> Where: <state-report-list> ::= <state-report>[<state-report-list>] <state-report> ::= (<lsp-state-report>| <central-control-report>) <lsp-state-report> ::= [<SRP>] <LSP> <path> <central-control-report> ::= [<SRP>] <LSP> <cci-list> <cci-list> ::= <CCI> [<cci-list>] Where: <path> is as per [RFC8231] and the LSP and SRP object are also defined in [RFC8231]. ]]></artwork> </figure> </t> <t>When PCRpt message is used to report the central controller instructions (labels), the LSP and CCI objects MUST be present. The LSP object is defined in <xref target='RFC8231'/> and if the LSP object is missing, the receiving PCE MUST 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"/> and if the CCI object is missing, the receiving PCE MUST send a PCErr message with Error-type=6 (Mandatory Object missing) and Error-value=TBD11 (CCI object missing). Two CCI objects can be included in the PCRpt message for a transit LSR.</t> </section> </section> <section title="PCEP Objects" toc="default"> <t>The PCEP objects defined in this document are compliant with the PCEP object format defined in <xref target="RFC5440" />. <!-- The P flag and the I flag of the PCEP objects defined in this document MUST always be set to 0 on transmission and MUST be ignored on receipt since these flags are exclusively related to path computation requests.--></t> <section title="OPEN Object" toc="default"> <t>This document defines a new PST (TBD1) to be included in the PATH-SETUP-TYPE-CAPABILITY TLV in the OPEN Object. Further, a new sub-TLV for PCECC capability exchange is also defined.</t> <section title="PCECC Capability sub-TLV" toc="default" anchor="SEC_PCECC_CAP_TLV"> <t>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 TBD1. A PCECC-CAPABILITY sub-TLV MUST be ignored if the PST list does not contain PST=TBD1.</t> <!--<t>The PCECC-CAPABILITY sub-TLV is an optional TLV for use in the OPEN Object for PCECC capability advertisement in PATH-SETUP-TYPE-CAPABILITY TLV. Advertisement of the PCECC capability implies support of LSPs that are set up through PCECC as per PCEP extensions defined in this document.</t>--> <t>Its format is shown in <xref target="SEC_FIG8"/>.</t> <figure align="left" alt="" height="" suppress-title="false" title="PCECC Capability sub-TLV" width="" anchor="SEC_FIG8"> <artwork align="left" alt="" height="" name="" type="" width="" xml:space="preserve"> <![CDATA[ 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=TBD12 | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags |L| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]> </artwork> </figure> <t>The type of the TLV is TBD12 and it has a fixed length of 4 octets.</t> <t>The value comprises a single field - Flags (32 bits). Currently, the following flag bit is defined: <list style="symbols"> <t>L bit (Label): if set to 1 by a PCEP speaker, the L flag indicates that the PCEP speaker support and is willing to handle the PCECC based central controller instructions for label download. The bit MUST be set to 1 by both a PCC and a PCE for the PCECC label download/report on a PCEP session.</t> <t>Unassigned bits MUST be set to 0 on transmission and MUST be ignored on receipt.</t> </list></t> </section> </section> <section title="PATH-SETUP-TYPE TLV" toc="default" anchor="SEC_PATH"> <t>The PATH-SETUP-TYPE TLV is defined in <xref target='RFC8408'/>; this document defines a new PST value: <list style="symbols"> <t>PST = TBD1: Path is set up via PCECC mode.</t> </list></t> <t>On a PCRpt/PCUpd/PCInitiate message, the PST=TBD1 in the PATH-SETUP-TYPE TLV in the SRP object MUST be included for a LSP set up via the PCECC-based mechanism.</t> </section> <section title="CCI Object" toc="default" anchor="SEC_CCI"> <t>The Central Controller Instructions (CCI) Object is used by the PCE to specify the forwarding instructions (Label information in the context of this document) to the PCC, and MAY be carried within PCInitiate or PCRpt message for label download/report.</t> <t>CCI Object-Class is TBD13.</t> <t>CCI Object-Type is 1 for the MPLS Label.</t> <figure align="left" alt="" height="" suppress-title="false" title="CCI Object" width="" anchor="SEC_FIG9"> <artwork align="left" alt="" height="" name="" type="" width="" xml:space="preserve"> <![CDATA[ 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>The fields in the CCI object are as follows: <list style="hanging"> <t hangText="CC-ID:"> 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 MUST NOT be used. Note that <xref target='I-D.gont-numeric-ids-sec-considerations'/> gives advice on assigning transient numeric identifiers such as the CC-ID so as to minimize security risks.</t> <t hangText="Reserved1 (16 bit):">Set to zero while sending, ignored on receive.</t> <t hangText="Flags (16 bit):"> A field used to carry any additional information pertaining to the CCI. Currently, the following flag bits are defined: <list style="symbols"> <t>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"/> 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).</t> <t>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 this 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.</t> <t>All unassigned bits MUST be set to zero at transmission and ignored at receipt.</t> </list></t> <t hangText="Label (20-bit):">The Label information.</t> <t hangText="Reserved2 (12 bit):">Set to zero while sending, ignored on receive.</t> </list></t> <section title="Address TLVs" toc="default" anchor="AddressTLVs"> <t><xref target="RFC8779"/> defines 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 MUST rejectis defined in <xref target="SEC_CCI" format="default"/>, and if the CCIand respond withobject is missing, the receiving PCE <bcp14>MUST</bcp14> send a PCErr message withError-Type = TBD5 ("PCECC failure")Error-Type=6 (Mandatory Object missing) andError Value = TBD15 ("Invalid next-hop information").</t> <!--<t>Further,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="default" numbered="true"> <name>PCEP Objects</name> <t>The PCEP objects defined in this documentspecifiesare compliant with the PCEP object format defined in <xref target="RFC5440" format="default"/>. </t> <section toc="default" numbered="true"> <name>OPEN Object</name> <t>This document defines a newTLV called LINKLOCAL-IPV6-ADDRESS TLVPST (2) todescribe an IPv6 adjacency for an interface that does not have a global IPv6 address assigned.</t>--> <!--<t>An IPv6 adjacency for an interface that does not have a global IPv6 address assigned, could usebe included in thelink-local IPv6 addressPATH-SETUP-TYPE-CAPABILITY TLV in theIPV6-ADDRESS TLV.OPEN object. Further,this document specifiesa new sub-TLV for the PCECC capability exchange is also defined.</t> <section toc="default" anchor="SEC_PCECC_CAP_TLV" numbered="true"> <name>PCECC Capability Sub-TLV</name> <t>The PCECC-CAPABILITY sub-TLV is an optional TLVcalled LINKLOCAL-IPV6-ADDRESS TLV that canfor use in theInterface ID andOPEN object in theglobal IPv6 address ofPATH-SETUP-TYPE-CAPABILITY TLV when thenode to identifyPath Setup Type list includes the PCECC Path Setup Type 2. A PCECC-CAPABILITY sub-TLV <bcp14>MUST</bcp14> be ignored if theIPv6 adjacency.</t>PST list does not contain PST=2.</t> <t>Its format is shown in <xref target="SEC_FIG8" format="default"/>.</t> <figurealign="left" alt="" height="" suppress-title="false" title="LINKLOCAL-IPV6-ADDRESS TLV" width="" anchor="SEC_FIGC">anchor="SEC_FIG8"> <name>PCECC Capability Sub-TLV</name> <artwork align="left" alt=""height=""name=""type="" width="" xml:space="preserve"> <![CDATA[type=""><![CDATA[ 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=TBD14 | Length = 20 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | IPv6 address | | |Type=1 | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Interface ID |Flags |L| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]> </artwork> </figure>--> <!--<t>The address TLVs are as follows: <list style="hanging"> <t hangText="IPV4-ADDRESS TLV:">an IPv4 address.</t> <t hangText="IPV6-ADDRESS TLV:">an IPv6 address.</t> <t hangText="UNNUMBERED-IPV4-ID-ADDRESS TLV:">a Node ID / Interface ID tuple.</t> <t hangText="LINKLOCAL-IPV6-ID-ADDRESS TLV:">a pair of (global IPv6 address, interface ID) tuples as described in Section 4.3.2 of <xref target="RFC8664"/> for the IPv6 Link-Local Adjacency NAI (Node or Adjacency Identifier).</t> </list> </t>--> <!--<t>The]]></artwork> </figure> <t>The type of theLINKLOCAL-IPV6-ADDRESSTLV isTBD141, and it has a fixed length of 4 octets.</t> <t>The value comprises a single field: Flags (32 bits). Currently, the following flag bit is defined: </t> <dl newline="false" spacing="normal"> <dt>L bit (Label):</dt> <dd>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 andit hasafixed length of 20 octets. The value portion of the TLV includes: <list style="symbols"> <t>IPv6 address: A 128-bit IPv6 address ofPCE for thenode.</t> <t>Interface ID: A 32-bit identifier assignedPCECC label download/report on a PCEP session.</dd></dl> <t>Unassigned bits <bcp14>MUST</bcp14> be set tothe link.</t> </list></t>-->'0' on transmission and <bcp14>MUST</bcp14> be ignored on receipt.</t> </section> </section><!--<section title="Extension of SRP object" anchor="SEC_SRP_OBJ"> <t> SRP object<section toc="default" anchor="SEC_PATH" numbered="true"> <name>PATH-SETUP-TYPE TLV</name> <t>The PATH-SETUP-TYPE TLV is defined in <xreftarget="RFC8231"/> and extended in <xref target="RFC8281"/>. This drafttarget="RFC8408" format="default"/>; this document defines a new'SYNC' flag (S bit)PST value: </t> <dl newline="false" spacing="normal"> <dt>PST=2:</dt> <dd>Path is set up via the PCECC mode.</dd> </dl> <t>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="default" anchor="SEC_CCI" numbered="true"> <name>CCI Object</name> <t>The CCI object is used by the PCE to specify theLABEL-DB synchronization operation. </t> <t>The formatforwarding instructions (label information in the context of this document) to theSRP objectPCC and <bcp14>MAY</bcp14> be carried within a PCInitiate or PCRpt message for label download/report.</t> <t>CCI Object-Class isshown <xref target="SEC_SRP_OBJ_FIG"/>:</t> <t>44.</t> <t>CCI Object-Type is 1 for the MPLS label.</t> <figuretitle="SRP Object format" suppress-title="false" align="center" alt="" width="" height="" anchor="SEC_SRP_OBJ_FIG">anchor="SEC_FIG9"> <name>CCI Object</name> <artworkxml:space="preserve" name="" type="" align="center"align="left" alt=""width="" height=""> <![CDATA[name="" type=""><![CDATA[ 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|S|R||C|O| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SRP-ID-numberLabel | Reserved2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // OptionalTLVsTLV // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]> </artwork>]]></artwork> </figure> <t>The fields in the CCI object are as follows: </t><t>S (SYNC - 1 bit):The S Flag MUST<dl newline="false" spacing="normal"> <dt>CC-ID:</dt> <dd> 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> besetused. Note that <xref target="I-D.gont-numeric-ids-sec-considerations" format="default"/> gives advice on assigning transient numeric identifiers, such as the CC-ID, so as to minimize security risks.</dd> <dt>Reserved1 (16 bit):</dt> <dd>Set to 'zero' while sending; ignored on receipt.</dd> <dt>Flags (16 bit):</dt> <dd> <t> A field used to1 on each PCLabelUpd and PCLabelRpt sent from a PCE and PCC respectively during LABEL-DB Synchronization. The S Flag MUST becarry any additional information pertaining to the CCI. Currently, the following flag bits are defined: </t> <ul spacing="normal"> <li>O bit (out-label) : If the bit is set to0 in other messages sent from'1', it specifies thePCElabel is the out-label, andPCC.</t> </section> --> </section> <section anchor="Imp" title="Implementation Status"> <t>[Noteit is mandatory to encode theRFC Editor - remove this section before publication, as well as removenext-hop information (via Address TLVs (<xref target="AddressTLVs" format="default"/>) in thereference to RFC 7942.]</t> <t>This section recordsCCI object). If thestatus of known implementations ofbit is not set, it specifies theprotocol defined by this specification atlabel is thetime of posting of this Internet-Draft,in-label, and it isbased on a proposal described in <xref target="RFC7942"/>. The description of implementations in this section is intendedoptional toassistencode theIETF in its decision processeslocal interface information (via Address TLVs inprogressing draftsthe CCI object).</li> <li>C Bit (PCC allocation): If the bit is set toRFCs. Please note'1', it indicates that thelisting of any individual implementation here does not imply endorsementlabel allocation needs to be done by theIETF. Furthermore, no effort has been spentPCC for the Central Controller Instruction. A PCE sets this bit toverifyrequest theinformation presented here that was supplied by IETF contributors. This is not intended as, and must not be construedPCC tobe, a catalog of available implementations or their features. Readers are advisedmake an allocation from its label space. A PCC would set this bit tonoteindicate thatother implementations may exist.</t> <t>According to <xref target="RFC7942"/>, "this will allow reviewersit has allocated the label andworking groupsreport it toassign due considerationthe PCE.</li> <li>All unassigned bits <bcp14>MUST</bcp14> be set todocuments that have'zero' at transmission and ignored at receipt.</li> </ul> </dd> <dt>Label (20-bit):</dt> <dd>The label information.</dd> <dt>Reserved2 (12 bit):</dt> <dd>Set to 'zero' while sending; ignored on receive.</dd> </dl> <section toc="default" anchor="AddressTLVs" numbered="true"> <name>Address TLVs</name> <t><xref target="RFC8779" format="default"/> defines thebenefit of running code, which may serve as evidence of valuable experimentationIPV4-ADDRESS, IPV6-ADDRESS, andfeedback that have madeUNNUMBERED-ENDPOINT TLVs for the use of Generalized Endpoint. The same TLVs can also be used in theimplemented protocols more mature. It is upCCI object to associate theindividual working groups to use thisnext-hop informationas they see fit".</t> <section anchor="Onos" title="Huawei's Proofin the case ofConcept based on ONOS"> <t>The PCE function was developedan outgoing label and local interface information in theONOS open source platform. This extension was implemented on a private version as a proofcase ofconcept for PCECC. <list style="symbols"> <t>Organization: Huawei</t> <t>Implementation: Huawei's PoC based on ONOS</t> <t>Description: PCEP asan incoming label. The next-hop information encoded in these TLVs needs to be asouthbound plugin was addeddirectly connected IP address/interface information. If the PCC is not able toONOS. To support PCECC, an earlier version of this I-D was implemented. Refer https://wiki.onosproject.org/display/ONOS/PCEP+Protocol</t> <t>Maturity Level: Prototype</t> <t>Coverage: Partial</t> <t>Contact: satishk@huawei.com</t> </list></t>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> <sectiontitle="Security Considerations" toc="default">toc="default" numbered="true"> <name>Security Considerations</name> <t>As per <xreftarget="RFC8283"/>,target="RFC8283" format="default"/>, the security considerations for a PCE-based controllerisare 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 <xreftarget="RFC5440"/>target="RFC5440" format="default"/> and the additional mechanisms described in <xreftarget="RFC8253"/>.target="RFC8253" format="default"/>. It further lists the vulnerability of a central controller architecture, such as a central point of failure,denial-of-service,denial of service, and a focus for interception and modification of messages sent to individualNEs.</t>Network Elements (NEs).</t> <t>In the PCECC operations, the PCEP sessions are also required to the internalrouters androuters, thus increasing the resources required for the session management at the PCE. </t> <t>The PCECC extension builds on the existing PCEPmessages and thusmessages; thus, the security considerations described in <xreftarget="RFC5440"/>,target="RFC5440" format="default"/>, <xreftarget="RFC8231"/>target="RFC8231" format="default"/>, and <xreftarget="RFC8281"/>target="RFC8281" format="default"/> continue to apply. <xreftarget="RFC8253"/> specifytarget="RFC8253" format="default"/> specifies the support of Transport Layer Security (TLS) in PCEP, as it provides support for peer authentication, message encryption, and integrity. It furtherprovideprovides 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.509certificate.certificates. This can be used to check the authority for the PCECC operations. Additional considerations are discussed in following sections.</t> <sectiontitle="Malicious PCE" toc="default">toc="default" numbered="true"> <name>Malicious PCE</name> <t>In this extension, the PCE has complete control over the PCC to download/remove the labels and can cause theLSP'sLSPs to behave inappropriately and cause a major impact to the network. As a general precaution, it isRECOMMENDED<bcp14>RECOMMENDED</bcp14> that this PCEP extension be activated onmutually-authenticatedmutually authenticated and encrypted sessions across PCEs and PCCs belonging to the same administrative authority, using TLS <xreftarget="RFC8253"/>,target="RFC8253" format="default"/>, as per the recommendations and best current practices in BCP 195 <xreftarget="RFC7525"/>.target="RFC7525" format="default"/>. </t> <t>Further, an attacker may flood the PCC withPCECC relatedthe 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. <xreftarget="RFC8281"/>target="RFC8281" format="default"/> provides a mechanism to protect the PCC by imposing a limit. The same can be used for the PCECC operations as well.</t> <t>As specified in <xreftarget="LabelDownloadCCI"/>,target="LabelDownloadCCI" format="default"/>, a PCC needs to check if the label in the CCI object is in the range set aside for thePCE, otherwisePCE; otherwise, itMUST<bcp14>MUST</bcp14> send a PCErr message withError-type=TBD5Error-Type=31 (PCECC failure) andError-value=TBD6Error-value=1 (Label out of range).</t> </section> <sectiontitle="Malicious PCC" toc="default">toc="default" numbered="true"> <name>Malicious PCC</name> <t>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) torequestsrequest 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 isRECOMMENDED<bcp14>RECOMMENDED</bcp14> that PCE implementations provide a limit on resources (in this case the CCI) a single PCC can occupy. <xreftarget="RFC8231"/>target="RFC8231" format="default"/> provides a notification mechanism when such threshold is reached. </t> </section> </section> <sectiontitle="Manageability Considerations" toc="default">toc="default" numbered="true"> <name>Manageability Considerations</name> <sectiontitle="Controltoc="default" numbered="true"> <name>Control of Function andPolicy" toc="default">Policy</name> <t>A PCE or PCC implementationSHOULD<bcp14>SHOULD</bcp14> allow the PCECC capability to be enabled/disabled as part of the global configuration.Section 6.1 of<xreftarget="RFC8664"/>target="RFC8664" sectionFormat="of" section="6.1"/> list various controlling factors regardingpath setup type.the Path Setup Type. They are also applicable to the PCECCpath setup types.Path Setup Types. Further,Section 6.2 of<xreftarget="RFC8664"/> describetarget="RFC8664" sectionFormat="of" section="6.2"/> describes the migration steps whenpath setup typethe Path Setup Type of an existing LSP is changed.</t> </section> <sectiontitle="Informationtoc="default" numbered="true"> <name>Information and DataModels" toc="default">Models</name> <t><xreftarget="RFC7420"/>target="RFC7420" format="default"/> describes the PCEPMIB,MIB; this MIB can be extended to get the PCECC capability status.</t> <t>The PCEP YANG module <xreftarget="I-D.ietf-pce-pcep-yang"/>target="I-D.ietf-pce-pcep-yang" format="default"/> could be extended to enable/disable the PCECC capability.</t> </section> <sectiontitle="Livenesstoc="default" numbered="true"> <name>Liveness Detection andMonitoring" toc="default">Monitoring</name> <t>Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in <xreftarget="RFC5440"/>.</t>target="RFC5440" format="default"/>.</t> </section> <sectiontitle="Verifytoc="default" numbered="true"> <name>Verify CorrectOperations" toc="default"> <!--<t>Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in <xref target="RFC5440"/> and <xref target="RFC8231"/>.</t>-->Operations</name> <t>The operator needs the following information to verify that PCEP is operating correctly with respect to the PCECCpath setup type.</t> <t> <list style="symbols"> <t>AnPath Setup Type.</t> <ul spacing="normal"> <li>An implementationSHOULD<bcp14>SHOULD</bcp14> allow the operator to view whether the PCEP speaker sent the PCECC PST capability to itspeer.</t> <t>Anpeer.</li> <li>An implementationSHOULD<bcp14>SHOULD</bcp14> allow the operator to view whether the peer sent the PCECC PST capability.</t> <t>An</li> <li>An implementationSHOULD<bcp14>SHOULD</bcp14> allow the operator to view whether the PCECC PST is enabled on a PCEPsession.</t> <t>Ifsession.</li> <li>If one PCEP speaker advertises the PCECC PST capability, but the other does not, then the implementationSHOULD<bcp14>SHOULD</bcp14> create a log to inform the operator of the capabilitymismatch.</t> <t>Ifmismatch.</li> <li>If a PCEP speaker rejects a CCI, then itSHOULD<bcp14>SHOULD</bcp14> create a log to inform the operator, giving the reason for the decision (local policy,Labellabel issues,etc.).</t> </list></t>etc.).</li> </ul> </section> <sectiontitle="Requirements Ontoc="default" numbered="true"> <name>Requirements on OtherProtocols" toc="default">Protocols</name> <t>PCEP extensions defined in this document do not put new requirements on other protocols.</t> </section> <sectiontitle="Impact Ontoc="default" numbered="true"> <name>Impact on NetworkOperations" toc="default">Operations</name> <t>PCEP extensions defined in this document do not put new requirements on network operations.</t> </section> </section> <sectiontitle="IANA Considerations" toc="default"> <!--<section title="PCLabelUpd-PCLabelRpt message" toc="default"> <t>IANA is requested to allocate a new message type within the "PCEP Messages" sub-registry of the PCEP Numbers registry for:</t> <texttable anchor="PCEP-LBL-MSG" style="none" suppress-title="true" title="" align="center"> <ttcol align="left" width="20%">Value</ttcol> <ttcol align="left" width="30%">Meaning</ttcol> <ttcol align="left" width="20%">Reference</ttcol> <c>TBD</c> <c>Label Update</c> <c>This document</c> <c>TBD</c> <c>Label Report</c> <c>This document</c> </texttable> </section>--> <!--<section title="PCEP TLV Type Indicators" toc="default"> <t>IANA is requested to allocate the following TLV Type Indicator value within the "PCEP TLV Type Indicators" sub-registry of the PCEP Numbers registry:</t> <texttable anchor="PCEP-TYPE-IND" style="none" suppress-title="true" title="" align="center"> <ttcol align="left" width="20%">Value</ttcol> <ttcol align="left" width="30%">Meaning</ttcol> <ttcol align="left" width="20%">Reference</ttcol> <c>TBD14</c> <c>LINKLOCAL-IPV6-ADDRESS TLV</c> <c>This document</c> </texttable> </section>-->toc="default" numbered="true"> <name>IANA Considerations</name> <sectiontitle="PATH-SETUP-TYPE-CAPABILITYtoc="default" numbered="true"> <name>PATH-SETUP-TYPE-CAPABILITY Sub-TLV TypeIndicators" toc="default">Indicators</name> <t><xreftarget="RFC8408"/> requestedtarget="RFC8408" format="default"/> detailed the creation of the "PATH-SETUP-TYPE-CAPABILITY Sub-TLV TypeIndicators" sub-registry. Further IANA is requested to allocateIndicators" subregistry. Further, IANA has allocated the followingcode-point:</t> <texttablecodepoint:</t> <table anchor="PCEP-SUBTYPE-IND"style="none" suppress-title="true" title=""align="center"><ttcol align="left" width="20%">Value</ttcol> <ttcol align="left" width="30%">Meaning</ttcol> <ttcol align="left" width="20%">Reference</ttcol> <c>TBD12</c> <c>PCECC-CAPABILITY</c> <c>This document</c> </texttable><name>PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators Subregistry Addition</name> <thead> <tr> <th align="left">Value</th> <th align="left">Meaning</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">1</td> <td align="left">PCECC-CAPABILITY</td> <td align="left">RFC 9050</td> </tr> </tbody> </table> </section> <sectiontitle="PCECC-CAPABILITY sub-TLV'stoc="default" numbered="true"> <name>PCECC-CAPABILITY Sub-TLV's Flagfield" toc="default">Field</name> <t>This document defines the PCECC-CAPABILITYsub-TLV and requests thatsub-TLV; IANAto createhas created a newsub-registrysubregistry to manage the value of the PCECC-CAPABILITY sub-TLV's32-bits32-bit Flag field. New values are to be assigned by Standards Action <xreftarget="RFC8126"/>.target="RFC8126" format="default"/>. Each bit should be tracked with the followingqualities:<list style="symbols"> <t>Bitqualities:</t> <ul spacing="normal"> <li>bit number (counting from bit 0 as the most significantbit)</t> <t>Capability description</t> <t>Defining RFC</t></list></t>bit)</li> <li>capability description</li> <li>defining RFC</li> </ul> <t>Currently, there is one allocation in this registry.</t><texttable<table anchor="PCEP-CAP-SubTLv"style="none" suppress-title="true" title=""align="center"><ttcol align="left" width="20%">Bit</ttcol> <ttcol align="left" width="30%">Name</ttcol> <ttcol align="left" width="20%">Reference</ttcol> <c>31</c> <c>Label</c> <c>This document</c> <c>0-30</c> <c>Unassigned</c> <c>This document</c> </texttable><name>Initial Contents of the PCECC-CAPABILITY Sub-TLV Subregistry</name> <thead> <tr> <th align="left">Bit</th> <th align="left">Name</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">0-30</td> <td align="left">Unassigned</td> <td align="left">RFC 9050</td> </tr> <tr> <td align="left">31</td> <td align="left">Label</td> <td align="left">RFC 9050</td> </tr> </tbody> </table> </section> <sectiontitle="Pathtoc="default" numbered="true"> <name>PCEP Path Setup TypeRegistry" toc="default">Registry</name> <t><xreftarget="RFC8408"/>target="RFC8408" format="default"/> created asub-registrysubregistry within the "Path Computation Element Protocol (PCEP) Numbers" registry called "PCEP Path Setup Types". IANAis requested to allocatehas allocated a newcode pointcodepoint within this registry, as follows:</t><texttable<table anchor="PCEP-PATH-TYPE"style="none" suppress-title="true" title=""align="center"><ttcol align="left" width="20%">Value</ttcol> <ttcol align="left" width="30%">Description</ttcol> <ttcol align="left" width="20%">Reference</ttcol> <c>TBD1</c> <c>Traffic<name>Path Setup Type Registry Codepoint Addition</name> <thead> <tr> <th align="left">Value</th> <th align="left">Description</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">2</td> <td align="left">Traffic engineering pathis</c> <c>This document</c> <c> </c> <c>setis set up using PCECCmode</c> <c> </c> </texttable>mode</td> <td align="left">RFC 9050</td> </tr> </tbody> </table> </section> <sectiontitle="PCEP Object" toc="default">toc="default" numbered="true"> <name>PCEP Object</name> <t>IANAis requested to allocatehas allocated newcode-pointcodepoints in the "PCEP Objects"sub-registrysubregistry for the CCI object as follows:</t><texttable<table anchor="PCEP-OBJECT"style="none" suppress-title="true" title=""align="center"><ttcol align="left" width="20%">Object-Class Value</ttcol> <ttcol align="left" width="30%">Name</ttcol> <ttcol align="left" width="20%">Reference</ttcol> <c>TBD13</c> <c>CCI Object-Type</c> <c>This document</c> <c> </c> <c>0</c> <c>Reserved </c> <c> </c> <c>1</c> <c>MPLS Label</c> </texttable><name>PCEP Objects Subregistry Additions</name> <thead> <tr> <th align="left">Object-Class Value</th> <th align="left">Name</th> <th align="left">Object-Type</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">44</td> <td align="left">CCI Object-Type</td> <td align="left"><ul empty="true" spacing="compact" bare="true"><li>0: Reserved</li><li>1: MPLS Label</li><li>2-15: Unassigned</li></ul></td> <td align="left">RFC 9050</td> </tr> </tbody> </table> </section> <sectiontitle="CCItoc="default" numbered="true"> <name>CCI Object FlagField" toc="default">Field</name> <t>IANAis requested to createhas created a newsub-registrysubregistry 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 <xreftarget="RFC8126"/>.target="RFC8126" format="default"/>. Each bit should be tracked with the followingqualities:<list style="symbols"> <t>Bitqualities:</t> <ul spacing="normal"> <li>bit number (counting from bit 0 as the most significantbit)</t> <t>Capability description</t> <t>Defining RFC</t></list></t>bit)</li> <li>capability description</li> <li>defining RFC</li> </ul> <t>Two bitsto beare defined for the CCI Object flag field in this document as follows:</t><texttable<table anchor="CCI-FLAG"style="none" suppress-title="true" title=""align="center"><ttcol align="left" width="20%">Bit</ttcol> <ttcol align="left" width="30%">Description</ttcol> <ttcol align="left" width="20%">Reference</ttcol> <c>0-13</c> <c>Unassigned</c> <c>This document</c> <c>14</c> <c>C<name>CCI Object Flag Field for MPLS Label Initial Contents</name> <thead> <tr> <th align="left">Bit</th> <th align="left">Description</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">0-13</td> <td align="left">Unassigned</td> <td align="left"></td> </tr> <tr> <td align="left">14</td> <td align="left">C Bit - PCCallocation</c> <c>This document</c> <c>15</c> <c>Oallocation</td> <td align="left">RFC 9050</td> </tr> <tr> <td align="left">15</td> <td align="left">O Bit - Specifieslabel</c> <c>This document</c> <c> </c> <c>is out-label</c> <c> </c> </texttable> </section> <!--<section title="SRP Object Flag Field" toc="default"> <t>SRP object is defined in <xref target="RFC8231"/> and extended in <xref target="RFC8281"/>. IANAlabel isrequested to allocate a new bit in SRP object flag. Field registry, as follows:</t> <texttable anchor="SRP-FLAG" style="none" suppress-title="true" title="" align="center"> <ttcol align="left" width="20%">Bit</ttcol> <ttcol align="left" width="30%">Description</ttcol> <ttcol align="left" width="20%">Reference</ttcol> <c>30</c> <c>S(SYNC Flag)</c> <c>This document</c> </texttable> </section>--> <section title="PCEP-Error Object" toc="default">out-label</td> <td align="left">RFC 9050</td> </tr> </tbody> </table> </section> <section toc="default" numbered="true"> <name>PCEP-Error Object</name> <t>IANAis requested to allocatehas allocated new error types and error values within the "PCEP-ERROR Object Error Types and Values"sub-registrysubregistry of thePCEP Numbers"Path Computation Element Protocol (PCEP) Numbers" registry for the followingerrors: <vspace blankLines="1" /> <?rfc subcompact="yes"?> <list style="hanging" hangIndent="13"> <t hangText="Error-Type">Meaning</t> <t hangText="---------- -------"></t> <t hangText="6">Mandatoryerrors:</t> <table anchor="error-type"> <name>PCEP-ERROR Object Error Types and Values Additions</name> <thead> <tr> <th>Error-Type</th> <th>Meaning</th> <th>Error-value</th> <th>Reference</th> </tr> </thead> <tbody> <tr> <td>6</td> <td>Mandatory Objectmissing. <list style="hanging" hangIndent="37"> <t hangText=" Error-value = TBD11 :">CCImissing</td> <td>17: CCI objectmissing</t> </list> </t> <t></t> <t hangText="10">Receptionmissing</td> <td>RFC 9050</td> </tr> <tr> <td>10</td> <td>Reception of an invalidobject. <list style="hanging" hangIndent="37"> <t hangText=" Error-value = TBD2 :">Missingobject</td> <td>33: Missing PCECC Capabilitysub-TLV</t> </list></t> <t hangText="19">Invalid operation. <list style="hanging" hangIndent="37"> <t hangText=" Error-value = TBD3 :">Attemptedsub-TLV</td> <td>RFC 9050</td> </tr> <tr> <td>19</td> <td>Invalid Operation</td> <td> <t>16: Attempted PCECC operations when PCECC capability was not advertised</t><t hangText=" Error-value = TBD4 :">Stateful<t>17: Stateful PCE capability was not advertised</t><t hangText=" Error-value = TBD8 :">Unknown<t>18: Unknown Label</t></list> </t> <t></t> <t hangText="TBD5">PCECC failure. <list style="hanging" hangIndent="37"> <t hangText=" Error-value = TBD6 :">Label</td> <td>RFC 9050</td> </tr> <tr> <td>31</td> <td>PCECC failure</td> <td> <t>1: Label out ofrange.</t> <t hangText=" Error-value = TBD7 :">Instruction failed.</t> <t hangText=" Error-value = TBD9 :">Invalid CCI.</t> <t hangText=" Error-value = TBD10 :">Unablerange</t> <t>2: Instruction failed</t> <t>3: Invalid CCI</t> <t>4: Unable to allocate the specifiedCCI.</t> <t hangText=" Error-value = TBD15 :">InvalidCCI</t> <t>5: Invalid next-hopinformation.</t> </list> </t> <!--<t hangText="TBD">Label DB synchronization failed. <list style="hanging" hangIndent="37"> <t hangText=" Error-value = TBD :">Processing label update Failed during synchronization.</t> <t hangText=" Error-value = TBD :">Internal PCE Error during synchronization.</t> </list> </t> --> </list> </t>information</t> </td> <td>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> <name>References</name> <references> <name>Normative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5511.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7525.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8253.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8408.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8664.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8779.xml"/> </references> <references> <name>Informative References</name> <reference anchor='RFC4655' target='https://www.rfc-editor.org/info/rfc4655'> <front> <title>A Path Computation Element (PCE)-Based Architecture</title> <author initials='A.' surname='Farrel' fullname='A. Farrel'><organization /></author> <author initials='JP.' surname='Vasseur' fullname='JP. Vasseur'><organization /></author> <author initials='J.' surname='Ash' fullname='J. Ash'><organization /></author> <date year='2006' month='August' /> </front> <seriesInfo name='RFC' value='4655'/> <seriesInfo name='DOI' value='10.17487/RFC4655'/> </reference> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7025.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7399.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7420.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7491.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8232.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8283.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8741.xml"/> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-teas-pcecc-use-cases.xml"/> <reference anchor='I-D.ietf-pce-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' /> </reference> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-pce-pcep-extension-pce-controller-sr.xml"/> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.dhody-pce-pcep-extension-pce-controller-srv6.xml"/> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.li-pce-controlled-id-space.xml"/> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.gont-numeric-ids-sec-considerations.xml"/> </references> </references> <sectiontitle="Acknowledgments" toc="default">toc="default" numbered="false"> <name>Acknowledgments</name> <t>We would like to thankRobert Tao, Changjing Yan, Tieying Huang, Avantika, and Aijun Wang<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>Thanks toJulien Meuric<contact fullname="Julien Meuric"/> for shepherding thisI-Ddocument and providing valuable comments. Thanks toDeborah Brungard<contact fullname="Deborah Brungard"/> for being the responsible AD.</t> <t>Thanks toVictoria Pritchard<contact fullname="Victoria Pritchard"/> for a very detailed RTGDIR review. Thanks toYaron Sheffer<contact fullname="Yaron Sheffer"/> for the SECDIR review. Thanks toGyan Mishra<contact fullname="Gyan Mishra"/> for theGENARTGen-ART review.</t> <t>Thanks toAlvaro Retana, Murray Kucherawy, Benjamin Kaduk, Roman Danyliw, Robert Wilton, Eric Vyncke, and Erik Kline<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></middle> <back> <references title="Normative References"> <?rfc include="reference.RFC.2119.xml" ?> <?rfc include="reference.RFC.5440.xml" ?> <?rfc include="reference.RFC.5511.xml" ?> <?rfc include="reference.RFC.7525.xml" ?> <?rfc include="reference.RFC.8126.xml"?> <?rfc include="reference.RFC.8174.xml"?> <?rfc include="reference.RFC.8231.xml"?> <?rfc include="reference.RFC.8253.xml"?> <?rfc include="reference.RFC.8281.xml"?> <?rfc include="reference.RFC.8408.xml"?> <?rfc include="reference.RFC.8664.xml"?> <?rfc include="reference.RFC.8779.xml"?> </references> <references title="Informative References"> <?rfc include="reference.RFC.4655.xml"?> <?rfc include="reference.RFC.7025.xml"?> <?rfc include="reference.RFC.7399.xml"?> <?rfc include="reference.RFC.7420.xml" ?> <?rfc include="reference.RFC.7491.xml"?> <?rfc include="reference.RFC.7942.xml" ?> <?rfc include="reference.RFC.8232.xml"?> <?rfc include="reference.RFC.8283.xml"?> <?rfc include="reference.RFC.8741.xml"?> <?rfc include="reference.I-D.ietf-teas-pcecc-use-cases"?> <?rfc include="reference.I-D.ietf-pce-pcep-yang"?> <?rfc include="reference.I-D.ietf-pce-pcep-extension-pce-controller-sr"?> <?rfc include="reference.I-D.dhody-pce-pcep-extension-pce-controller-srv6"?> <?rfc include="reference.I-D.li-pce-controlled-id-space"?> <?rfc include="reference.I-D.gont-numeric-ids-sec-considerations"?> <!--<?rfc include="reference.I-D.ietf-pce-binding-label-sid"?> <?rfc include="reference.I-D.ietf-pce-sr-path-segment"?>--> <!--<?rfc include="reference.I-D.palle-pce-controller-labeldb-sync"?>--> </references><sectiontitle="Contributor Addresses" toc="default"> <t> <figure title="" suppress-title="false" align="left" alt="" width="" height=""> <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[ Dhruv Dhody Huawei Technologies Divyashreetoc="default" numbered="false"> <name>Contributors</name> <contact fullname="Dhruv Dhody"> <organization>Huawei Technologies</organization> <address> <postal> <street>Divyashree Techno Park,Whitefield Bangalore, Karnataka 560066 India EMail: dhruv.ietf@gmail.com Satish Karunanithi Huawei Technologies DivyashreeWhitefield</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>Huawei Technologies</organization> <address> <postal> <street>Divyashree Techno Park,Whitefield Bangalore, Karnataka 560066 India EMail: satishk@huawei.com Adrian Farrel OldWhitefield</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>Old DogConsulting UK EMail: adrian@olddog.co.uk Xuesong Geng Huawei Technologies China Email: gengxuesong@huawei.com Udayasree Palle EMail: udayasreereddy@gmail.com Katherine Zhao Futurewei Technologies EMail: katherine.zhao@futurewei.com Boris Zhang Telus Ltd. Toronto Canada EMail: boris.zhang@telus.com Alex Tokar Cisco Systems Slovak Republic EMail: atokar@cisco.com ]]></artwork> </figure> </t>Consulting</organization> <address> <postal> <country>United Kingdom</country> </postal> <email>adrian@olddog.co.uk</email> </address> </contact> <contact fullname="Xuesong Geng"> <organization>Huawei Technologies</organization> <address> <postal> <country>China</country> </postal> <email>gengxuesong@huawei.com </email> </address> </contact> <contact fullname="Udayasree Palle"> <organization/> <address> <postal/> <email>udayasreereddy@gmail.com</email> </address> </contact> <contact fullname="Katherine Zhao"> <organization>Futurewei Technologies</organization> <address> <postal/> <email>katherine.zhao@futurewei.com</email> </address> </contact> <contact fullname="Boris Zhang"> <organization>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>Cisco Systems</organization> <address> <postal> <country>Slovakia</country> </postal> <email>atokar@cisco.com</email> </address> </contact> </section> </back> </rfc>