<?xml version="1.0"encoding="windows-1252"?>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" ipr="trust200902" submissionType="IETF" category="std" consensus="true" docName="draft-ietf-pce-association-diversity-14" number="8800" obsoletes="" updates=""submissionType="IETF" xml:lang="en">xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3"> <front> <titleabbrev="Diversity-Assoc">Pathabbrev="PCEP Extension for LSP Diversity Constraint Signaling">Path Computation Element Communication Protocol (PCEP) Extension forLSPLabel Switched Path (LSP) Diversity Constraint Signaling </title> <seriesInfo name="RFC" value="8800"/> <author initials="S" surname="Litkowski" fullname="Stephane Litkowski"> <organization>Cisco Systems, Inc.</organization> <address> <postal> <street/> <city/> <region/> <code/> <country/> </postal> <email>slitkows.ietf@gmail.com</email> </address> </author> <author initials="S" surname="Sivabalan" fullname="Siva Sivabalan"><organization>Cisco Systems, Inc.</organization><organization>Ciena Corporation</organization> <address><postal> <street>2000 Innovation Drive</street> <city>Kanata</city> <region>Ontario</region> <code>K2K 3E8</code> <country>Canada</country> </postal> <email>msiva@cisco.com</email><postal/> <email>msiva282@gmail.com</email> </address> </author> <author initials="C" surname="Barth" fullname="Colby Barth"> <organization>Juniper Networks</organization> <address> <postal> <street/> <city/> <region/> <code/> <country/> </postal> <email>cbarth@juniper.net</email> </address> </author> <author initials="M" surname="Negi" fullname="Mahendra Singh Negi"><organization>Huawei Technologies</organization><organization>RtBrick India</organization> <address> <postal><street>Divyashree Techno Park, Whitefield</street><street>N-17L, Floor-1, 18th Cross Rd, HSR Layout Sector-3</street> <city>Bangalore</city> <region>Karnataka</region><code>560066</code><code>560102</code> <country>India</country> </postal> <email>mahend.ietf@gmail.com</email> </address> </author> <dateyear="2020"/>year="2020" month="July"/> <area>Routing</area> <workgroup>PCE Working Group</workgroup> <keyword>Disjoint</keyword> <keyword>Disjointness</keyword> <keyword>Association</keyword> <abstract> <t> This document introduces a simple mechanism to associate a group of Label Switched Paths (LSPs) via an extension to the Path Computation Element(PCE) communicationCommunication Protocol (PCEP) with the purpose of computing diverse (disjointed) paths for those LSPs. The proposed extension allows a Path Computation Client (PCC) to advertise to aPCEPath Computation Element (PCE) that a particular LSP belongs to a particulardisjoint-group, thusDisjoint Association Group; thus, the PCE knows that the LSPs in the same group need to be disjoint from each other.</t> </abstract> </front> <middle> <sectiontitle="Introduction" toc="default">toc="default" numbered="true"> <name>Introduction</name> <t> <xreftarget="RFC5440"/>target="RFC5440" format="default"/> describes the Path Computation ElementcommunicationCommunication Protocol(PCEP)(PCEP), which enables the communication between a Path Computation Client (PCC) and a Path Control Element(PCE),(PCE) or between two PCEs based on the PCE architecture <xreftarget="RFC4655"/>.target="RFC4655" format="default"/>. </t> <t> The PCEP Extensions for Stateful PCE Model <xreftarget="RFC8231"/>target="RFC8231" format="default"/> describes a set of extensions to PCEP to enable active control of MPLS-TE and GMPLS tunnels. <xreftarget="RFC8281"/>target="RFC8281" format="default"/> describes the setup and teardown of PCE-initiated LSPs under the active stateful PCE model, without the need for local configuration on the PCC, thus allowing for a dynamic network. </t> <t><xreftarget="I-D.ietf-pce-association-group"/>target="RFC8697" format="default"/> introduces a generic mechanism to create a grouping of LSPs in the context of a PCEwhichthat can then be used to define associations between a set of LSPs and a set of attributes (such as configuration parameters or behaviors) and is equally applicable to the active and passive modes of a stateful PCE <xreftarget="RFC8231"/>target="RFC8231" format="default"/> or a stateless PCE <xreftarget="RFC5440"/>.</t>target="RFC4655" format="default"/>.</t> <t>This document specifies a PCEP extension to signal that a set of LSPs in a particular group should use diverse (disjointed) paths, including the requested type of diversity. Sections <xreftarget="mot"/>target="mot" format="counter"/> and <xreftarget="app"/>target="app" format="counter"/> describe the property and use of adisjoint-group.Disjoint Association Group. A PCC can use this extension to signal to a PCE that a particular LSP belongs to a particulardisjoint-group.Disjoint Association Group. When a PCE receives LSP states belonging to the samedisjoint-groupDisjoint Association Group from some PCCs, the PCE should ensure that the LSPs within the group are disjoint from each other. </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 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shownhere.</t>here. </t> </section> </section> <sectiontitle="Terminology" toc="default">toc="default" numbered="true"> <name>Terminology</name> <t>The following terminology is used in this document.</t><t> <list style="hanging"> <!--<t hangText="LSR:">Label Switch Router.</t>--> <t hangText="DAT:">Disjoint Association Type.</t> <t hangText="DAG:">Disjoint Association Group.</t> <t hangText="MPLS:">Multiprotocol<dl newline="false" spacing="normal" indent="10"> <dt>DAT:</dt> <dd>Disjoint Association Type</dd> <dt>DAG:</dt> <dd>Disjoint Association Group</dd> <dt>MPLS:</dt> <dd>Multiprotocol LabelSwitching.</t> <t hangText="OF:">Objective Function.</t> <t hangText="PCC:">PathSwitching</dd> <dt>OF:</dt> <dd>Objective Function</dd> <dt>PCC:</dt> <dd>Path Computation Client. Any client application requesting a path computation to be performed by a Path ComputationElement.</t> <t hangText="PCE:">PathElement.</dd> <dt>PCE:</dt> <dd>Path Computation Element. An entity (component, application, or network node) that is capable of computing a network path or route based on a network graph and applying computationalconstraints.</t> <t hangText="PCEP:">Pathconstraints.</dd> <dt>PCEP:</dt> <dd>Path Computation Elementcommunication Protocol.</t> <t hangText="SRLG:">SharedCommunication Protocol</dd> <dt>PLSP-ID:</dt> <dd>PCEP-specific identifier for the LSP</dd> <dt>SRLG:</dt> <dd>Shared Risk LinkGroup.</t> </list> </t>Group</dd> </dl> </section> <sectiontitle="Motivation"toc="default"anchor="mot">anchor="mot" numbered="true"> <name>Motivation</name> <t>Path diversity is a very common use case in today's IP/MPLSnetworksnetworks, especially for layer 2 transport over MPLS. A customer may request that the operator provide two end-to-end disjoint paths across the operator's IP/MPLS core. The customer may use these paths as primary/backup or active/active configuration. </t> <t>Different levels of disjointness may be offered:<list style="symbols"> <t>Link</t> <ul spacing="normal"> <li>Link disjointness: the paths of the associated LSPs should transit different links (but may use common nodes or different links that may have some sharedfate). </t> <t>Nodefate).</li> <li>Node disjointness: the paths of the associated LSPs should transit different nodes (but may use different links that may have some sharedfate). </t> <t>SRLGfate).</li> <li>SRLG disjointness: the paths of the associated LSPs should transit different links that do not share fate (but may use common transitnodes). </t> <t>Node+SRLGnodes).</li> <li>Node+SRLG disjointness: the paths of the associated LSPs should transit different links that do not have any common shared fate and should transit differentnodes. </t> </list> </t>nodes.</li> </ul> <t> The associated LSPs may originate from the same orfromdifferenthead-end(s)head end(s) and may terminate at the same or differenttail-end(s).tail end(s). </t> </section> <sectiontitle="Applicability"toc="default"anchor="app"> <figure title="Figure 1 - Disjoint pathsanchor="app" numbered="true"> <name>Applicability</name> <figure> <name>Disjoint Paths withdifferent head-endsDifferent Head Ends andtail-ends" suppress-title="false"> <artwork>Tail Ends</name> <artwork name="" type="" align="left" alt=""><![CDATA[ _________________________________________ / \ / +------+ \ | | PCE | | | +------+ | | | |***********************>***********************> | | +------+ 10 +------+ | CE1 ****| PE 1 | ----- R1 ---- R2 ------- | PE 2 |**** CE2 | +------+ | | +------+ | | | | | | | | | | +------+ | | +------+ | CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4 | +------+***********************>***********************> +------+ | | | \ / \_________________________________________/</artwork>]]></artwork> </figure> <t> In the figure above, let us consider that the customer wants to have two disjoint paths, one between CE1 and CE2 and one between CE3 and CE4. From an IP/MPLS network point view, in this example, the CEs are connected to different PEs to maximize their disjointness. When LSPs originate from differenthead-ends,head ends, distributed computation of diverse paths can be difficult,whereas,whereas computation via a centralized PCE ensures path disjointness,correctnesscorrectness, and simplicity. </t> <t><xreftarget="svec"/>target="svec" format="default"/> describes the relationship between the Disjoint Association Group (DAG) and Synchronization VECtor (SVEC) object.</t> <t> The PCEP extension for stateful PCE <xreftarget="RFC8231"/>target="RFC8231" format="default"/> defined new PCEP messages--- Path Computation Report (PCRpt), Path Computation Update(PCUpd)(PCUpd), and Path Computation Initiate (PCInitiate) <xreftarget="RFC8281"/>.target="RFC8281" format="default"/>. These messages use a PLSP-ID in the LSP object for identification.MoreoverMoreover, to allow diversity between LSPs originating from different PCCs, the generic mechanism to create a grouping of LSPsis described in <xref target="I-D.ietf-pce-association-group"/> (thatthat is equally applicable to the active and passive modes of a statefulPCE). </t>PCE is described in <xref target="RFC8697" format="default"/>.</t> <t> Using the extension to PCEP defined in this document, the PCC uses the<xref target="I-D.ietf-pce-association-group"/>extension defined in <xref target="RFC8697" format="default"/> to indicate that a group of LSPs are required to be disjoint; such indication should include disjointness parameterssuch aslike the type of disjointness, thedisjoint groupDisjoint Association Group identifiers, and any customization parameters according to the configured local policy.</t> <t> The management of thedisjoint groupDisjoint Association Group IDs will be a key point for the operator as the Association ID field is limited to 65535. The local configuration of the IPv4/IPv6association source,Association Source, or Global Association Source/Extended AssociationID allows toID, can overcome thislimitationlimitation, as described in <xreftarget="I-D.ietf-pce-association-group"/>.target="RFC8697" format="default"/>. When a PCC or PCE initiates all the LSPs in a particulardisjoint-group,Disjoint Association Group, it can set the IPv4/IPv6association sourceAssociation Source as one of its own IP address. When disjoint LSPs are initiated from differenthead-ends,head ends, theassociation sourceAssociation Source could be the PCE address or any other unique value to identify the DAG. </t><t><figure title="Figure 2 - Sample use-cases<figure> <name>Sample Use Cases forcarrying disjoint-groupCarrying Disjoint Association Group over PCEPsession" suppress-title="false" align="left" alt="" width="" height="">Session</name> <artworkxml:space="preserve"name="" type="" align="left"alt="" width="" height=""><![CDATA[alt=""><![CDATA[ Initiate Disjoint LSPs | | PCReq/PCRpt V {DAG Y} +-----+ ----------------> +-----+ _ _ _ _ _ _| PCE | | | PCE | | +-----+ | ----------> +-----+ | PCInitiate | | PCReq/PCRpt |{DAG X} | | {DAG Y} | | | | .-----. | | .-----. | ( ) | +-----+ ( ) | .--( )--. | |PCC 2|--.--( )--. V ( ) | +-----+ ( ) +---+ ( ) | ( ) |PCC|----( (G)MPLS network ) +-----+ ( (G)MPLS network ) +---+ ( ) |PCC 1|-----( ) {DAG X} ( ) +-----+ ( ) '--( )--' ( )--' ( ) ( ) '-----' '-----' Case 1: Disjointness initiated by Case 2: Disjointness initiated by PCE and enforced by PCC PCC and enforced by PCE ]]></artwork></figure></t> <t>Using the disjoint-group</figure> <t>The Disjoint Association Group within a PCEP messages is used for:<list style="symbols"> <t>Configuration:</t> <ul spacing="normal"> <li>Configuration: Used to communicate the configured disjoint requirement to a PCEPpeer.</t> <t>Status:peer.</li> <li>Status: Used to communicate the status of the computeddisjointness.</t> </list> </t>disjointness.</li> </ul> </section> <sectiontitle="Protocol Extension" toc="default">toc="default" numbered="true"> <name>Protocol Extension</name> <sectiontitle="Association Group"anchor="encoding"toc="default">toc="default" numbered="true"> <name>Association Group</name> <t>As per <xreftarget="I-D.ietf-pce-association-group"/>,target="RFC8697" format="default"/>, LSPs are associated with other LSPs with which they interact by adding them to a common association group. As described in <xreftarget="I-D.ietf-pce-association-group"/>target="RFC8697" format="default"/>, the association group is uniquely identified by the combination ofthesethe following fields in the ASSOCIATION object: Association Type, Association ID, Association Source, and (if present) Global Association Source or Extended Association ID.</t> <t>This document defines a new Association type, called "Disjoint Association" (2), based on the generic ASSOCIATION object. This new Associationobject: <list style="symbols"> <t>Associationtype= TBD1 Disjointis also called "DAT", for "Disjoint AssociationType (DAT).</t> </list> </t>Type".</t> <t><xreftarget="I-D.ietf-pce-association-group"/>target="RFC8697" format="default"/> specifies the mechanism for the capability advertisement of theassociationAssociation types supported by a PCEP speaker by definingaan ASSOC-Type-List TLV to be carried within an OPEN object. This capability exchange for the DAT(TBD1) MUST(2) <bcp14>MUST</bcp14> be done before using thedisjointnessdisjoint association.ThusThus, the PCEP speakerMUST<bcp14>MUST</bcp14> include the DAT in the ASSOC-Type-List TLV andMUST<bcp14>MUST</bcp14> receive the same from the PCEP peer before using the Disjoint Association Group (DAG) in PCEP messages.</t> <t>ThisassociationAssociation type is considered to be both dynamic and operator-configured in nature. As per <xreftarget="I-D.ietf-pce-association-group"/>,target="RFC8697" format="default"/>, the association group could be manually created by the operatormanuallyon the PCEPpeerspeers, and the LSPs belonging to thisassociations isassociation are conveyed via PCEP messages to the PCEP peer;oralternately, the association group could be created dynamically by the PCEPspeakerspeaker, and both the association group information and the LSPs belonging to the association groupisare conveyed to the PCEP peer. The Operator-configured Association RangeMUST<bcp14>MUST</bcp14> be set for this association-type to mark a range ofassociation identifiersAssociation Identifiers that are used for operator-configured associations to avoid anyassociation identifierAssociation Identifier clash within the scope of theassociation source.Association Source. (Refer to <xreftarget="I-D.ietf-pce-association-group"/>.)</t>target="RFC8697" format="default"/>.)</t> <t>Adisjoint groupDisjoint Association Group can have two or more LSPs, but a PCE may be limited in the number of LSPs it can take into account when computing disjointness. If a PCE receives more LSPs in the group than it can handle in its computation algorithm, itSHOULD<bcp14>SHOULD</bcp14> apply disjointness computation to only a subset of LSPs in the group. The subset of disjoint LSPs will be decided by PCE as a local policy. Local policesMAY<bcp14>MAY</bcp14> define the computational behavior for the other LSPs in the group. For example, the PCE may provide no path, a shortest path, or a constrained path based on relaxing disjointness, etc. The disjoint status of the computed path is informed to the PCC viaDISJOINTNESS-STATUS-TLVthe DISJOINTNESS-STATUS TLV (see <xreftarget="tlvs"/>).</t>target="tlvs" format="default"/>).</t> <t>There aredifferetdifferent types of disjointness identified by the flags (T, S, N, and L) in theDISJOINTNESS-CONFIGURATION-TLVDISJOINTNESS-CONFIGURATION TLV (see <xreftarget="tlvs"/>).target="tlvs" format="default"/>). All LSPs in a particulardisjoint group MUSTDisjoint Association Group <bcp14>MUST</bcp14> use the same combination of T, S, N, and L flags in theDISJOINTNESS-CONFIGURATION-TLV.DISJOINTNESS-CONFIGURATION TLV. If a PCEP peer receives a PCEPmessagesmessage for LSPs belonging to the samedisjoint groupDisjoint Association Group but having an inconsistent combination of T, S, N, and L flags, the PCEP peerMUST NOT<bcp14>MUST NOT</bcp14> add the LSPs to thedisjoint groupDisjoint Association Group andMUST<bcp14>MUST</bcp14> reply with a PCErr withError-typeError-Type 26 (Association Error) andError-ValueError-value 6 (Association information mismatch).</t><!--<t>Associating a particular LSP to multiple disjoint groups is authorized from a protocol perspective, however there is no assurance that the PCE will be able to compute properly the multi-disjointness constraint.</t>--><t>A particular LSPMAY<bcp14>MAY</bcp14> be associated tothemultipledisjoint groups,Disjoint Association Groups, but in that case, the PCESHOULD<bcp14>SHOULD</bcp14> try to consider all thedisjoint groupsDisjoint Association Groups during pathcomputationcomputation, if possible.OtherwiseOtherwise, a local policyMAY<bcp14>MAY</bcp14> define the computational behavior. If a PCE does not support such a pathcomputationcomputation, itMUST NOT<bcp14>MUST NOT</bcp14> add the LSP into the association group and <bcp14>MUST</bcp14> return a PCErr withError-typeError-Type 26 (Association Error) andError-ValueError-value 7 (Cannot join the association group).</t> </section> <sectiontitle="Disjoint TLVs"anchor="tlvs"toc="default">toc="default" numbered="true"> <name>Disjoint TLVs</name> <t> Thedisjoint groupDisjoint Association Group (ASSOCIATION object with Association type =TBD12 for DAT)MUST<bcp14>MUST</bcp14> carry the following TLV:<list style="symbols"> <t>DISJOINTNESS-CONFIGURATION-TLV:</t> <ul spacing="normal"> <li>DISJOINTNESS-CONFIGURATION TLV: Used to communicate some disjointness configuration parameters. This is applicable for all PCEPmessagemessages thatincludes DAG.</t> </list> </t>include DAG.</li> </ul> <t> In addition, thedisjoint groupDisjoint Association Group (ASSOCIATION object with Association type =TBD12 for DAT)MAY<bcp14>MAY</bcp14> carry the following TLVs:<list style="symbols"> <t>DISJOINTNESS-STATUS-TLV:</t> <ul spacing="normal"> <li>DISJOINTNESS-STATUS TLV: Used to communicate the status of the computed disjointness. This is applicable for messages from a PCE to a PCC only(i.e.(i.e., PCUpd,PCInitiatePCInitiate, or PCRepmessage).</t> <t>VENDOR-INFORMATION-TLV:messages).</li> <li>VENDOR-INFORMATION-TLV: Used to communicate arbitrary vendor-specific behavioral information, described in <xreftarget="RFC7470"/>.</t> <t>OF-Listtarget="RFC7470" format="default"/>.</li> <li>OF-List TLV: Used to communicate the disjointness objective function. See <xreftarget="Disjointness-objective-functions"/>.</t> </list> </t>target="Disjointness-objective-functions" format="default"/>.</li> </ul> <t> TheDISJOINTNESS-CONFIGURATION-TLVDISJOINTNESS-CONFIGURATION TLV is shown in the following figure: </t> <figure><artwork><name>DISJOINTNESS-CONFIGURATION TLV</name> <artwork name="" type="" align="left" 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 =TBD246 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags |T|P|S|N|L| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork> </figure></t> <t> Type: TBD2. </t> <t> Length: Fixed]]></artwork> </figure> <dl newline="false" spacing="normal"> <dt>Type:</dt> <dd>46</dd> <dt> Length:</dt> <dd>Fixed value of 4bytes. <list style="none"> <t>Flags: <list style="symbols"> <t>Lbytes.</dd> <dt>Flags:</dt> <dd><t><br/></t><dl newline="false" spacing="normal"> <dt>L (Linkdiverse) bit: whenDiverse) bit:</dt><dd>When set, this indicates that the computed paths within thedisjoint group MUST NOTDisjoint Association Group <bcp14>MUST NOT</bcp14> have any link incommon.</t> <t>Ncommon.</dd> <dt>N (Nodediverse) bit: whenDiverse) bit:</dt><dd>When set, this indicates that the computed paths within thedisjoint group MUST NOTDisjoint Association Group <bcp14>MUST NOT</bcp14> have any node incommon.</t> <t>Scommon.</dd> <dt>S (SRLGdiverse) bit: whenDiverse) bit:</dt><dd>When set, this indicates that the computed paths within thedisjoint group MUST NOTDisjoint Association Group <bcp14>MUST NOT</bcp14> share any SRLG (Shared Risk LinkGroup).</t> <t>PGroup).</dd> <dt>P (Shortestpath) bit: whenPath) bit:</dt><dd>When set, this indicates that the computed path of the LSPSHOULD<bcp14>SHOULD</bcp14> satisfy all the constraints and objective functions first without considering the diversityconstraint, thisconstraint. This means that all of the LSPs with P flag set in the association group are computedfirstfirst, as if the disjointness constraint has not beenconfigured, and thenconfigured; then, with those LSPs fixed, the other LSPs with P flag unset in the association group are computed by taking into account the disjointness constraint. The role of P flag is further described with examples in <xreftarget="P-Flag-Consideration"/>.</t> <t>Ttarget="P-Flag-Consideration" format="default"/>.</dd> <dt>T (Strictdisjointness) bit: whenDisjointness) bit:</dt><dd>When set, if disjoint paths cannot be found, the PCEMUST<bcp14>MUST</bcp14> return no path for LSPs that could not bebedisjoint. When unset, the PCE is allowed to relax disjointness by<xref target="P-Flag-Consideration"/>either applying a requested objective function(cf. <xref target="Disjointness-objective-functions"/> below)(cf. <xref target="Disjointness-objective-functions" format="default"/>) or using the local policy if no objective function is requested(e.g.(e.g., using a lower disjoint type (link instead of node) or fully relaxing disjointness constraint).Further seeSee <xreftarget="dis"/>target="dis" format="default"/> fordetails.</t> <t>Unassignedfurther details.</dd> <dt>Unassigned bits:</dt><dd>Unassigned bits are considered reserved. TheyMUST<bcp14>MUST</bcp14> be set to 0 on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> </list> </t> </list> </t>receipt.</dd> </dl></dd> </dl> <t> If a PCEP speaker receives adisjoint-groupDisjoint Association Group (ASSOCIATION object with Association type =TBD12 for DAT) withoutDISJOINTNESS-CONFIGURATION-TLV,the DISJOINTNESS-CONFIGURATION TLV, itSHOULD<bcp14>SHOULD</bcp14> reply with a PCErrError-type=6Error-Type 6 (Mandatory Object missing) andError-value=TBD10 (DISJOINTNESS-CONFIGURATION-TLVError-value 15 (DISJOINTNESS-CONFIGURATION TLV missing). </t> <t>TheDISJOINTNESS-STATUS-TLVDISJOINTNESS-STATUS TLV uses the same format as theDISJOINTNESS-CONFIGURATION-TLVDISJOINTNESS-CONFIGURATION TLV with a different typeTBD347 (in the TLV). The L, N, and S flags are set if the respective disjointness criterion was requested and the computed paths meet it. The P flag indicates that the computed path is the shortest path (computed first without taking disjointness constraints intoconsideration,consideration but considering other constraints).</t> <t>The T flag has no meaning in theDISJOINTNESS-STATUS-TLVDISJOINTNESS-STATUS TLV andMUST NOT<bcp14>MUST NOT</bcp14> be set while sending andMUST<bcp14>MUST</bcp14> be ignored on receipt.<!--<figure> <artwork> 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 = [TBD3] | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags |T|P|S|N|L| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ </artwork> </figure> --></t> <t>Any document defining a new flag for theDISJOINTNESS-CONFIGURATION-TLVDISJOINTNESS-CONFIGURATION TLV automatically defines a new flag with the same name and in the same location inDISJOINTNESS-STATUS-TLV;DISJOINTNESS-STATUS TLV; the semantics of the flag inDISJOINTNESS-STATUS-TLV MUSTthe DISJOINTNESS-STATUS TLV <bcp14>MUST</bcp14> be specified in the document that specifies the flag inDISJOINTNESS-CONFIGURATION-TLV.the DISJOINTNESS-CONFIGURATION TLV. </t> </section> <section anchor="Disjointness-objective-functions"title="Disjointnessnumbered="true" toc="default"> <name>Disjointness ObjectiveFunctions"> <t> AnFunctions</name> <t>An objective function (OF)MAY<bcp14>MAY</bcp14> be applied to the disjointness computation to drive the PCE computation behavior. In this case, the OF-List TLV (defined in(<xref target="RFC5541"/>)<xref target="RFC5541" format="default"/>) is used as an optional TLV in theAssociation Group Object.ASSOCIATION object. Whereas the PCEP OF-List TLV allows multiple OF-codes inside the TLV, a senderSHOULD<bcp14>SHOULD</bcp14> include a single OF-code in the OF-List TLV when included in the Association Group, and the receiverMUST<bcp14>MUST</bcp14> consider the first OF-code only and ignore others ifincluded. </t> <t> Toincluded.</t> <t>To minimize the common shared resources (Node,LinkLink, or SRLG) between a set of paths during pathcomputationcomputation, three new OF-codes areproposed: </t>defined:</t> <t>MSL</t><t> <list style="hanging"> <t hangText="* Name:">Minimize<ul empty="true"><li> <dl newline="false" spacing="compact"> <dt>Name:</dt> <dd>Minimize the number ofsharedShared (common)Links.</t> <t hangText="* ObjectiveLinks.</dd> <dt>Objective FunctionCode:">TBD4</t> <t hangText="* Description:">FindCode:</dt> <dd>15</dd> <dt>Description:</dt> <dd> <t>Find a set of paths such that it passes through the least number of shared (common)links. <list style="symbols"> <t>Alinks.</t> <ul spacing="compact"> <li>A network comprises a set of N links {Li,(i=1...N)}.</t> <t>A(i=1...N)}.</li> <li>A path P passes through K links{Lpi,(i=1...K)}.</t> <t>A{Lpi,(i=1...K)}.</li> <li>A set of paths {P1...Pm} have L links that are common to more than one path{Lci,(i=1...L)}.</t> <t>Find{Lci,(i=1...L)}.</li> <li>Find a set of paths such that the value of L isminimized.</t> </list></t> </list> </t>minimized.</li> </ul> </dd> </dl> </li></ul> <t>MSS</t><t> <list style="hanging"> <t hangText="* Name:">Minimize<ul empty="true"><li> <dl newline="false" spacing="compact"> <dt>Name:</dt> <dd>Minimize the number ofsharedShared (common)SRLGs.</t> <t hangText="* ObjectiveSRLGs.</dd> <dt>Objective FunctionCode:">TBD5</t> <t hangText="* Description:">FindCode:</dt> <dd>16</dd> <dt>Description:</dt> <dd> <t>Find a set of paths such that it passes through the least number of shared (common) SRLGs.<list style="symbols"> <t>A</t> <ul spacing="compact"> <li>A network comprises a set of N links {Li,(i=1...N)}.</t> <t>A(i=1...N)}.</li> <li>A path P passes through K links {Lpi,(i=1...K)} belonging to unique M SRLGs{Spi,(i=1..M)}.</t> <t>A{Spi,(i=1..M)}.</li> <li>A set of paths {P1...Pm} have L SRLGs that are common to more than one path{Sci,(i=1...L)}.</t> <t>Find{Sci,(i=1...L)}.</li> <li>Find a set of paths such that the value of L isminimized.</t> </list></t> </list> </t>minimized.</li> </ul> </dd> </dl> </li></ul> <t>MSN</t><t> <list style="hanging"> <t hangText="* Name:">Minimize<ul empty="true"><li> <dl newline="false" spacing="compact"> <dt>Name:</dt> <dd>Minimize the number ofsharedShared (common)Nodes.</t> <t hangText="* ObjectiveNodes.</dd> <dt>Objective FunctionCode:">TBD6</t> <t hangText="* Description:">FindCode:</dt> <dd>17</dd> <dt>Description:</dt> <dd> <t>Find a set of paths such that they pass through the least number of shared (common) nodes.<list style="symbols"> <t>A</t> <ul spacing="compact"> <li>A network comprises a set of N nodes {Ni,(i=1...N)}.</t> <t>A(i=1...N)}.</li> <li>A path P passes through K nodes{Npi,(i=1...K)}.</t> <t>A{Npi,(i=1...K)}.</li> <li>A set of paths {P1...Pm} have L nodes that are common to more than one path{Nci,(i=1...L)}.</t> <t>Find{Nci,(i=1...L)}.</li> <li>Find a set of paths such that the value of L isminimized.</t> </list></t> </list> </t>minimized.</li> </ul> </dd> </dl> </li></ul> <t>If theOF-listOF-List TLV is included in theAssociation Object,ASSOCIATION object, the first OF-code inside the OFObject MUSTobject <bcp14>MUST</bcp14> be one of the disjoint OFs defined in this document. If this condition is not met, the PCEP speakerMUST<bcp14>MUST</bcp14> respond with a PCErr message withError-Type=10Error-Type 10 (Reception of an invalid object) andError-Value=TBD9Error-value 32 (Incompatible OF code).</t> </section><!-- Disjointness-objective-functions --><sectiontitle="Relationship to SVEC"toc="default"anchor="svec">anchor="svec" numbered="true"> <name>Relationship to SVEC</name> <t><xreftarget="RFC5440"/>target="RFC5440" format="default"/> defines a mechanism for the synchronization of a set of path computation requests by using the SVEC object,thatwhich specifies the list of synchronized requests that caneitherbe either dependent or independent. The SVEC object identifies the relationship between the set of path computation requests, identified by 'Request-ID-number' in the RP (Request Parameters) object. <xreftarget="RFC6007"/>target="RFC6007" format="default"/> furtherclarifiedclarifies the use of the SVEC list for synchronized path computations when computing dependent requestsas well as describedand describes a number of usage scenarios for SVEC lists within single-domain and multi-domain environments.</t> <t>The SVEC object includes a Flags field that indicates the potential dependency between the set of path computation requests in a similar way as the Flags field in the TLVs defined in this document. The path computation request in thePCReqPath Computation Request (PCReq) messageMAY<bcp14>MAY</bcp14> use both the SVEC and ASSOCIATION objects to identify the related path computationrequestrequest, as well as the DAG. The PCEMUST<bcp14>MUST</bcp14> try to find a path that meets both the constraints. It is possible that the diversity requirement in the association group is different from the one in the SVEC object. The PCEMUST<bcp14>MUST</bcp14> consider both the objects (including the flags set inside the objects) as per the processing rules and aim to find a path that meets both of these constraints. In case no such path is possible, the PCEMUST<bcp14>MUST</bcp14> send apath computation replyPath Computation Reply (PCRep) with a NO-PATH object indicating path computationfailurefailure, as per <xreftarget="RFC5440"/>.target="RFC5440" format="default"/>. It should be noted that the LSPs in the association group can be fully same or partially overlapping with the LSPs grouped by the SVEC object in PCReq message.</t> <t>Some examples of usage are listedbelow: </t> <t> <list style="symbols"> <t>below:</t> <ul spacing="normal"> <li> PCReq with SVEC object with node-diverse bit=1 (LSP1,LSP2) and DAG with S=1 (LSP1,LSP2) - bothnodenode- andSRLG diverseSRLG-diverse path betweenLSP1,LSP1 and LSP2.</t> <t></li> <li> PCReq with SVEC object with link-diverse bit=1 (LSP1,LSP2) and DAG with L=1 (LSP1,LSP3) -link diverselink-diverse paths between LSP1& LSP2,and LSP2 and between LSP1&and LSP3. If the DAG is part of the stateful database, any future change in LSP3 will have an impact on LSP1. But any future change in LSP2 will have no impact on LSP1, as LSP2 is part of SVEC object (which is considered once on receipt of the PCReq message only).</t> </list> </t></li> </ul> <sectiontitle="SVEC and OF"toc="default"anchor="svec-of">anchor="svec-of" numbered="true"> <name>SVEC and OF</name> <t>This document defines three new OF-codes in <xreftarget="Disjointness-objective-functions"/>target="Disjointness-objective-functions" format="default"/> to maximize diversity as much aspossible, inpossible. In other words, new OF-codes allow specification of minimization of common shared resources (Node,LinkLink, or SRLG) among a set of paths during path computation.</t><t> It<t>It may be interesting to note that the diversity flags in the SVEC object and OF for diversity can be used together. Some examples of usage are listedbelow: </t> <t> <list style="symbols"> <t> SVECbelow:</t> <ul spacing="normal"> <li>SVEC object with node-diverse bit=1 - ensure fullnode-diversity. </t> <t> SVECnode diversity.</li> <li>SVEC object with node-diverse bit=1 and OF=MSS - full nodediversediversity with as much SRLG diversity asSRLG-diversity as possible. </t> <t> SVECpossible.</li> <li>SVEC object with domain-diversebit=1;link diversebit=1 <xref target="RFC8685"/>; node-diverse bit=1, and OF=MSS - full domain and nodediverse pathdiversity with as much SRLG diversity asSRLG-diversity as possible. </t> <t> SVECpossible.</li> <li>SVEC object with node-diverse bit=1 and OF=MSN - ensure fullnode-diversity. </t> </list> </t> <t> Innode diversity.</li> </ul> <t>In the last example above, it is interesting to note that "OF" becomes redundant as "SVEC object" ensures fullnode-diversity, howevernode diversity; however, this specification does not prohibit redundant constraints while using "SVEC object" and "OF" together fordiversity. </t>diversity.</t> </section> </section> <sectiontitle="P Flag Considerations"toc="default"anchor="P-Flag-Consideration">anchor="P-Flag-Consideration" numbered="true"> <name>P Flag Considerations</name> <t>As mentioned in <xreftarget="tlvs"/>,target="tlvs" format="default"/>, the P flag (when set) indicates that the computed path of the LSPSHOULD satisfies<bcp14>SHOULD</bcp14> satisfy all constraints and objective functions first without considering the diversity constraint.</t> <t>This means that an LSP with the P flag set should be placedfirstfirst, as if the disjointness constraint has not been configured, while the other LSPs in the association with the P flag unset should be placed by taking into account the disjointness constraint. Setting the P flag changes the relationship between LSPs to a one-sided relationship (LSP 1 with P=0 depends on LSP 2 with P=1, but LSP 2 with P=1 does not dependofon LSP 1 with P=0). Multiple LSPs in the samedisjoint groupDisjoint Association Group may have the P flag set. In such a case, those LSPs may not be disjoint from each other but will be disjoint from other LSPs in the group that have the P flag unset.</t> <t>This could be required in some primary/backup scenarios where the primary path should use the more optimal path available (taking into account the other constraints). When disjointness is computed, it is important for the algorithm to know that it should try to optimize the path of one or more LSPs in thedisjoint groupDisjoint Association Group (forinstanceinstance, the primarypath)path), while other paths are allowed to be costlier (compared to a similar path without the disjointness constraint). Without such a hint, the disjointness algorithm may set a path for all LSPs that may not completely fulfill the customer's requirement.</t> <figuretitle="Figure 3"> <artwork>anchor="fig4"> <name>Example Topology with Six Internal Routers</name> <artwork name="" type="" align="left" alt=""><![CDATA[ _________________________________________ / \ / +------+ \ | | PCE | | | +------+ | | | | | | +------+ 10 +------+ | CE1 ****| PE 1 | ----- R1 ---- R2 ------- | PE 2 |**** CE2 | +------+ | | +------+ | | | | | | | | | | +------+ | | +------+ | CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4 | +------+ \ | / +------+ | | \ | 10 / | \ +-- R5 --------- R6 / \_________________________________________/Cost]]></artwork> </figure> <t>Note: In <xref target="fig4"/>, the cost of all the links is 1, unless explicitly marked otherwise.</artwork> </figure> <t> In</t> <t>In the figure above, a customer has twodual homeddual-homed sites (CE1/CE3 and CE2/CE4). Let us consider that this customer wants two link disjoint paths between the two sites. Due to physical meshing, the customer wants to use CE1 and CE2 as the primary (and CE3 and CE4 are hosted in a remote site for redundancypurpose). </t>purpose).</t> <t>Without any hint (constraint) provided, the PCE may compute the two link disjoint LSPs together, leading to PE1->PE2 usingapath PE1->R1->R2->PE2 and PE3->PE4 using PE3->R3->R4->PE4. In this case, even if the disjointness constraint is fulfilled, the path from PE1 to PE2 does not use the best optimal path available in the network (path delay may behigher):higher); the customer requirement is thus not completelyfulfilled. </t>fulfilled.</t> <t>The usage of the P flag allows the PCE to know that a particular LSP should be tied to the bestpathpath, as if the disjointness constraint was not requested.</t> <t>In our example, if the P flag is set to the LSP PE1->PE2, the PCE should use the path PE1->R1->R3->R4->R2->PE2 for this LSP, while the other LSP should be link disjoint from this path. The second LSP will be placed onPE3->R5->R6->PE4PE3->R5->R6->PE4, as it is allowed to be costlier.</t><t> Driving<t>Driving the PCE disjointness computation may be done in other ways, forinstanceinstance, setting a metric boundary reflectingana path delay boundary. Other constraints may also be used.</t> <t>The P flag allows to simply express that the disjointness constraint should not make the LSP worst.</t><t> Any<t>Any constraint added to a path disjointness computation may reduce the chance to find suitable paths. The usage of the P flag, as any other constraint, may preventto findfinding a disjoint path. In the example above, if we consider thattherouter R5 isdown,down and if PE1->PE2 has the P flag set, there is no room available to place PE3->PE4 (the link disjointness constraint cannot be fulfilled). If PE1->PE2 has the P flag unset, the algorithm may be able to place PE1->PE2 on the R1->R2 link leavingaroom for PE3->PE4 using the R3->R4 link. When using the P flag or any additional constraint on top of the disjointness constraint, the user should be aware that there is less chance to fulfill the disjointnessconstraint. </t>constraint.</t> <figuretitle="Figure 4"> <artwork>anchor="fig5"> <name>Example Topology with Four Internal Routers</name> <artwork name="" type="" align="left" alt=""><![CDATA[ _________________________________________ / \ / +------+ \ | | PCE | | | +------+ | | | | | | +------+ 10 +------+ | CE1 ****| PE 1 | ----- R1 ---- R2 ------- | PE 2 |**** CE2 | +------+ | \ | +------+ | | | \2 | | | | \ | | | +------+ | \ | +------+ | CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4 | +------+ +------+ | | | \ / \_________________________________________/Cost]]></artwork> </figure> <t>Note: In <xref target="fig5"/>, the cost of all the links is 1, unless explicitly marked otherwise.</artwork> </figure> <t> In</t> <t>In the figure above, we still consider the same previous requirements, so PE1->PE2 LSP should be optimized (P flagset)set), while PE3->PE4 should be link disjoint and may use a costlierpath. </t> <t> Regardingpath.</t> <t>Regarding PE1->PE2, there are two paths that are satisfying the constraints (ECMP): PE1->R1->R4->R2->PE2 (path 1) and PE1->R1->R3->R4->R2->PE2 (path 2). An implementation may choose one of thepaths<!-- or even use both (using both may happen in case Segment Routing TE is used, allowing ECMP)-->. </t>paths.</t> <t>If the implementation elects only one path, there is a chance that picking up one path may prevent link disjointness. In our example, if path 2 is used for PE1->PE2, there is no room left forPE3->PE4PE3->PE4, while if path 1 is used, PE3->PE4 can be placed on R3->R4 link.</t> <t>When the P flag is set for an LSP and when ECMPs are available, an implementation should aim to select a path that allows disjointness.</t> </section> <sectiontitle="Disjointness Computation Issues"toc="default"anchor="dis">anchor="dis" numbered="true"> <name>Disjointness Computation Issues</name> <t>There may be some cases where the PCE is not able to provide a set of disjoint paths for one or more LSPs in the association.</t> <t>When the T flag is set (Strictdisjointness requested),disjointness), if disjointness cannot be ensured for one or more LSPs, the PCEMUST<bcp14>MUST</bcp14> reply to aPath Computation Request (PCReq)PCReq with aPath Computation Reply (PCRep)PCRep message containing a NO-PATH object. In case of a PCRpt message, the PCEMUST<bcp14>MUST</bcp14> return a PCErr message with Error-Type 26"Association Error"(Association Error) andError-ValueError-value 7"Cannot(Cannot join the associationgroup".</t>group).</t> <t>In case of a network event leading to an impossible strict disjointness, the PCEMUST<bcp14>MUST</bcp14> send a PCUpd message containing an emptyEROExplicit Route Object (ERO) to the corresponding PCCs. In addition to the empty EROObject,object, the PCEMAY<bcp14>MAY</bcp14> add the NO-PATH-VECTOR TLV(<xref target="RFC5440"/>)<xref target="RFC5440" format="default"/> in the LSPObject.</t>object.</t> <t>This document adds new bits in the Flags field of the NO-PATH-VECTOR TLV:</t><t> <list style="none"> <t>bit "TBD7": when<ul spacing="normal"> <li>bit 11: When set, the PCE indicates that it could not find a disjoint path for thisLSP.</t> <t>bit "TBD8": whenLSP.</li> <li>bit 10: When set, the PCE indicates that it does not support the requested disjointnesscomputation.</t> </list> </t> <t> Whencomputation.</li> </ul> <t>When the T flag is unset,<!--the PCE is allowed to relax disjointness by either applying a requested objective function (<xref target="Disjointness-objective-functions"/>) if specified. Otherwisethe PCE is allowed toreduce the required level of disjointness (as it deems fit).-->the PCE is allowed torelax disjointness by applying a requested objective function (<xreftarget="Disjointness-objective-functions"/>)target="Disjointness-objective-functions" format="default"/>) if specified. Otherwise, if no objective function is specified, the PCE is allowed to reduce the required level of disjointness as it deems fit. The actual level of disjointness of the paths computed by the PCE can be reported through theDISJOINTNESS-STATUS-TLVDISJOINTNESS-STATUS TLV by setting the appropriate flags in the TLV. While theDISJOINTNESS-CONFIGURATION-TLVDISJOINTNESS-CONFIGURATION TLV defines the desired level of disjointness required by configuration, theDISJOINTNESS-STATUS-TLVDISJOINTNESS-STATUS TLV defines the achieved level of disjointnesscomputed. </t> <t> Therecomputed.</t> <t>There are some cases where the PCE may need to completely relax the disjointness constraint in order to provide a path to all the LSPs that are part of the association. A mechanism that allows the PCE to fully relax a constraint is considered by the authors as more global to PCEP rather than linked to the disjointness use case. As a consequence, it is consideredasout of scope of the document. See <xreftarget="I-D.dhody-pce-stateful-pce-optional"/>target="I-D.dhody-pce-stateful-pce-optional" format="default"/> for a proposedmechanism. </t>mechanism.</t> </section> </section> <sectiontitle="Security Considerations" toc="default">toc="default" numbered="true"> <name>Security Considerations</name> <t>This document defines one new PCEPassociationAssociation type, whichonby itself does not add any new security concerns beyond those discussed in <xreftarget="RFC5440"/>,target="RFC5440" format="default"/>, <xreftarget="RFC8231"/>,target="RFC8231" format="default"/>, <xreftarget="RFC7470"/>target="RFC7470" format="default"/>, and <xreftarget="I-D.ietf-pce-association-group"/>. But,target="RFC8697" format="default"/>. But adding of a spurious LSP into thedisjointness association groupDisjoint Association Group could lead tore-computationrecomputation andset-upsetup of all LSPs in the group,thatwhich could be used to overwhelm the PCE and thenetwork. </t>network.</t> <t> A spurious LSP can have flags that are inconsistent with those of the legitimate LSPs of the group and thus cause LSP allocation for the legitimate LSPs to fail with an error. Also, certain combinations of flags (notably, the 'T' bit) can result in conflicts that cannot beresolved. </t>resolved.</t> <t>Also, as stated in <xreftarget="I-D.ietf-pce-association-group"/>,target="RFC8697" format="default"/>, much of the information carried in theDisjointness AssociationASSOCIATION object reflects information that can also be derived from the LSPDatabase,database, but association provides a much easier grouping of related LSPs and messages.The disjointness associationThis holds true for the DAT as well; thus, this could provide an adversary with the opportunity to eavesdrop on the relationship between the LSPs and understand the network topology.</t><t>Thus<t>Thus, securing the PCEP session using Transport Layer Security (TLS) <xreftarget="RFC8253"/>,target="RFC8253" format="default"/>, as per the recommendations and best current practices in BCP 195 <xreftarget="RFC7525"/>,target="RFC7525" format="default"/>, isRECOMMENDED.</t><bcp14>RECOMMENDED</bcp14>.</t> </section> <sectiontitle="IANA Considerations" toc="default">toc="default" numbered="true"> <name>IANA Considerations</name> <sectiontitle="Association Type" toc="default">toc="default" numbered="true"> <name>Association Type</name> <t>This document defines a new Association type, originally described in <xreftarget="I-D.ietf-pce-association-group"/>.target="RFC8697" format="default"/>. IANAis requested to makehas assigned theassignment of afollowing new valueforin thesub-registry"ASSOCIATION Type Field"(request to be created insubregistry <xreftarget="I-D.ietf-pce-association-group"/>), as follows:target="RFC8697" format="default"/> within the "Path Computation Element Protocol (PCEP) Numbers" registry: </t><texttable> <ttcol>Association type</ttcol><ttcol>Association Name</ttcol><ttcol>Reference</ttcol> <c> TBD1 </c><c> Disjointness Association<table align="center"> <name>ASSOCIATION Type</c> <c> [This.I-D] </c> </texttable>Field</name> <thead> <tr> <th align="left">Type</th> <th align="left">Name</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">2</td> <td align="left">Disjoint Association</td> <td align="left">RFC 8800</td> </tr> </tbody> </table> </section> <sectiontitle="PCEP TLVs" toc="default">toc="default" numbered="true"> <name>PCEP TLVs</name> <t> This document definesthe followingtwo new PCEPTLVs and theTLVs. IANAis requested to makehas assigned theassignment of newfollowing valuesforin theexisting"PCEP TLV Type Indicators"registry as follows:</t> <texttable> <ttcol>TLV Type</ttcol><ttcol>TLV Name</ttcol><ttcol>Reference</ttcol> <c> TBD2 </c><c> Disjointness Configuration TLV </c> <c> [This.I-D] </c> <c> TBD3 </c><c> Disjointness Statussubregistry within the "Path Computation Element Protocol (PCEP) Numbers" registry:</t> <table align="center"> <name>PCEP TLV</c> <c> [This.I-D] </c> </texttable> <t> This document requests thatType Indicators</name> <thead> <tr> <th align="left">TLV Type</th> <th align="left">TLV Name</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">46</td> <td align="left">DISJOINTNESS-CONFIGURATION</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">47</td> <td align="left">DISJOINTNESS-STATUS</td> <td align="left">RFC 8800</td> </tr> </tbody> </table> <t>IANA has created a newsub-registry,subregistry, named"Disjointness Configuration"DISJOINTNESS-CONFIGURATION TLV Flag Field",is createdwithin the "Path Computation Element Protocol (PCEP) Numbers" registry to manage theFlagFlags field in theDisjointness ConfigurationDISJOINTNESS-CONFIGURATION 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="normal"> <li>Bit number (count from 0 as the most significantbit)</t> <t>Flag Name</t> <t>Reference</t> </list> </t> <texttablebit)</li> <li>Flag Name</li> <li>Reference</li> </ul> <t>The initial contents of this subregistry are shown below:</t> <table anchor="Disjointness-Configuration-TLV-IANA"title="Disjointness Configuration TLV"> <ttcol>Bit Number</ttcol> <ttcol>Name</ttcol> <ttcol>Reference</ttcol> <c>31</c> <c>Lalign="center"> <name>DISJOINTNESS-CONFIGURATION TLV Flag Field</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">31</td> <td align="left">L - LinkDiverse</c> <c> [This.I-D] </c> <c>30</c> <c>NDiverse</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">30</td> <td align="left">N - NodeDiverse</c> <c> [This.I-D] </c> <c>29</c> <c>SDiverse</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">29</td> <td align="left">S - SRLGDiverse</c> <c> [This.I-D] </c> <c>28</c> <c>PDiverse</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">28</td> <td align="left">P - ShortestPath</c> <c> [This.I-D] </c> <c>27</c> <c>TPath</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">27</td> <td align="left">T - StrictDisjointness</c> <c> [This.I-D] </c> </texttable>Disjointness</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">0-26</td> <td align="left">Unassigned</td> <td align="left"></td> </tr> </tbody> </table> </section> <sectiontitle="Objective Functions" toc="default"> <t>Threetoc="default" numbered="true"> <name>Objective Functions</name> <t>This document defines three newObjective Functions have been defined in this document.objective functions. IANAis requested to makehas made the following allocationsfromin thePCEP"Objective Function"sub-registry:</t> <texttable> <ttcol>Code Point</ttcol><ttcol>Name</ttcol><ttcol> Reference</ttcol> <c> TBD4 </c><c>Minimizesubregistry within the "Path Computation Element Protocol (PCEP) Numbers" registry:</t> <table align="center"> <name>Objective Function</name> <thead> <tr> <th align="left">Code Point</th> <th align="left">Name</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">15</td> <td align="left">Minimize the number ofsharedShared Links(MSL)</c> <c> [This.I-D] </c> <c> TBD5 </c><c>Minimize(MSL)</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">16</td> <td align="left">Minimize the number ofsharedShared SRLGs(MSS)</c> <c> [This.I-D] </c> <c> TBD6 </c><c>Minimize(MSS)</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">17</td> <td align="left">Minimize the number ofsharedShared Nodes(MSN)</c> <c> [This.I-D] </c> </texttable>(MSN)</td> <td align="left">RFC 8800</td> </tr> </tbody> </table> </section> <sectiontitle="NO-PATH-VECTORtoc="default" numbered="true"> <name>NO-PATH-VECTOR BitFlags" toc="default">Flags</name> <t>Thisdocumentsdocument defines new bits for the NO-PATH-VECTOR TLV in the "NO-PATH-VECTOR TLV Flag Field"sub-registrysubregistry of the "Path Computation Element Protocol (PCEP) Numbers" registry. IANAis requested to makehas made the followingallocation:allocations: </t><texttable<table anchor="NO-PATH-VECTOR-TLV-IANA"title="NO-PATH-VECTOR TLV"> <ttcol>Bit Number</ttcol> <ttcol>Name</ttcol> <ttcol>Reference</ttcol> <c>TBD7</c> <c>Disjointalign="center"> <name>NO-PATH-VECTOR TLV Flag Field</name> <thead> <tr> <th align="left">Bit Number</th> <th align="left">Name</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">11</td> <td align="left">Disjoint path notfound</c> <c> [This.I-D] </c> <c>TBD8</c> <c>Requestedfound</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">10</td> <td align="left">Requested disjoint computation notsupported</c> <c> [This.I-D] </c> </texttable>supported</td> <td align="left">RFC 8800</td> </tr> </tbody> </table> </section> <sectiontitle="PCEP-ERROR Codes" toc="default"> <t>Thistoc="default" numbered="true"> <name>PCEP-ERROR Codes</name> <t> This document defines two newError-ValueError-values within existingError-TypeError-Types related topath protectiondisjoint association. IANAis requested to allocatehas allocated the following newerror values withinError-values in the "PCEP-ERROR Object Error Types and Values"sub-registry ofsubregistry within thePCEP Numbers registry, as follows:</t> <texttable> <ttcol> Error-Type </ttcol><ttcol> Meaning </ttcol><ttcol> Reference </ttcol> <c> 6 </c> <c> Mandatory"Path Computation Element Protocol (PCEP) Numbers" registry:</t> <table align="center"> <name>PCEP-ERROR Objectmissing</c> <c><xref target="I-D.ietf-pce-association-group"/></c> <c> </c><c> Error-value=TBD10:Error Types and Values</name> <thead> <tr> <th align="left">Error-Type</th> <th align="left">Meaning</th> <th align="left">Error-value</th> <th align="left">Reference</th> </tr> </thead> <tbody> <tr> <td align="left">6</td> <td align="left">Mandatory Object missing</td> <td></td> <td align="left"><xref target="RFC5440" format="default"/></td> </tr> <tr> <td align="left"></td> <td align="left"></td> <td align="left">15: DISJOINTNESS-CONFIGURATION TLVmissing</c> <c> [This.I-D] </c> <c> 10 </c> <c> Receptionmissing</td> <td align="left">RFC 8800</td> </tr> <tr> <td align="left">10</td> <td align="left">Reception of an invalidobject</c> <c><xref target="RFC5440"/></c> <c> </c> <c> Error-value=TBD9:object</td> <td></td> <td align="left"><xref target="RFC5440" format="default"/></td> </tr> <tr> <td align="left"></td> <td align="left"></td> <td align="left">32: Incompatible OFcode</c> <c> [This.I-D] </c> </texttable>code</td> <td align="left">RFC 8800</td> </tr> </tbody> </table> </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"> <t> AnPolicy</name> <t>An operatorSHOULD<bcp14>SHOULD</bcp14> be allowed to configure thedisjointness association groupsDisjoint Association Groups and disjoint parameters at the PCEP peers and associateitthem with the LSPs. TheOperator-configured Association Range MUSToperator <bcp14>MUST</bcp14> be allowed tobesetbytheoperator.Operator-configured Association Range. The operatorSHOULD<bcp14>SHOULD</bcp14> be allowed to set the local policies to define various disjoint computational behavior at the PCE.</t> </section> <sectiontitle="Informationtoc="default" numbered="true"> <name>Information and DataModels" toc="default">Models</name> <t>An implementationSHOULD<bcp14>SHOULD</bcp14> allow the operator to view the disjoint associations configured or created dynamically. Furthermore, implementationsSHOULD<bcp14>SHOULD</bcp14> allow to view disjoint associations reported by eachpeer,peer and the current set of LSPs in this association. The PCEP YANG module <xreftarget="I-D.ietf-pce-pcep-yang"/>target="I-D.ietf-pce-pcep-yang" format="default"/> includes associationgroupsgroup information.</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="Verificationtoc="default" numbered="true"> <name>Verification of CorrectOperations" toc="default">Operations</name> <t>Apart from the operation verification requirements already listed in <xreftarget="RFC5440"/>,target="RFC5440" format="default"/>, a PCEP implementationSHOULD<bcp14>SHOULD</bcp14> provide parameters related to disjoint path computation, such as number of DAG, number of disjoint path computationfailuresfailures, etc. A PCEP implementationSHOULD<bcp14>SHOULD</bcp14> log failure events (e.g., incompatible Flags).</t> </section> <sectiontitle="Requirementstoc="default" numbered="true"> <name>Requirements on OtherProtocols" toc="default">Protocols</name> <t>Mechanisms defined in this document do not imply any new requirements on other protocols.</t> </section> <sectiontitle="Impacttoc="default" numbered="true"> <name>Impact on NetworkOperations" toc="default">Operations</name> <t>Mechanisms defined in <xreftarget="RFC5440"/>, Section 8.6target="RFC5440" sectionFormat="of" section="8.6"/> also apply to PCEP extensions defined in this document. Additionally, a PCEP implementationSHOULD<bcp14>SHOULD</bcp14> allow a limit to be placed on the number of LSPs that can belong to a DAG.</t> </section> </section> </middle> <back> <displayreference target="I-D.ietf-pce-pcep-yang" to="PCEP-YANG"/> <displayreference target="I-D.dhody-pce-stateful-pce-optional" to="PCE-OPTIONAL"/> <references> <name>References</name> <references> <name>Normative References</name> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5541.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7470.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8253.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8685.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8697.xml"/> </references> <references> <name>Informative References</name> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4655.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6007.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7525.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce-pcep-yang.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.dhody-pce-stateful-pce-optional.xml"/> </references> </references> <sectiontitle="Acknowledgments" toc="default">toc="default" numbered="false"> <name>Acknowledgments</name> <t>A special thanks to the authors of <xreftarget="I-D.ietf-pce-association-group"/>,target="RFC8697" format="default"/>; this documentborrowborrows someof thetext from it.AuthorsThe authors would also like to thankAdrian Farrel and Julien Meuric<contact fullname="Adrian Farrel"/> and <contact fullname="Julien Meuric"/> for the valuable comments.</t> <t>Thanks toEmmanuel Baccelli<contact fullname="Emmanuel Baccelli"/> for the RTGDIR review.</t> <t>Thanks toDale Worley<contact fullname="Dale Worley"/> for a detailed GENART review.</t> <t>Thanks toAlvaro Retana, Benjamin Kaduk, Suresh Krishnan, Roman Danyliw, Alissa Cooper and Eric Vyncke<contact fullname="Alvaro Retana"/>, <contact fullname="Benjamin Kaduk"/>, <contact fullname="Suresh Krishnan"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="Alissa Cooper"/>, and <contact fullname="Eric Vyncke"/> for the IESG review. </t> </section></middle> <back> <references title="Normative References"> <?rfc include="reference.RFC.2119.xml" ?> <?rfc include="reference.RFC.8126.xml"?> <?rfc include="reference.RFC.5440.xml" ?> <?rfc include="reference.RFC.5541.xml" ?> <?rfc include="reference.RFC.7470.xml" ?> <?rfc include="reference.RFC.8174.xml"?> <?rfc include="reference.RFC.8231.xml"?> <?rfc include="reference.RFC.8253.xml"?> <?rfc include="reference.I-D.ietf-pce-association-group"?> </references> <references title="Informative References"> <?rfc include="reference.RFC.4655.xml" ?> <?rfc include="reference.RFC.6007.xml" ?> <!--<?rfc include="reference.RFC.7420.xml" ?>--> <?rfc include="reference.RFC.7525.xml" ?> <?rfc include="reference.RFC.8281.xml"?> <?rfc include="reference.I-D.ietf-pce-pcep-yang"?> <?rfc include="reference.I-D.dhody-pce-stateful-pce-optional"?> </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 ]]></artwork> </figure> </t>Whitefiled</street> <city>Bangalore</city> <region>Karnataka</region> <code>560066</code> <country>India</country> </postal> <email>dhruv.ietf@gmail.com</email> </address> </contact> </section> </back> </rfc>