<?xml version="1.0"encoding="US-ASCII"?>encoding="UTF-8"?> <!DOCTYPE rfcSYSTEM "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" ?>[ <!ENTITY nbsp " "> <!ENTITY zwsp "​"> <!ENTITY nbhy "‑"> <!ENTITY wj "⁠"> ]> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-pce-binding-label-sid-16" number="9604" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" category="std"docName="draft-ietf-pce-binding-label-sid-15" ipr="trust200902">consensus="true" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3"> <front> <title abbrev="Binding Label/SID">Carrying BindingLabel/Segment Identifier (SID)Label/SID inPCE-based Networks.</title>PCE-Based Networks</title> <seriesInfo name="RFC" value="9604"/> <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan"> <organization>Ciena Corporation</organization> <address><postal> <street/> <city/> <region/> <code/> <country/> </postal><email>msiva282@gmail.com</email> </address> </author> <author fullname="Clarence Filsfils" initials="C." surname="Filsfils"> <organization>Cisco Systems, Inc.</organization> <address> <postal><street>Pegasus Parc</street> <city>De kleetlaan 6a</city> <region>DIEGEM</region> <code>BRABANT 1831</code> <country>BELGIUM</country><extaddr>Pegasus Parc</extaddr> <street>De Kleetlaan 6a</street> <city>Brabant</city> <code>1831</code> <country>Belgium</country> </postal> <email>cfilsfil@cisco.com</email> </address> </author> <author fullname="Jeff Tantsura" initials="J." surname="Tantsura"><organization>Microsoft Corporation</organization><organization>Nvidia</organization> <address><postal> <street/> <city/> <region/> <code/> <country/> </postal><email>jefftant.ietf@gmail.com</email> </address> </author><!--<author fullname="Jonathan Hardwick" initials="J." surname="Hardwick"> <organization>Metaswitch Networks</organization> <address> <postal> <street>100 Church Street</street> <city>Enfield</city> <region>Middlesex</region> <country>UK</country> </postal> <email>Jonathan.Hardwick@metaswitch.com</email> </address> </author>--><author fullname="Stefano Previdi" initials="S." surname="Previdi"> <organization>Huawei Technologies</organization> <address><postal> <street/> <city/> <region/> <code/> <country/> </postal><email>stefano@previdi.net</email> </address> </author><!--<author fullname="Dhruv Dhody" initials="D." surname="Dhody"> <organization>Huawei Technologies</organization> <address> <postal> <street>Divyashree Techno Park, Whitefield</street> <city>Bangalore</city> <region>Karnataka 560066</region> <country>India</country> </postal> <email>dhruv.ietf@gmail.com</email> </address> </author>--><author fullname="ChengLi (editor)"Li" initials="C."surname="Li, Ed.">role="editor"> <organization>Huawei Technologies</organization> <address> <postal> <street>Huawei Campus, No. 156 Beiqing Rd.</street> <city>Beijing</city><region/><code>100095</code> <country>China</country> </postal><phone/> <facsimile/><email>c.l@huawei.com</email><uri/></address> </author> <dateday="20" month="March" year="2022"/> <area>Routing Area</area> <workgroup>PCE Working Group</workgroup>month="August" year="2024"/> <area>rtg</area> <workgroup>pce</workgroup> <keyword>PCEP</keyword> <keyword>BSID</keyword> <keyword>Binding</keyword> <keyword>Binding Label</keyword> <abstract> <t>In order to provide greater scalability, network confidentiality, and service independence, Segment Routing (SR) utilizes a Binding Segment Identifier(SID) (called BSID)(BSID), as described in RFC 8402. It is possible to associate a BSID to an RSVP-TE-signaled Traffic Engineering (TE) Label Switched Path (LSP) or an SRTraffic EngineeringTE path. The BSID can be used by an upstream node for steering traffic into the appropriate TE path to enforce SR policies. This document specifies the concept of binding value, which can be either an MPLS label or a SegmentIdentifier.Identifier (SID). It further specifies an extension to Path Computation Element(PCE) communication Protocol(PCEP)Communication Protocol (PCEP) for reporting the binding value by a Path Computation Client (PCC) to thePCEPath Computation Element (PCE) to support PCE-basedTraffic EngineeringTE policies.</t> </abstract> </front> <middle> <section anchor="Introduction"title="Introduction">numbered="true" toc="default"> <name>Introduction</name> <t>A Path Computation Element (PCE) can compute Traffic Engineering (TE) paths(TE paths)through a network where those paths are subject to various constraints. Currently, TE paths are set up using either the RSVP-TE signaling protocol or Segment Routing (SR). We refer to such paths asRSVP-TE paths"RSVP-TE paths" andSR-TE paths respectively"SR-TE paths", respectively, in this document.</t> <t>As per <xreftarget="RFC8402"/>target="RFC8402" format="default"/>, SR allows a head-end node to steer a packet flow along a given path viaa Segment Routing Policy (SR Policy).an SR Policy. As per <xreftarget="I-D.ietf-spring-segment-routing-policy"/>,target="RFC9256" format="default"/>, an SR Policy is a framework that enables the instantiation of an ordered list of segments on a node for implementing a source routing policy with a specific intent for traffic steering from that node.</t> <t>As described in <xreftarget="RFC8402"/>,target="RFC8402" format="default"/>, a BindingSegment IdentifierSID (BSID) is bound toa Segment Routing (SR)an SR Policy, instantiation of which may involve a list of Segment Identifiers (SIDs). Any packets received with an active segment equal to a BSID are steered onto the bound SR Policy. A BSID may be either a local (SR Local Block (SRLB)) or a global (SR Global Block (SRGB)) SID. As perSection 6.4 of<xreftarget="I-D.ietf-spring-segment-routing-policy"/>target="RFC9256" sectionFormat="of" section="6.4"/>, a BSID can also be associated with any type of interface or tunnel to enable the use of a non-SR interface or tunnel as a segment in a SID list. In this document, the term'binding label/SID'"binding label/SID" is used to generalize the allocation of a binding value for both SR and non-SR paths.</t><!--<t>Similar to assigning label to a Forwarding Equivalence Class (FEC) via Label Distribution Protocol (LDP), a binding label can be assigned to a RSVP-TE LSP. If the topmost label of an incoming packet is the binding label, the packet is steered onto the RSVP-TE LSP. As such, any upstream node can use binding labels to steer the packets that it originates to appropriate TE LSPs to enforce TE/SR policy. Similarly, a binding SID, see <xref target="I-D.ietf-isis-segment-routing-extensions"/>, <xref target="I-D.ietf-idr-segment-routing-te-policy"/> and <xref target="RFC8402"/> can be used to enforce SR policy with SR-TE path. Note that if an SR-TE path is represented as a forwarding-adjacency (FA), then the corresponding adjacency SID can be used as the binding SID. In such case, the path is advertised using the routing protocols as described in <xref target="RFC4206"/>. The binding SID provides an alternate mechanism without additional overhead on routing protocols.</t>--><t><xreftarget="RFC5440"/>target="RFC5440" format="default"/> describes the PCEP for communication between a Path Computation Client (PCC) and a PCE or between a pair of PCEs as per <xreftarget="RFC4655"/>.target="RFC4655" format="default"/>. <xreftarget="RFC8231"/>target="RFC8231" format="default"/> specifies extensions to PCEP that allow a PCC to delegate its Label Switched Paths (LSPs) to a stateful PCE. A stateful PCE can then update the state of LSPs delegated to it. <xreftarget="RFC8281"/>target="RFC8281" format="default"/> specifies a mechanism allowing a PCE to dynamically instantiate an LSP on a PCC by sending the path and characteristics. This document specifies an extension to PCEP to manage the binding of label/SID that can be applied to SR, RSVP-TE, and other path setup types.</t> <t><xreftarget="RFC8664"/>target="RFC8664" format="default"/> provides a mechanism for a PCE (acting as a network controller) to instantiate SR-TE paths (candidate paths) for an SR Policy onto a head-end node (acting as a PCC) using PCEP. For more information on the SR Policy Architecture, see <xreftarget="I-D.ietf-spring-segment-routing-policy"/>.</t>target="RFC9256" format="default"/>.</t> <section anchor="Motivation"title="Motivationnumbered="true" toc="default"> <name>Motivation andExample">Example</name> <t>A binding label/SID has local significance to the ingress node of the corresponding TE path. When a stateful PCE is deployed for setting up TE paths, a binding label/SID reported from the PCC to the stateful PCE is useful forthe purpose ofenforcing an end-to-end TE/SR policy. A sample Data Center (DC) and IP/MPLS WANuse-caseuse case is illustrated in <xreftarget="figure1"/>target="figure1" format="default"/> with a multi-domain PCE. In the IP/MPLS WAN, an SR-TE LSP is set up using the PCE. The list of SIDs of the SR-TE LSP is {A, B, C, D}. The gatewaynode 1Node-1 (which is the PCC) allocates a binding SID X and reports it to the PCE. In the MPLS DC network, an end-to-end SR-TE LSP is established. In order for the access node to steer the traffic towards Node-1 and over the SR-TE path in WAN, the PCE passes the SID stack {Y, X} where Y is the node SID of the gatewaynode-1Node-1 to the access node and X is the BSID. In the absence of the BSID X, the PCE would need to pass the SID stack {Y, A, B, C, D} to the access node. This example also illustrates the additional benefit of using the binding label/SID to reduce the number of SIDs imposed by the access nodes with a limited forwarding capacity.</t> <figureanchor="figure1" title="Aanchor="figure1"> <name>A SampleUse-caseUse Case of BindingSID">SID</name> <artworkalign="center"><![CDATA[align="center" name="" type="" alt=""><![CDATA[ SID stack {Y, X} +--------------+ | Multi-domain | _ _ _ _ _ _ _ _ _ _ _ _ _ _| PCE | | +--------------+ | ^ | | Binding | .-----. | SID (X) .-----. | ( ) | ( ) V .--( )--. | .--( )--. +------+ ( ) +-------+ ( ) +-------+ |Access|_( MPLS DC Network )_|Gateway|_( IP/MPLS WAN )_|Gateway| | Node | ( ==============> ) |Node-1 | ( ================> ) |Node-2 | +------+ ( SR-TE path ) +-------+ ( SR-TE path ) +-------+ '--( )--' Node '--( )--' ( ) SID of ( ) '-----' Node-1 '-----' is Y SIDs for SR-TE LSP: {A, B, C, D} ]]></artwork> </figure> <t>Using the extension defined in this document, a PCC could report to the stateful PCE the binding label/SID it allocated via a Path Computation LSP State Report (PCRpt) message. It is also possible for a stateful PCE to request a PCC to allocate a specific binding label/SID by sending a Path Computation LSP Update Request (PCUpd) message. If the PCC can successfully allocate the specified binding value, it reports the binding value to the PCE. Otherwise, the PCC sends an error message to the PCE indicating the cause of the failure. A local policy or configuration at the PCCSHOULD<bcp14>SHOULD</bcp14> dictate if the binding label/SID needs to be assigned.</t> </section> <section anchor="Summary"title="Summarynumbered="true" toc="default"> <name>Summary of theExtension">Extension</name> <t>To implement the needed changes to PCEP,inthisdocument, we introducedocument introduces a newOPTIONAL<bcp14>OPTIONAL</bcp14> TLV that allows a PCCcan use in orderto report the binding label/SID associated with a TELSP,LSP or a PCE to request a PCC to allocate any or a specific binding label/SID value. This TLV is intended for TE LSPs established using RSVP-TE, SR-TE, or any other future method. In the case of SR-TE LSPs, the TLV can carry a binding label (for SR-TEpathpaths with the MPLSdata-plane)data plane) or a binding IPv6 SID (e.g., IPv6 address for SR-TE paths with the IPv6data-plane).data plane). Throughout this document, the term "binding value" means either an MPLS label or a SID.</t> <t>As another way to use the extension specified in this document, to support the PCE-based central controller <xreftarget="RFC8283"/>target="RFC8283" format="default"/> operation where the PCE would take responsibility for managing some part of the MPLS label space for each of the routers that it controls, the PCE could directly make the binding label/SID allocation and inform the PCC. See <xreftarget="PCECC"/>target="PCECC" format="default"/> for details.</t> <t>In addition to specifying a new TLV, this document specifies how and when a PCC and PCE can use this TLV, how they can allocate a binding label/SID, and the associated error handling.</t> </section> </section><!-- Introduction --><sectiontitle="Requirements Language"> <t>Thenumbered="true" toc="default"> <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 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shownhere.</t>here. </t> </section> <sectiontitle="Terminology">numbered="true" toc="default"> <name>Terminology</name> <t>The following terminologies are used in this document:<list style="hanging"> <t hangText="BSID:">Binding Segment Identifier.</t> <t hangText="binding label/SID:">a</t> <dl newline="false" spacing="normal"> <dt>BSID:</dt> <dd>Binding SID</dd> <dt>binding label/SID:</dt> <dd>a generic term used for the binding segment for both SR and non-SRpaths.</t> <t hangText="binding value:">apaths</dd> <dt>binding value:</dt> <dd>a generic term used for the binding segment as it can be encoded in various formats (as per thebinding type(BT)).</t> <!--<t hangText="LER:">Label Edge Router.</t>--> <t hangText="LSP:">LabelBinding Type (BT))</dd> <dt>LSP:</dt> <dd>Label SwitchedPath.</t> <!--<t hangText="LSR:">Label Switching Router.</t>--> <t hangText="PCC:">PathPath</dd> <dt>PCC:</dt> <dd>Path ComputationClient.</t> <t hangText="PCEP:">PathClient</dd> <dt>PCEP:</dt> <dd>Path Computation Elementcommunication Protocol.</t> <t hangText="RSVP-TE:">Resource ReserVation Protocol-Traffic Engineering.</t> <t hangText="SID:">Segment Identifier.</t> <t hangText="SR:">Segment Routing.</t> <!--<t hangText="SRGB:">Segment Routing Global Block.</t>--> <!--<t hangText="SRLB:">Segment Routing Local Block.</t>--> </list></t>Communication Protocol</dd> <dt>RSVP-TE:</dt> <dd>Resource Reservation Protocol - Traffic Engineering </dd> <dt>SID:</dt> <dd>Segment Identifier</dd> <dt>SR:</dt> <dd>Segment Routing</dd> </dl> </section><!-- Terminology --><section anchor="TE-PATH-BINDING-TLV"title="Pathnumbered="true" toc="default"> <name>Path BindingTLV">TLV</name> <t>The new optional TLV called "TE-PATH-BINDING TLV"(whose(the format is shown in <xreftarget="BINDING-LABEL-TLV-FORMAT"/>)target="BINDING-LABEL-TLV-FORMAT" format="default"/>) is defined to carry the binding label/SID for a TE path. This TLV is associated with the LSP object specified in <xreftarget="RFC8231"/>.target="RFC8231" format="default"/>. This TLV can also be carried in the PCEP-ERROR object <xreftarget="RFC5440"/>target="RFC5440" format="default"/> in case of error. Multiple instances of TE-PATH-BINDING TLVsMAY<bcp14>MAY</bcp14> be present in the LSP and PCEP-ERROR object. The type of this TLV is55 (early allocated by IANA).55. The length is variable.</t><t>[Note to RFC Editor: Please remove "(early allocated by IANA)" before publication]</t><figureanchor="BINDING-LABEL-TLV-FORMAT" title="TE-PATH-BINDING TLV">anchor="BINDING-LABEL-TLV-FORMAT"> <name>TE-PATH-BINDING TLV</name> <artworkalign="center"><![CDATA[align="center" name="" type="" alt=""><![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 = 55 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT | Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Binding Value (variable length) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> </figure><t>TE-PATH-BINDING<t>The TE-PATH-BINDING TLV is a generic TLV such that it is able to carry binding label/SID(i.e.(i.e., MPLS label or SRv6 SID). It is formatted according to the rules specified in <xreftarget="RFC5440"/>.target="RFC5440" format="default"/>. The value portion of the TLV comprises:</t><t>Binding<ul> <li><t>Binding Type (BT): A one-octet field that identifies the type of binding included in the TLV. This document specifies the following BTvalues: <list style="symbols"> <t>BTvalues:</t> <ul spacing="normal"> <li>BT = 0: The binding value is a 20-bit MPLS label value. The TLV is padded to 4-bytes alignment. The LengthMUST<bcp14>MUST</bcp14> be set to 7 (the padding is not included in the length, as per <xreftarget="RFC5440"/> Section 7.1)target="RFC5440" sectionFormat="comma" section="7.1"/>), and the first 20 bits are used to encode the MPLS labelvalue.</t> <t>BTvalue.</li> <li>BT = 1: The binding value is a 32-bit MPLSlabel stack entryLabel Stack Entry as per <xreftarget="RFC3032"/>target="RFC3032" format="default"/> with Label,TCTraffic Class (TC) <xreftarget="RFC5462"/>,target="RFC5462" format="default"/>, S, and TTL values encoded. Note that the receiverMAY<bcp14>MAY</bcp14> choose to override TC, S, and TTL values according to its local policy. The LengthMUST<bcp14>MUST</bcp14> be set to8.</t> <t>BT8.</li> <li>BT = 2: The binding value is an SRv6 SID with the format of a 16-octet IPv6 address, representing the binding SID for SRv6. The LengthMUST<bcp14>MUST</bcp14> be set to20.</t> <t>BT20.</li> <li>BT = 3: The binding value is a24 octet24-octet field, defined in <xreftarget="Behavior-Structure"/>,target="Behavior-Structure" format="default"/>, that contains the SRv6 SID as well as its Behavior and Structure. The LengthMUST<bcp14>MUST</bcp14> be set to28.</t> </list></t>28.</li> </ul> <t><xreftarget="IANA-TLV"/>target="IANA-TLV" format="default"/> defines the IANA registry used to maintainallthese binding types as well as any future ones. Note that multiple TE-PATH-BINDING TLVs with the same or differentBinding Types MAYbinding types <bcp14>MAY</bcp14> be present for the same LSP. A PCEP speaker could allocate multiple TE-PATH-BINDING TLVs (of the sameBT),BT) and use different binding values in different domains oruse-casesuse cases based on a localpolicy.</t> <t>Flags:policy.</t></li> <li><t>Flags: 1 octet of flags. The following flag is defined in the newregistry"TE-PATH-BINDING TLV Flag field" registry as described in <xreftarget="IANA-TLV"/>:</t>target="IANA-TLV" format="default"/>:</t> <figureanchor="BINDING-LABEL-FLAGS" suppress-title="false" title="Flags">anchor="BINDING-LABEL-FLAGS"> <name>Flags</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![CDATA[ 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |R| | +-+-+-+-+-+-+-+-+ ]]></artwork> </figure><t>where: <list style="symbols"> <t>R<t>Where: </t> <ul spacing="normal"> <li>R (Removal - 1 bit): When set, the requesting PCEP peer requires the removal of the binding value for the LSP. When unset, the PCEP peer indicates that the binding value is added or retained for the LSP. This flag is used in the PCRpt and PCUpd messages. It is ignored in other PCEPmessages.</t> <t>Themessages.</li> <li>The unassigned flagsMUST be set to 0 while sending and ignored on receipt.</t> </list></t> <!--Currently no flags are defined. </t>--> <!--Following flags are defined in the new registry "TE-PATH-BINDING TLV Flag field" as described in <xref target="IANA-TLV"/>:</t> <figure anchor="BINDING-LABEL-FLAGS" suppress-title="false" title="Flags"> <artwork align="left"><![CDATA[ 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ | |I|S| +-+-+-+-+-+-+-+-+ ]]></artwork> </figure> <t>where: <list style="symbols"> <t>S-Flag: This flag encodes the "Specified-BSID-only" behavior. It is used as described in Section 6.2.3 of <xref target="I-D.ietf-spring-segment-routing-policy"/>.</t> <t>I-Flag: This flag encodes the "Drop Upon Invalid" behavior. It is used as described in Section 8.2 of <xref target="I-D.ietf-spring-segment-routing-policy"/>.</t> <t>Unassigned bits MUST<bcp14>MUST</bcp14> be set to 0 while sending and ignored onreceipt.</t> </list></t>--> <t>Reserved: MUSTreceipt.</li> </ul></li> <li><t>Reserved: <bcp14>MUST</bcp14> be set to 0 while sending and ignored onreceipt.</t> <t>Bindingreceipt.</t></li> <li><t>Binding Value: A variable-length field, padded with trailing zeros to a 4-octet boundary. When the BT is 0, the 20 bits represent the MPLS label. When the BT is 1, the 32 bits represent the MPLS label stack entry as per <xreftarget="RFC3032"/>.target="RFC3032" format="default"/>. When the BT is 2, the 128 bits represent the SRv6 SID. When the BT is 3, theBinding Valuebinding value also contains the SRv6 Endpoint Behavior and SID Structure, defined in <xreftarget="Behavior-Structure"/>.target="Behavior-Structure" format="default"/>. In this document, the TE-PATH-BINDING TLV is considered to be empty if noBinding Valuebinding value is present. Note that the length of the TLV would be 4 in such acase.</t>case.</t></li> </ul> <section anchor="Behavior-Structure"title="SRv6numbered="true" toc="default"> <name>SRv6 Endpoint Behavior and SIDStructure">Structure</name> <t>This section specifies the format of theBinding Valuebinding value in the TE-PATH-BINDING TLV when the BT is set to 3 for the SRv6 Binding SIDs <xreftarget="RFC8986"/>.target="RFC8986" format="default"/>. The format is shown in <xreftarget="SID-BEHAVIOR-AND-STRUCTURE"/>.</t>target="SID-BEHAVIOR-AND-STRUCTURE" format="default"/>.</t> <figureanchor="SID-BEHAVIOR-AND-STRUCTURE" title="SRv6anchor="SID-BEHAVIOR-AND-STRUCTURE"> <name>SRv6 Endpoint Behavior and SIDStructure">Structure</name> <artworkalign="center"><![CDATA[align="center" name="" type="" alt=""><![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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | SRv6 Binding SID (16 octets) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Endpoint Behavior | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LB Length | LN Length | Fun. Length | Arg. Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> </figure> <t>The Binding Value consistsof:<list style="symbols"> <t>SRv6of:</t> <ul spacing="normal"> <li>SRv6 Binding SID: 16 octets. The 128-bit IPv6 address, representing the binding SID forSRv6.</t> <t>Reserved:SRv6.</li> <li>Reserved: 2 octets. ItMUST<bcp14>MUST</bcp14> be set to 0 on transmit and ignored onreceipt.</t> <t>Endpointreceipt.</li> <li>Endpoint Behavior: 2 octets. The Endpoint Behavior code point for this SRv6 SID asperdefined by theIANA subregistry called"SRv6 EndpointBehaviors", created byBehaviors" registry <xreftarget="RFC8986"/>.target="RFC8986" format="default"/>. When the field is set with the value 0, the Endpoint Behavior is considered unknown.</li> <!-- [rfced] Please verify that this statement is correct, as the "SRv6 Endpoint Behaviors" registry indicates value 0 is Reserved: Original: When the field is set with the value 0, the endpoint behavior is consideredunknown.</t>unknown. See https://www.iana.org/assignments/segment-routing/segment-routing.xhtml#srv6-endpoint-behaviors --> <li> <t><xreftarget="RFC8986"/>target="RFC8986" format="default"/> defines an SRv6 SID as consisting of LOC:FUNCT:ARG, where a locator (LOC) is encoded in the L most significant bits of the SID, followed by F bits of function (FUNCT) and A bits of arguments (ARG). A locator may be represented asB:NB:N, where B is the SRv6 SID locator block (IPv6 prefix allocated for SRv6 SIDs by the operator) and N is the identifier of the parent node instantiating theSIDSID, calledlocator node."locator node". The following fields are used to advertise the length of each individual part of the SRv6 SID:</t> <!-- [rfced] Figure 4 uses "Arg. Length". Following the figure, "Argument Length" (singular) is defined as "SRv6 SID Arguments length" (plural) and ARG is introduced asdefined"arguments". Please consider whether these should be consistent (i.e., Argument or Arguments). If yes, please indicate whether singular or plural is correct. Note that the plural form is used in:<list style="symbols"> <t>LBRFC 9603. --> <ul spacing="normal"> <li>LB Length: 1 octet. SRv6 SID Locator Block length inbits.</t> <t>LNbits.</li> <li>LN Length: 1 octet. SRv6 SID Locator Node length inbits.</t> <t>Functionbits.</li> <li>Function Length: 1 octet. SRv6 SID Function length inbits.</t> <t>Argumentbits.</li> <li>Arguments Length: 1 octet. SRv6 SID Arguments length inbits.</t> </list></t> </list></t>bits.</li> </ul> </li> </ul> <t>The total of the locator block, locator node, function, andargumentarguments lengthsMUST<bcp14>MUST</bcp14> belowerless than or equal to 128 bits. If this condition is not met, the corresponding TE-PATH-BINDING TLV is considered invalid. Also, if the Endpoint Behavior is found to be unknown or inconsistent, it is considered invalid. A PCErr message with Error-Type = 10 ("Reception of an invalid object") andError-ValueError-value = 37 ("Invalid SRv6 SID Structure")MUST<bcp14>MUST</bcp14> be sent in such cases.</t> <t>The SRv6 SID Structure could be used by the PCE for ease of operations and monitoring. For example, this information could be used for validation of SRv6 SIDs being instantiated in the network and checked for conformance to the SRv6 SID allocation scheme chosen by the operator as described inSection 3.2 of<xreftarget="RFC8986"/>.target="RFC8986" sectionFormat="of" section="3.2"/>. In the future, PCE could also be used for verification andthe automationfor automatically securing the SRv6 domain by provisioning filtering rules at SR domain boundaries as described inSection 5 of<xreftarget="RFC8754"/>.target="RFC8754" sectionFormat="of" section="5"/>. The details of these potential applications are outside the scope of this document.</t> </section> </section><!-- Path-setup-type-tlv --><section anchor="Operation"title="Operation">numbered="true" toc="default"> <name>Operation</name> <t>The binding value is usually allocated by the PCC and reported to a PCE via a PCRpt message (see <xreftarget="PCECC"/>target="PCECC" format="default"/> where PCEdoesperforms the allocation). If a PCE does not recognize the TE-PATH-BINDING TLV, it would ignore the TLV in accordance with <xreftarget="RFC5440"/>.target="RFC5440" format="default"/>. If a PCE recognizes the TLV but does not support the TLV, itMUST<bcp14>MUST</bcp14> send a PCErr with Error-Type = 2(Capability("Capability notsupported).</t>supported").</t> <t>Multiple TE-PATH-BINDING TLVs are allowed to be present in the same LSP object. This signifies the presence of multiple binding SIDs for the given LSP. In the case of multiple TE-PATH-BINDING TLVs, the existing instances of TE-PATH-BINDING TLVsMAY<bcp14>MAY</bcp14> be included in the LSP object. In case of an error condition, the whole message isrejectedrejected, and the resulting PCErr messageMAY<bcp14>MAY</bcp14> include the offending TE-PATH-BINDING TLV in the PCEP-ERROR object.</t> <t>If a PCE recognizes an invalid binding value (e.g., label value from the reserved MPLS label space), itMUST<bcp14>MUST</bcp14> send a PCErr message with Error-Type = 10 ("Reception of an invalid object") andError ValueError-value = 2 ("Bad label value") as specified in <xreftarget="RFC8664"/>.</t>target="RFC8664" format="default"/>.</t> <t>For SRv6 BSIDs, it isRECOMMENDED<bcp14>RECOMMENDED</bcp14> to always explicitly specify the SRv6 Endpoint Behavior and SID Structure in the TE-PATH-BINDING TLV by settingtheBT(Binding Type)to 3. This can enable the sender to have control of the SRv6 Endpoint Behavior and SID Structure. A senderMAY<bcp14>MAY</bcp14> choose to set the BT to 2, in which case the receiving implementation chooses how to interpret the SRv6 Endpoint Behavior and SID Structure according to local policy.</t> <t>If a PCC wishes to withdraw a previously reported binding value, itMUST<bcp14>MUST</bcp14> send a PCRpt message with the specific TE-PATH-BINDING TLV with R flag set to 1. If a PCC wishes to modify a previously reported binding, itMUST<bcp14>MUST</bcp14> withdraw the former binding value (with R flag set in the former TE-PATH-BINDING TLV) and include a new TE-PATH-BINDING TLV containing the new binding value. Note that other instances of TE-PATH-BINDING TLVs that are unchangedMAY<bcp14>MAY</bcp14> also be included. If the unchanged instances are not included, they will remain associated with the LSP.</t> <t>If a PCE requires a PCC to allocateaone (or several) specific binding value(s), it may do so by sending a PCUpd or PCInitiate message containingaone or more TE-PATH-BINDINGTLV(s).TLVs. If thevalue(s)values can be successfully allocated, the PCC reports the bindingvalue(s)values to the PCE. If the PCC considers the binding value specified by the PCE invalid, itMUST<bcp14>MUST</bcp14> send a PCErr message with Error-Type =TBD232 ("Binding label/SID failure") andError ValueError-value =TBD31 ("Invalid SID"). If the binding value isvalid,valid but the PCC is unable to allocate the binding value, itMUST<bcp14>MUST</bcp14> send a PCErr message with Error-Type =TBD232 ("Binding label/SID failure") andError ValueError-value =TBD42 ("Unable to allocate the specified binding value"). Note that, in case of an error, the PCC rejects the PCUpd or PCInitiate message in its entirety and can include the offending TE-PATH-BINDING TLV in the PCEP-ERROR object.</t> <t>If a PCE wishes to request the withdrawal of a previously reported binding value, itMUST<bcp14>MUST</bcp14> send a PCUpd message with the specific TE-PATH-BINDING TLV with R flag set to 1. If a PCE wishes to modify a previously requested binding value, itMUST<bcp14>MUST</bcp14> request the withdrawal of the former binding value (with R flag set in the former TE-PATH-BINDING TLV) and include a new TE-PATH-BINDING TLV containing the new binding value. If a PCC receives a PCUpd message with TE-PATH-BINDING TLV where the R flag is set to 1, but either the binding value is missing (empty TE-PATH-BINDING TLV) or the binding value is incorrect, itMUST<bcp14>MUST</bcp14> send a PCErr message with Error-Type =TBD232 ("Binding label/SID failure") andError ValueError-value =TBD64 ("Unable to remove the binding value").</t><!--<t>If a PCC wishes to withdraw all previously reported binding values, it MUST send a PCRpt message without any TE-PATH-BINDING TLV. If a PCC wishes to modify any or all previously reported binding values, it MUST send a PCRpt message containing TE-PATH-BINDING TLVs containing all the binding values that apply from that point on.</t> <t>If a PCE wishes to modify a previously requested binding value, it MUST send a PCUpd message with TE-PATH-BINDING TLVs containing all the binding values that apply from that point on. The absence of TE-PATH-BINDING TLV in PCUpd message means that the PCE does not specify a binding value. Any previously allocated binding values are considered to be requested to be withdrawn by the PCE.</t>--> <!--<t>The absence of TE-PATH-BINDING TLV in PCUpd message means that the PCE does not specify a binding value in which case any previous allocated binding values are withdraw.</t>--> <!--<t>If a PCC receives a new valid binding value from the PCE, it MUST try to allocate the new binding value. If a PCC does not receive an former binding value for the PCE, it MUST withdraw the former binding value. If the new binding value is successfully allocated, the PCC MUST report the new value to the PCE. Otherwise, it MUST send a PCErr message with Error-Type = TBD2 ("Binding label/SID failure") and Error Value = TBD4 ("Unable to allocate the specified binding value"). Note that, all instances of TE-PATH-BINDING TLV that remains unchanged are always included in the LSP object and the offending TE-PATH-BINDING TLV is included in the PCEP-ERROR object.</t>--><t>In some cases, a stateful PCE may want to request that the PCC allocate a binding value of the PCC's own choosing. It instructs the PCC by sending a PCUpd message containing an empty TE-PATH-BINDING TLV, i.e., no binding value is specified (bringing the Length field of the TLV to 4). A PCE can also request that a PCCtoallocate a binding value at the time of initiation by sending a PCInitiate message with an empty TE-PATH-BINDING TLV. Only one such instance of empty TE-PATH-BINDING TLV, per BT,SHOULD<bcp14>SHOULD</bcp14> be included in the LSPobject andobject; others should be ignored on receipt. If the PCC is unable to allocate a new binding value as per the specified BT, itMUST<bcp14>MUST</bcp14> send a PCErr message with Error-Type =TBD232 ("Binding label/SID failure") andError-ValueError-value =TBD53 ("Unable to allocate a new binding label/SID").</t> <t>As previously noted, if a message contains an invalid TE-PATH-BINDING TLV that leads to an error condition, the whole message is rejected including any other valid instances of TE-PATH-BINDING TLVs, if any. The resulting error messageMAY<bcp14>MAY</bcp14> include the offending TE-PATH-BINDING TLV in the PCEP-ERROR object.</t> <t>If a PCC receives a TE-PATH-BINDING TLV in any message other than PCUpd or PCInitiate, itMUST<bcp14>MUST</bcp14> close the corresponding PCEP session with the reason "Reception of a malformed PCEP message" (according to <xreftarget="RFC5440"/>).target="RFC5440" format="default"/>). Similarly, if a PCE receives a TE-PATH-BINDING TLV in any message other than a PCRpt or if the TE-PATH-BINDING TLV is associated with any object other than an LSP or PCEP-ERROR object, the PCEMUST<bcp14>MUST</bcp14> close the corresponding PCEP session with the reason "Reception of a malformed PCEP message" (according to <xreftarget="RFC5440"/>).</t>target="RFC5440" format="default"/>).</t> <t>If a TE-PATH-BINDING TLV is absent in the PCRpt message and no binding values werereported before,previously reported, the PCEMUST<bcp14>MUST</bcp14> assume that the corresponding LSP does not have any binding. Similarly, if TE-PATH-BINDING TLV is absent in the PCUpd message and no binding values werereported before,previously reported, the PCC's local policy dictates how the binding allocations are made for a given LSP.</t> <t>Note that some binding types have similar information but different binding value formats. For example, BT=(2 or 3) is used for the SRv6SIDSID, and BT=(0 or 1) is used for the MPLS Label. In case a PCEP speaker receives multiple TE-PATH-BINDING TLVs with the same SRv6 SID or MPLS Label but different BT values, itMUST<bcp14>MUST</bcp14> send a PCErr message with Error-Type =TBD232 ("Binding label/SID failure") andError-ValueError-value =TBD75 ("Inconsistent binding types").</t> </section> <section anchor="SR-ERO"title="Bindingnumbered="true" toc="default"> <name>Binding SID inSR-ERO">SR-ERO</name> <t>In PCEP messages, LSP route information is carried in the Explicit Route Object (ERO), which consists of a sequence of subobjects. <xreftarget="RFC8664"/>target="RFC8664" format="default"/> defines the "SR-ERO subobject" capable of carrying a SID as well as the identity of thenode/adjacencyNode or Adjacency Identifier (NAI) represented by the SID. The NAI Type (NT) field indicates the type and format of the NAI contained in the SR-ERO. In case of binding SID, the NAIMUST NOT<bcp14>MUST NOT</bcp14> be included and NTMUST<bcp14>MUST</bcp14> be set to zero. <xreftarget="RFC8664"/> Section 5.2.1target="RFC8664" sectionFormat="of" section="5.2.1"/> specifies bit settings and error handling in the case when NT=0.<!--So as per Section 5.2.1 of <xref target="RFC8664"/>, for NT=0, the F bit is set to 1, the S bit needs to be zero and the Length is 8. Further, the M bit is set. If these conditions are not met, the entire ERO MUST be considered invalid and a PCErr message is sent by the PCC with Error-Type = 10 ("Reception of an invalid object") and Error-Value = 11 ("Malformed object").--></t></t> </section> <section anchor="SRv6-ERO"title="Bindingnumbered="true" toc="default"> <name>Binding SID inSRv6-ERO"> <!--<t><xref target="I-D.ietf-pce-segment-routing-ipv6"/> defines a new ERO subobject "SRv6-ERO subobject" for an SRv6 SID. As stated in <xref target="SR-ERO"/>, in case of binding SID, the NAI is not included and NT is set to zero i.e., NT=0, the F bit is set to 1, the S bit needs to be zero and the Length is 24 <xref target="I-D.ietf-pce-segment-routing-ipv6"/>. As per <xref target="RFC8664"/>, if these conditions are not met, the entire ERO is considered invalid and a PCErr message is sent by the PCC with Error-Type = 10 ("Reception of an invalid object") and Error-Value = 11 ("Malformed object").</t>-->SRv6-ERO</name> <t><xreftarget="I-D.ietf-pce-segment-routing-ipv6"/>target="RFC9603" format="default"/> defines the "SRv6-ERO subobject" for an SRv6 SID. Similarly to SR-ERO (<xreftarget="SR-ERO"/>),target="SR-ERO" format="default"/>), the NAIMUST NOT<bcp14>MUST NOT</bcp14> be included and the NTMUST<bcp14>MUST</bcp14> be set to zero. <xreftarget="RFC8664"/> Section 5.2.1target="RFC8664" sectionFormat="of" section="5.2.1"/> specifies bit settings and error handling in the case when NT=0.</t> </section> <section anchor="PCECC"title="PCEtoc="default" numbered="true"> <name>PCE Allocation of Bindinglabel/SID" toc="default">Label/SID</name> <t><xreftarget="Operation"/>target="Operation" format="default"/> already includes the scenario where a PCE requires a PCC to allocate a specified binding value by sending a PCUpd or PCInitiate message containing a TE-PATH-BINDING TLV. This section specifies anOPTIONAL<bcp14>OPTIONAL</bcp14> feature for the PCE to allocate the binding label/SID of its own accord in the case where the PCE also controls the label space of the PCC and can make the label allocation on its own as described in <xreftarget="RFC8283"/>.target="RFC8283" format="default"/>. Note that the act of requesting a specific binding value (<xreftarget="Operation"/>)target="Operation" format="default"/>) is different from the act of allocating a binding label/SID as described in this section.</t> <t><xreftarget="RFC8283"/>target="RFC8283" format="default"/> introduces the architecture for PCE as a central controller as an extension of the architecture described in <xreftarget="RFC4655"/>target="RFC4655" format="default"/> and assumes the continued use of PCEP as the protocol used between PCE and PCC. <xreftarget="RFC9050"/>target="RFC9050" format="default"/> specifies the procedures and PCEP extensions for using the PCE as the central controller. It assumes 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"/>).</t>target="I-D.ietf-pce-controlled-id-space" format="default"/>).</t> <t>WhenPCECCPCE as a Central Controller (PCECC) operations are supported as per <xreftarget="RFC9050"/>,target="RFC9050" format="default"/>, the binding label/SIDMAY<bcp14>MAY</bcp14> also be allocated by the PCE itself. Both peers need to exchange the PCECC capability as described in <xreftarget="RFC9050"/>target="RFC9050" format="default"/> before the PCE can allocate the binding label/SID on its own.</t> <t>A new P flag in the LSP object <xreftarget="RFC8231"/>target="RFC8231" format="default"/> is introduced to indicate that the allocation needs to be made by the PCE. Note that the P flag could be used for other types of allocations (such as path segments <xreftarget="I-D.ietf-pce-sr-path-segment"/>)target="I-D.ietf-pce-sr-path-segment" format="default"/>) in the future.<list style="symbols"> <t>P</t> <t indent="3">P (PCE-allocation): If the bit is set to 1, it indicates that the PCC requests that the PCEtomake allocations for this LSP. The TE-PATH-BINDING TLV in the LSP object identifies that the allocation is for a binding label/SID. A PCCMUST<bcp14>MUST</bcp14> set this bit to 1 and include a TE-PATH-BINDING TLV in the LSP object if it wishes to requestforan allocationoffor a binding label/SID by the PCE in the PCEP message. A PCEMUST<bcp14>MUST</bcp14> also set this bit to 1 and include a TE-PATH-BINDING TLV to indicate that the binding label/SID is allocated by PCE and encoded in the PCEP message towards the PCC. Further, if the binding label/SID is allocated by the PCC, the PCEMUST<bcp14>MUST</bcp14> set this bit to 0 and follow the procedure described in <xreftarget="Operation"/>.</t> </list></t>target="Operation" format="default"/>.</t> <t>Notethat - <list style="symbols"> <t>Athat: </t> <ul spacing="normal"> <li>A PCE could allocate the binding label/SID of its own accord for a PCE-initiated ordelegated LSP,PCE-delegated LSP and inform the PCC in the PCInitiate message or PCUpd message by setting P=1 and including TE-PATH-BINDING TLV in the LSPobject.</t> <t>Toobject.</li> <li>To let the PCC allocate the binding label/SID, a PCEMUST<bcp14>MUST</bcp14> set P=0 and include an empty TE-PATH-BINDING TLV( i.e.,(i.e., no binding value is specified) in the LSP object in the PCInitiate/PCUpdmessage.</t> <t>Tomessage.</li> <li>To request that the PCE allocate the binding label/SID, a PCCMUST<bcp14>MUST</bcp14> set P=1, D=1, and include an empty TE-PATH-BINDING TLV in the PCRpt message. The PCE will attempt to allocate it and respond to the PCC with a PCUpd messageincludingthat includes the allocated binding label/SID in the TE-PATH-BINDING TLV andP=1,P=1 and D=1 in the LSP object. If the PCE is unable toallocate,allocate the binding label/SID, itMUST<bcp14>MUST</bcp14> send a PCErr message with Error-Type =TBD232 ("Binding label/SID failure") andError-ValueError-value =TBD53 ("Unable to allocate a new bindinglabel/SID").</t>label/SID").</li> <li> <t>If one or both speakers (PCE and PCC) have not indicated support and willingness to use the PCEP extensions for the PCECC as per <xreftarget="RFC9050"/>target="RFC9050" format="default"/> and a PCEP peer receives P=1 in the LSP object,it MUST: <list style="symbols"> <t>sendthey <bcp14>MUST</bcp14>: </t> <ul spacing="normal"> <li>send a PCErr message withError-Type=19 (Invalid Operation)Error-Type = 19 ("Invalid Operation") andError-value=16 (AttemptedError-value = 16 ("Attempted PCECC operations when PCECC capability was notadvertised) and</t> <t>terminateadvertised") and</li> <li>terminate the PCEPsession.</t> </list></t> <t>Asession.</li> </ul> </li> <li>A legacy PCEP speaker that does not recognize the P flag in the LSP object would ignore it in accordance with <xreftarget="RFC8231"/>.</t> </list></t>target="RFC8231" format="default"/>.</li> </ul> <t>It is assumed that the label range to be used by a PCE is known and set on both PCEP peers. The exact mechanism is out of the scope of <xreftarget="RFC9050"/> ortarget="RFC9050" format="default"/> and this document. Note that the specific BSID could be from the PCE-controlled or the PCC-controlled label space. The PCE can directly allocate the label from the PCE-controlled label space using P=1 as described above, whereas the PCE can request the allocation of a specific BSID from the PCC-controlled label space with P=0 as described in <xreftarget="Operation"/>.</t> <!--<t>A PCC would set this bit to 1 (and carry the TE-PATH-BINDING TLV <xref target="I-D.ietf-pce-binding-label-sid"/> in the LSP object) to request for allocation of the binding label by the PCE in the PCReq or PCRpt message. A PCE would also set this bit to 1 to indicate that the binding label is allocated by PCE and encoded in the PCRep, PCUpd, or PCInitiate message (the TE-PATH-BINDING TLV is present in LSP object). Further, a PCE would set this bit to 0 to indicate that the allocation is done by the PCC instead.</t>--> <!--<t>The ingress PCC could request the binding label to be allocated by the PCE via a PCRpt message as per <xref target="RFC8231"/>. The delegate flag (D-flag) MUST also be set for this LSP. The TE-PATH-BINDING TLV MUST be included with no Binding Value. The PCECC would allocate the binding label and further respond to ingress PCC with PCUpd message as per <xref target="RFC8231"/> and MUST include the TE-PATH-BINDING TLV in an LSP object. The P flag in the LSP object would be set to 1 to indicatetarget="Operation" format="default"/>.</t> <t>Note that theallocation is made by the PCE.</t>--> <!--<t>The PCE could allocate the binding label on its own accord for a PCE- Initiated (or delegated) LSP. The allocated binding label needs to be informed to the PCC. The PCE would use the PCInitiate message <xref target="RFC8281"/> or PCUpd message <xref target="RFC8231"/> towards the PCC and MUST include the TE-PATH-BINDING TLV in the LSP object. TheP flag in the LSP objectwould be set to 1 to indicate that the allocation is made by the PCE.</t> --> <!--<t>Before a PCE can allocate a binding label the PCECC capability MUST be exchanged on the PCEP session. Note that the CCI object is not used for binding allocation; this is done to maintain consistency with the rest of the binding label/SID procedures as per <xref target="I-D.ietf-pce-binding-label-sid"/>.</t>--> <t>Note that, the P-Flag in the LSP object SHOULD NOT<bcp14>SHOULD NOT</bcp14> be set to 1 without the presence of TE-PATH-BINDING TLV or any other future TLV defined for PCE allocation. On receipt of such an LSP object, theP-FlagP flag is ignored. The presence of TE-PATH-BINDING TLV with P=1 indicates the allocation is for the binding label/SID. In the future, some other TLV (such as one defined in <xreftarget="I-D.ietf-pce-sr-path-segment"/>)target="I-D.ietf-pce-sr-path-segment" format="default"/>) could also be used alongside P=1 to indicate allocation of a different attribute. A future document should not attempt to assign semantics to P=1 without limitingitsthe scope to one that both PCEP peerscouldcan agree on.</t> </section> <sectionanchor="Imp" title="Implementation Status"> <t>[Note to the RFC Editor - remove this section before publication, as well as remove the reference to RFC 7942.]</t> <t>This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in <xref target="RFC7942"/>. The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs. Please note that the listing of any individual implementation here does not imply endorsement by the IETF. Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors. This is not intended as, and must not be construed to be, a catalog of available implementations or their features. Readers are advised to note that other implementations may exist.</t> <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".</t> <section anchor="Huawei" title="Huawei"> <t><list style="symbols"> <t>Organization: Huawei</t> <t>Implementation: Huawei's Router and Controller</t> <t>Description: An experimental code-point is used and will be modified to the value allocated in this document.</t> <t>Maturity Level: Production</t> <t>Coverage: Full</t> <t>Contact: c.l@huawei.com</t> </list></t> </section> <section anchor="Cisco" title="Cisco"> <t><list style="symbols"> <t>Organization: Cisco Systems</t> <t>Implementation: Head-end and controller.</t> <t>Description: An experimental code-point is used and will be modified to the value allocated in this document.</t> <t>Maturity Level: Production</t> <t>Coverage: Full</t> <t>Contact: mkoldych@cisco.com</t> </list></t> </section> </section> <sectionanchor="Security"title="Security Considerations">numbered="true" toc="default"> <name>Security Considerations</name> <t>The security considerations described in <xreftarget="RFC5440"/>,target="RFC5440" format="default"/>, <xreftarget="RFC8231"/>,target="RFC8231" format="default"/>, <xreftarget="RFC8281"/>,target="RFC8281" format="default"/>, <xreftarget="RFC8664"/>,target="RFC8664" format="default"/>, and <xreftarget="RFC9050"/>target="RFC9050" format="default"/> are applicable to this specification. No additional security measure is required.</t> <t>As described in <xreftarget="RFC8402"/>target="RFC8402" format="default"/> and <xreftarget="RFC8664"/>,target="RFC8664" format="default"/>, SR intrinsically involves an entity (whether head-end or a central network controller) controlling and instantiating paths in the network without the involvement of (other) nodes along those paths. Binding SIDs are in effect shorthand aliases for longer path representations, and the alias expansion is in principle known only by the node that acts on it. In this document, the expansion of the alias is shared between PCC and PCE, and rogue actions by either PCC or PCE could result in shifting or misdirecting traffic in ways that are hard for other nodes to detect. In particular, when a PCE propagates paths of the form {A, B, BSID} to other entities, the BSID values are opaque, and a rogue PCE can substitute a BSID from a different LSP in such paths to move traffic without the recipient of the path knowing the ultimate destination.</t><!--<t>As described in <xref target="RFC8664"/>, SR allows a network controller to instantiate and control paths in the network. A rogue PCE can manipulate binding SID allocations to move traffic around for some other LSP that uses BSID in its SR-ERO. Note that path {A, B, BSID} can be misdirected just by assigning the BSID value to a different LSP making it a lot easier to misdirect traffic (and harder to detect).</t>--><t>The case of BT=3 provides additional opportunities for malfeasance, as it purports to convey information about internal SRv6 SIDstructure.Structure. There is no mechanism defined to validate this internal structure information, and mischaracterizing the division of bits into locator block, locator node, function, and argument can result in different interpretation of the bits by PCC and PCE. Most notably, shifting bits into or out of the "argument" is a direct vector for affecting processing, but other attacks are also possible.</t><!--<t>Note that in case of BT as 3, the manipulation of SID structure could be exploited by falsifying the various length values.</t>--><t>Thus, as per <xreftarget="RFC8231"/>,target="RFC8231" format="default"/>, it isRECOMMENDED<bcp14>RECOMMENDED</bcp14> that these PCEP extensions only be activated on authenticated and encrypted sessions across PCEs and PCCs belonging to the same administrative authority, using Transport Layer Security (TLS) <xreftarget="RFC8253"/>,target="RFC8253" format="default"/>, as per the recommendations and best current practices inBCP195RFC 9325 <xreftarget="RFC7525"/>target="BCP195"/> (unless explicitly set aside in <xreftarget="RFC8253"/>).</t>target="RFC8253" format="default"/>).</t> </section> <sectiontitle="Manageability Considerations" toc="default">toc="default" numbered="true"> <name>Manageability Considerations</name> <t>All manageability requirements and considerations listed in <xref format="default"pageno="false"target="RFC5440"/>, <xref format="default"pageno="false"target="RFC8231"/>, and <xreftarget="RFC8664"/>target="RFC8664" format="default"/> apply to PCEP protocol extensions defined in this document. In addition, requirements and considerations listed in this section apply.</t> <sectiontitle="Controltoc="default" numbered="true"> <name>Control of Function andPolicy" toc="default">Policy</name> <t>A PCC implementationSHOULD<bcp14>SHOULD</bcp14> allow the operator to configure the policy the PCC needs to apply when allocating the binding label/SID.</t> <t>If BT is set to 2, the operator needs to have local policy set to decide the SID structure and the SRv6 Endpoint Behavior of the BSID.</t> </section> <sectiontitle="Informationtoc="default" numbered="true"> <name>Information and DataModels" toc="default">Models</name> <t>The PCEP YANG module <xreftarget="I-D.ietf-pce-pcep-yang"/>target="I-D.ietf-pce-pcep-yang" format="default"/> will be extended to include policy configuration for binding label/SID allocation.</t> </section> <sectiontitle="Livenesstoc="default" numbered="true"> <name>Liveness Detection andMonitoring" toc="default">Monitoring</name> <t>The mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in <xref format="default"pageno="false"target="RFC5440"/>.</t> </section> <sectiontitle="Verifytoc="default" numbered="true"> <name>Verify CorrectOperations" toc="default">Operations</name> <t>The mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in <xref format="default"pageno="false"target="RFC5440"/>, <xref format="default"pageno="false"target="RFC8231"/>, and <xreftarget="RFC8664"/>.</t>target="RFC8664" format="default"/>.</t> </section> <sectiontitle="Requirements Ontoc="default" numbered="true"> <name>Requirements on OtherProtocols" toc="default">Protocols</name> <t>The mechanisms defined in this document do not imply any new requirements on other protocols.</t> </section> <sectiontitle="Impact Ontoc="default" numbered="true"> <name>Impact on NetworkOperations" toc="default">Operations</name> <t>The mechanisms defined in <xref format="default"pageno="false"target="RFC5440"/>, <xref format="default"pageno="false"target="RFC8231"/>, and <xreftarget="RFC8664"/>target="RFC8664" format="default"/> also apply to the PCEP extensions defined in this document.</t> </section> </section> <section anchor="IANA"title="IANA Considerations">numbered="true" toc="default"> <name>IANA Considerations</name> <t>IANAmaintains the "Path Computation Element Protocol (PCEP) Numbers" registry. This document requests IANA actions to allocatehas allocated code points for the protocol elementsdefineddescribed in thisdocument.</t>document in the "Path Computation Element Protocol (PCEP) Numbers" registry group.</t> <section anchor="TLV"title="PCEPnumbered="true" toc="default"> <name>PCEP TLV TypeIndicators">Indicators</name> <t>This document defines a new PCEPTLV;TLV. IANAis requested to confirmhas allocated the followingearly allocations fromin the "PCEP TLV Type Indicators"subregistry ofregistry within the PCEP Numbersregistry, as follows:</t> <texttableregistry group:</t> <table anchor="TLV-Type"style="none" suppress-title="true"> <ttcol align="center" width="15%">Value</ttcol> <ttcol align="left" width="30%">Description</ttcol> <ttcol align="left" width="55%">Reference</ttcol> <c/> <c> </c> <c/> <c>55</c> <c>TE-PATH-BINDING</c> <c>This document</c> </texttable>align="center"> <thead> <tr> <th align="center">Value</th> <th align="left">Description</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="center">55</td> <td align="left">TE-PATH-BINDING</td> <td align="left">RFC 9604</td> </tr> </tbody> </table> <section anchor="IANA-TLV"title="TE-PATH-BINDING TLV ">numbered="true" toc="default"> <name>TE-PATH-BINDING TLV</name> <t>IANAis requested to create a new subregistryhas created the "TE-PATH-BINDING TLV BTfield"Field" registry to manage thevaluevalues of theBinding Typebinding type field in the TE-PATH-BINDING TLV. Initial valuesfor the subregistryaregivenshown below. New values are assigned by Standards Action <xreftarget="RFC8126"/>.</t> <texttabletarget="RFC8126" format="default"/>.</t> <table anchor="BT"style="none" suppress-title="true"> <ttcol align="center" width="15%">Value</ttcol> <ttcol align="left" width="30%">Description</ttcol> <ttcol align="left" width="55%">Reference</ttcol> <c/> <c> </c> <c/> <c>0</c> <c>MPLS Label</c> <c>This document</c> <c>1</c> <c>MPLSalign="center"> <thead> <tr> <th align="center">Value</th> <th align="left">Description</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="center">0</td> <td align="left">MPLS Label</td> <td align="left">RFC 9604</td> </tr> <tr> <td align="center">1</td> <td align="left">MPLS Label StackEntry</c> <c>This document</c> <c>2</c> <c>SRv6 SID</c> <c>This document</c> <c>3</c> <c>SRv6Entry</td> <td align="left">RFC 9604</td> </tr> <tr> <td align="center">2</td> <td align="left">SRv6 SID</td> <td align="left">RFC 9604</td> </tr> <tr> <td align="center">3</td> <td align="left">SRv6 SID with Behavior andStructure</c> <c>This document</c> <c>4-255</c> <c>Unassigned</c> <c>This document</c> </texttable>Structure</td> <td align="left">RFC 9604</td> </tr> <tr> <td align="center">4-255</td> <td align="left">Unassigned</td> <td align="left"></td> </tr> </tbody> </table> <t>IANAis requested to createhas created a newsubregistry"TE-PATH-BINDING TLV Flagfield"Field" registry to manage the Flag field in the TE-PATH-BINDING TLV. New values are to be assigned by Standards Action <xreftarget="RFC8126"/>.target="RFC8126" format="default"/>. Each bit should be tracked with the following qualities:</t><t><list style="symbols"> <t>Bit<ul spacing="compact"> <li>Bit number (count from 0 as the most significantbit)</t> <t>Description</t> <t>Reference</t> </list></t> <texttablebit)</li> <li>Description</li> <li>Reference</li> </ul> <table anchor="BF"style="none" suppress-title="true"> <ttcol align="center" width="15%">Bit</ttcol> <ttcol align="left" width="30%">Description</ttcol> <ttcol align="left" width="55%">Reference</ttcol> <c/> <c> </c> <c/> <!--<c>7</c> <c>Specified-BSID-Only Flag (S-Flag)</c> <c>This document</c> <c>6</c> <c>Drop Upon Invalid Flag (I-Flag)</c> <c>This document</c>--> <c>0</c> <c>R (Removal)</c> <c>This document</c> <c>1-7</c> <c>Unassigned</c> <c>This document</c> </texttable>align="center"> <thead> <tr> <th align="center">Bit</th> <th align="left">Description</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="center">0</td> <td align="left">R (Removal)</td> <td align="left">RFC 9604</td> </tr> <tr> <td align="center">1-7</td> <td align="left">Unassigned</td> <td align="left"></td> </tr> </tbody> </table> </section> </section> <section anchor="LSP"title="LSP Object">numbered="true" toc="default"> <name>LSP Object</name> <t>IANAis requested to confirm the early allocation forhas allocated anew code-pointcode point in the "LSP Object Flag Field"sub-registryregistry for the new P flag as follows:</t><texttable<table anchor="LSP-Flag"style="none" suppress-title="true"> <ttcol align="center" width="15%">Bit</ttcol> <ttcol align="left" width="30%">Description</ttcol> <ttcol align="left" width="55%">Reference</ttcol> <c/> <c> </c> <c/> <c>0</c> <c>PCE-allocation</c> <c>This document</c> </texttable>align="center"> <thead> <tr> <th align="center">Bit</th> <th align="left">Description</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="center">0</td> <td align="left">PCE-allocation</td> <td align="left">RFC 9604</td> </tr> </tbody> </table> </section> <section anchor="Error-Type"title="PCEPnumbered="true" toc="default"> <name>PCEP Error Type andValue">Value</name> <t>This document defines a newError-typeError-Type and associatedError-ValuesError-values for the PCErr message. IANAis requested to allocatehas allocated a newerror-typeError-Type anderror-valuesError-values within the "PCEP-ERROR Object Error Types and Values"subregistryregistry of the PCEP Numbersregistry,registry group, as follows:</t><texttable anchor="Error" style="none" suppress-title="true"> <ttcol align="center" width="10%">Error-Type</ttcol> <ttcol align="left" width="30%">Meaning</ttcol> <ttcol align="left" width="50%">Error-value</ttcol> <ttcol align="left" width="10%">Reference</ttcol> <c/> <c> </c> <c/> <c/> <c>TBD2</c> <c>Binding<table anchor="Error"> <thead> <tr> <th>Error-Type</th> <th>Meaning</th> <th>Error-value</th> </tr> </thead> <tbody> <tr> <td rowspan="6">32</td> <td rowspan="6">Binding label/SIDfailure</c> <c> 0: Unassigned</c> <c>This document</c> <c> </c> <c> </c> <c>TBD3:failure</td> <td>0: Unassigned</td> </tr> <tr><td>1: InvalidSID</c> <c>This document</c> <c> </c> <c> </c> <c>TBD4:SID</td></tr> <tr><td>2: Unable to allocate the specified bindingvalue</c> <c>This document</c> <c> </c> <c> </c> <c>TBD5:value</td></tr> <tr><td>3: Unable to allocate a new bindinglabel/SID</c> <c>This document</c> <c> </c> <c> </c> <c>TBD6:label/SID</td></tr> <tr><td>4: Unable to remove the bindingvalue</c> <c>This document</c> <c> </c> <c> </c> <c>TBD7:value</td></tr> <tr><td>5: Inconsistent bindingtypes</c> <c>This document</c> </texttable>types</td></tr> </tbody> </table> </section> </section> </middle> <back> <displayreference target="I-D.ietf-pce-pcep-yang" to="PCEP-YANG"/> <displayreference target="I-D.ietf-pce-controlled-id-space" to="PCE-ID-SPACE"/> <displayreference target="I-D.ietf-pce-sr-path-segment" to="PCEP-SR"/> <references> <name>References</name> <references> <name>Normative References</name> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3032.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5462.xml"/> <referencegroup anchor="BCP195" target="https://www.rfc-editor.org/info/bcp195"> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8996.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9325.xml"/> </referencegroup> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8253.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8664.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9050.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9603.xml"/> </references> <references> <name>Informative References</name> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4655.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8283.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml"/> <!-- [I-D.ietf-pce-pcep-yang] IESG state Publication Requested as of 06/10/24 --> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-pce-pcep-yang.xml"/> <!-- rfced] FYI - I-D.li-pce-controlled-id-space was replaced by I-D.ietf-pce-controlled-id-space, so we have update to the replaced draft string. Please let us know if there is any objection. --> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-pce-controlled-id-space.xml"/> <!-- [I-D.ietf-pce-sr-path-segment] IESG state I-D Exists as of 06/10/24 --> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-pce-sr-path-segment.xml"/> </references> </references> <section anchor="Acknowledgement"title="Acknowledgements">numbered="false" toc="default"> <name>Acknowledgements</name> <t>We would like to thankMilos Fabian, Mrinmoy Das, Andrew Stone, Tom Petch, Aijun Wang, Olivier Dugeon, and Adrian Farrel<contact fullname="Milos Fabian"/>, <contact fullname="Mrinmoy Das"/>, <contact fullname="Andrew Stone"/>, <contact fullname="Tom Petch"/>, <contact fullname="Aijun Wang"/>, <contact fullname="Olivier Dugeon"/>, and <contact fullname="Adrian Farrel"/> for their valuable comments.</t> <t>Thanks toJulien Meuric<contact fullname="Julien Meuric"/> for shepherding. Thanks toJohn Scudder<contact fullname="John Scudder"/> for the AD review.</t> <t>Thanks toTheresa Enghardt<contact fullname="Theresa Enghardt"/> for the GENART review.</t> <t>Thanks toMartin Vigoureux, Benjamin Kaduk, Eric Vyncke, Lars Eggert, Murray Kucherawy, and Erik Kline<contact fullname="Martin Vigoureux"/>, <contact fullname="Benjamin Kaduk"/>, <contact fullname="Eric Vyncke"/>, <contact fullname="Lars Eggert"/>, <contact fullname="Murray Kucherawy"/>, and <contact fullname="Erik Kline"/> for the IESG reviews.</t> </section></middle> <back> <references title="Normative References"> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3032.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5440.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5462.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7525.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7942.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8231.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8253.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8281.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8402.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8664.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8126.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8986.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9050.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-pce-segment-routing-ipv6"?> </references> <references title="Informative References"> <!--<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4206.xml"?>--> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4655.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8283.xml"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8754.xml"?> <!--<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8669.xml"?>--> <?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-spring-segment-routing-policy"?> <!--<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-idr-segment-routing-te-policy"?>--> <!--<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-isis-segment-routing-extensions"?>--> <!--<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-pce-pcep-extension-for-pce-controller"?>--> <?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-pce-pcep-yang"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.li-pce-controlled-id-space"?> <?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-pce-sr-path-segment"?> </references> <!--<section anchor="sec_pcecc" title="PCE based Central Controller"> <t><xref target="RFC8283"/> introduces the architecture for PCE as a central controller as an extension of the architecture described in <xref target="RFC4655"/> and assumes the continued use of PCEP as the protocol used between PCE and PCC. <xref target="RFC8283"/> further examines the motivations and applicability for PCEP as a Southbound Interface (SBI), and introduces the implications for the protocol.</t> <t>As per <xref target="RFC8283"/>, PCE as a central controller can allocate and provision the node/prefix/adjacency label (SID) via PCEP. It can also be used to allocate<section toc="default" numbered="false"> <name>Contributors</name> <contact fullname="Jonathan Hardwick"> <organization>Microsoft</organization> <address> <postal> <country>United Kingdom</country> </postal> <email>jonhardwick@microsoft.com</email> </address> </contact> <contact fullname="Dhruv Dhody"> <organization>Huawei Technologies </organization> <address> <postal> <street>Divyashree Techno Park, Whitefield</street> <city>Bangalore</city><region>Karnataka</region> <country>India</country> <code>560066</code> </postal> <email>dhruv.ietf@gmail.com</email> </address> </contact> <contact fullname="Mahendra Singh Negi"> <organization>RtBrick India</organization> <address> <postal> <street>N-17L, Floor-1, 18th Cross Rd, HSR Layout Sector-3</street> <city>Bangalore</city><region>Karnataka</region> <country>India</country> <code>560102</code> </postal> <email>mahend.ietf@gmail.com</email> </address> </contact> <contact fullname="Mike Koldychev"> <organization>Cisco Systems, Inc.</organization> <address> <postal> <street>2000 Innovation Drive</street> <city>Kanata</city><region>Ontario</region><code>K2K 3E8</code> <country>Canada</country> </postal> <email>mkoldych@cisco.com</email> </address> </contact> <contact fullname="Zafar Ali"> <organization>Cisco Systems, Inc.</organization> <address> <email>zali@cisco.com</email> </address> </contact> </section> </back> <!-- [rfced] For thebinding SID as described in this section.</t> <t>The PCECC Capabilityterms listed below, it seems asper <xref target="I-D.zhao-pce-pcep-extension-pce-controller-sr"/> should also be advertised on the PCEP session, along withthough theSR sub-TLVs before using this procedure.</t> <t>A P flag in LSP object is introduced in <xref target="I-D.li-pce-sr-path-segment"/> to indicate the allocation needs to be made by the PCE. The same flagintent isalso set for the binding SID allocation request. A PCC would set this bit to 1torequest for allocation of the binding label/SID by the PCE in the PCReq or PCRpt message. A PCE would also set this bit to 1 to indicate thatuse thebinding label/SID is allocated by PCElowercase form generally andencoded ininitial capitalization when referring to thePCRep, PCUpdregistered values orPCInitiate message (the TE-PATH-BINDING TLV is present in LSP object). Further, a PCE would setfield names. Assuming thisbit to 0 to indicate that the path identifierisallocated by the PCC as described above.</t> <t>The ingress PCC could requestthebinding label/SID to be allocated bycase, some instances seem inconsistent. Please review thePCE via PCRpt message as per <xref target="RFC8231"/>. The delegate flag (D-flag) MUST also be setfollowing forthis LSP. The TE-PATH-BINDING TLV MAY be included with no Binding Value. The PCECC would allocated the binding label/SID and further respond to Ingress PCC with PCUpd message as per <xref target="RFC8231"/>consistency andMUST include the TE-PATH-BINDING TLV in a LSP object. The P flag in the LSP object would be set to 1 to indicate that the allocation is made by the PCE.</t> <t>The PCE could allocate the binding label/SID on its own accord for a PCE- Initiated (or delegated LSP). The allocatedlet us know if any updates are needed. MPLS Label vs MPLS label MPLS Label Stack Entry vs MPLS label stack entry Endpoint Behavior vs endpoint behavior Length vs length Binding Value vs bindinglabel/SID needs to be informed to the PCC. The PCE would use the PCInitiate message <xref target="RFC8281"/> or PCUpd message <xref target="RFC8231"/> towards the PCC and MUST include the TE-PATH-BINDING TLV in the LSP object. The P flag in the LSP object would be set to 1 to indicate that the allocation is made by the PCE.</t> </section>value --><section title="Contributor Addresses" toc="default"> <t><figure align="left" alt="" height="" suppress-title="false" title="" width=""> <artwork align="left" alt="" height="" name="" type="" width="" xml:space="preserve"><![CDATA[ Jonathan Hardwick Microsoft United Kingdom EMail: jonhardwick@microsoft.com Dhruv Dhody Huawei Technologies Divyashree Techno Park, Whitefield Bangalore, Karnataka 560066 India EMail: dhruv.ietf@gmail.com Mahendra Singh Negi RtBrick India N-17L, Floor-1, 18th Cross Rd, HSR Layout Sector-3 Bangalore, Karnataka 560102 India EMail: mahend.ietf@gmail.com Mike Koldychev Cisco Systems, Inc. 2000 Innovation Drive Kanata, Ontario K2K 3E8 Canada Email: mkoldych@cisco.com Zafar Ali Cisco Systems, Inc. Email: zali@cisco.com ]]></artwork> </figure></t> </section> </back></rfc>