<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-pce-association-diversity-14" indexInclude="true" ipr="trust200902" number="8800" prepTime="2020-07-28T15:28:16" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-pce-association-diversity-14" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8800" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="PCEP Extension for LSP Diversity Constraint Signaling">Path Computation Element Communication Protocol (PCEP) Extension for Label Switched Path (LSP) Diversity Constraint Signaling</title>
    <seriesInfo name="RFC" value="8800" stream="IETF"/>
    <author initials="S" surname="Litkowski" fullname="Stephane Litkowski">
      <organization showOnFrontPage="true">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 showOnFrontPage="true">Ciena Corporation</organization>
      <address>
        <postal/>
        <email>msiva282@gmail.com</email>
      </address>
    </author>
    <author initials="C" surname="Barth" fullname="Colby Barth">
      <organization showOnFrontPage="true">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 showOnFrontPage="true">RtBrick India</organization>
      <address>
        <postal>
          <street>N-17L, Floor-1, 18th Cross Rd, HSR Layout Sector-3</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560102</code>
          <country>India</country>
        </postal>
        <email>mahend.ietf@gmail.com</email>
      </address>
    </author>
    <date month="07" year="2020"/>
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <keyword>Disjoint</keyword>
    <keyword>Disjointness</keyword>
    <keyword>Association</keyword>
    <abstract pn="section-abstract">
      <t pn="section-abstract-1">
   This document introduces a simple mechanism to associate a group of Label
   Switched Paths (LSPs) via an extension to the Path Computation Element
   Communication 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 a Path Computation Element (PCE)
   that a particular LSP belongs to a particular Disjoint Association Group; thus, the PCE
   knows that the LSPs in the same group need to be disjoint from each
   other.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8800" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-motivation">Motivation</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability">Applicability</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protocol-extension">Protocol Extension</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-association-group">Association Group</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-disjoint-tlvs">Disjoint TLVs</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-disjointness-objective-func">Disjointness Objective Functions</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-relationship-to-svec">Relationship to SVEC</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.4.2">
                  <li pn="section-toc.1-1.5.2.4.2.1">
                    <t pn="section-toc.1-1.5.2.4.2.1.1"><xref derivedContent="5.4.1" format="counter" sectionFormat="of" target="section-5.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-svec-and-of">SVEC and OF</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-p-flag-considerations">P Flag Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.6">
                <t pn="section-toc.1-1.5.2.6.1"><xref derivedContent="5.6" format="counter" sectionFormat="of" target="section-5.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-disjointness-computation-is">Disjointness Computation Issues</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-association-type">Association Type</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-tlvs">PCEP TLVs</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.3">
                <t pn="section-toc.1-1.7.2.3.1"><xref derivedContent="7.3" format="counter" sectionFormat="of" target="section-7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-objective-functions">Objective Functions</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.4">
                <t pn="section-toc.1-1.7.2.4.1"><xref derivedContent="7.4" format="counter" sectionFormat="of" target="section-7.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-no-path-vector-bit-flags">NO-PATH-VECTOR Bit Flags</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.5">
                <t pn="section-toc.1-1.7.2.5.1"><xref derivedContent="7.5" format="counter" sectionFormat="of" target="section-7.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pcep-error-codes">PCEP-ERROR Codes</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-manageability-consideration">Manageability Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-control-of-function-and-pol">Control of Function and Policy</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-information-and-data-models">Information and Data Models</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.3">
                <t pn="section-toc.1-1.8.2.3.1"><xref derivedContent="8.3" format="counter" sectionFormat="of" target="section-8.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-liveness-detection-and-moni">Liveness Detection and Monitoring</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.4">
                <t pn="section-toc.1-1.8.2.4.1"><xref derivedContent="8.4" format="counter" sectionFormat="of" target="section-8.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-verification-of-correct-ope">Verification of Correct Operations</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.5">
                <t pn="section-toc.1-1.8.2.5.1"><xref derivedContent="8.5" format="counter" sectionFormat="of" target="section-8.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-on-other-proto">Requirements on Other Protocols</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.6">
                <t pn="section-toc.1-1.8.2.6.1"><xref derivedContent="8.6" format="counter" sectionFormat="of" target="section-8.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-impact-on-network-operation">Impact on Network Operations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t pn="section-1-1">
   <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> describes the Path Computation
   Element Communication 
   Protocol (PCEP), which enables the communication between a Path
   Computation Client (PCC) and a Path Control Element (PCE) or between
   two PCEs based on the PCE architecture <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/>. 
      </t>
      <t pn="section-1-2">
   The PCEP Extensions for Stateful PCE Model <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> 
   describes a set of extensions to PCEP to enable active control of
   MPLS-TE and GMPLS tunnels. 
   <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>
   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 pn="section-1-3"><xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/> introduces a generic
   mechanism to create a grouping of LSPs in the context of a PCE that 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 <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> or a stateless PCE <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/>.</t>
      <t pn="section-1-4">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 <xref target="mot" format="counter" sectionFormat="of" derivedContent="3"/> and <xref target="app" format="counter" sectionFormat="of" derivedContent="4"/> describe
      the property and use of a Disjoint Association Group.  A PCC can use
      this extension to signal to a PCE that a particular LSP belongs to a
      particular Disjoint Association Group.  When a PCE receives LSP states
      belonging to the same Disjoint Association Group from some
      PCCs, the PCE should ensure that the LSPs within the group are disjoint
      from each other.
      </t>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t pn="section-1.1-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", 
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
    to be interpreted as 
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t pn="section-2-1">The following terminology is used in this document.</t>
      <dl newline="false" spacing="normal" indent="10" pn="section-2-2">
        <dt pn="section-2-2.1">DAT:</dt>
        <dd pn="section-2-2.2">Disjoint Association Type</dd>
        <dt pn="section-2-2.3">DAG:</dt>
        <dd pn="section-2-2.4">Disjoint Association Group</dd>
        <dt pn="section-2-2.5">MPLS:</dt>
        <dd pn="section-2-2.6">Multiprotocol Label Switching</dd>
        <dt pn="section-2-2.7">OF:</dt>
        <dd pn="section-2-2.8">Objective Function</dd>
        <dt pn="section-2-2.9">PCC:</dt>
        <dd pn="section-2-2.10">Path Computation Client. Any client application requesting a
            path computation to be performed by a Path Computation Element.</dd>
        <dt pn="section-2-2.11">PCE:</dt>
        <dd pn="section-2-2.12">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 computational
	constraints.</dd>
        <dt pn="section-2-2.13">PCEP:</dt>
        <dd pn="section-2-2.14">Path Computation Element Communication Protocol</dd>
        <dt pn="section-2-2.15">PLSP-ID:</dt>
        <dd pn="section-2-2.16">PCEP-specific identifier for the LSP</dd>
        <dt pn="section-2-2.17">SRLG:</dt>
        <dd pn="section-2-2.18">Shared Risk Link Group</dd>
      </dl>
    </section>
    <section toc="include" anchor="mot" numbered="true" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-motivation">Motivation</name>
      <t pn="section-3-1">Path diversity is a very common use case in today's IP/MPLS networks,
      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 pn="section-3-2">Different levels of disjointness may be offered: 
      </t>
      <ul spacing="normal" bare="false" empty="false" pn="section-3-3">
        <li pn="section-3-3.1">Link disjointness: the paths of the associated LSPs should transit
	different links (but may use common nodes or different links that may
	have some shared fate).</li>
        <li pn="section-3-3.2">Node disjointness: the paths of the associated LSPs should transit
	different nodes (but may use different links that may have some shared
	fate).</li>
        <li pn="section-3-3.3">SRLG disjointness: the paths of the associated LSPs should transit
	different links that do not share fate (but may use common transit
	nodes).</li>
        <li pn="section-3-3.4">Node+SRLG disjointness: the paths of the associated LSPs should
	transit different links that do not have any common shared fate and
	should transit different nodes.</li>
      </ul>
      <t pn="section-3-4">
   The associated LSPs may originate from the same or different
   head end(s) and may terminate at the same or different tail end(s). 
      </t>
    </section>
    <section toc="include" anchor="app" numbered="true" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-applicability">Applicability</name>
      <figure align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-disjoint-paths-with-differe">Disjoint Paths with Different Head Ends and
	Tail Ends</name>
        <artwork name="" type="" align="left" alt="" pn="section-4-1.1">
         _________________________________________
        /                                         \
       /        +------+                           \
      |         | PCE  |                            |
      |         +------+                            |
      |                                             |
      |          ***********************&gt;           |
      | +------+           10             +------+  |
CE1 ****| PE 1 | ----- R1 ---- R2 ------- | PE 2 |**** CE2
      | +------+       |        |         +------+  |
      |                |        |                   |
      |                |        |                   |
      | +------+       |        |         +------+  |
CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4
      | +------+ ***********************&gt; +------+  |
      |                                             |
       \                                           /
        \_________________________________________/
    
</artwork>
      </figure>
      <t pn="section-4-2">
   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 different head ends, distributed computation of
   diverse paths can be difficult, whereas computation via a centralized PCE
   ensures path disjointness, correctness, and simplicity. 
      </t>
      <t pn="section-4-3"><xref target="svec" format="default" sectionFormat="of" derivedContent="Section 5.4"/> describes the relationship
      between the Disjoint Association Group (DAG) and Synchronization VECtor
      (SVEC) object.</t>
      <t pn="section-4-4">
The PCEP extension for stateful PCE <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/> 
defined new PCEP messages -- Path Computation Report (PCRpt), Path Computation
Update (PCUpd), and Path Computation Initiate (PCInitiate) <xref target="RFC8281" format="default" sectionFormat="of" derivedContent="RFC8281"/>. These messages use a PLSP-ID in the LSP
object for identification. 


Moreover, to allow diversity between LSPs originating from different PCCs, the
generic mechanism to create a grouping of LSPs that is equally applicable to
the active and passive modes of a stateful PCE is described in <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>.</t>
      <t pn="section-4-5">
Using the extension to PCEP defined in this document, the PCC uses the
extension defined in <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/> to indicate
that a group of LSPs are required to be disjoint; such indication should
include disjointness parameters like the type of disjointness, the Disjoint
Association Group identifiers, and any customization parameters according to the
configured local policy.</t>
      <t pn="section-4-6">
The management of the Disjoint 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/IPv6 Association Source, or Global Association Source/Extended
Association ID, can overcome this limitation, as described in <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>. 
When a PCC or PCE initiates all the LSPs in a particular Disjoint Association Group, it
can set the IPv4/IPv6 Association Source as one of its own IP address. When
disjoint LSPs are initiated from different head ends, the Association Source
could be the PCE address or any other unique value to identify the DAG. 
</t>
      <figure align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-sample-use-cases-for-carryi">Sample Use Cases for Carrying Disjoint Association Group over
	PCEP Session</name>
        <artwork name="" type="" align="left" alt="" pn="section-4-7.1">                                            
        Initiate Disjoint LSPs                    
                 |                                       
                 |                       PCReq/PCRpt
                 V                        {DAG Y}      
              +-----+                ----------------&gt; +-----+
   _ _ _ _ _ _| PCE |               |                  | PCE |
  |           +-----+               |      ----------&gt; +-----+
  | 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 pn="section-4-8">The Disjoint Association Group within a PCEP messages is used for:
      </t>
      <ul spacing="normal" bare="false" empty="false" pn="section-4-9">
        <li pn="section-4-9.1">Configuration: Used to communicate the configured disjoint
	requirement to a PCEP peer.</li>
        <li pn="section-4-9.2">Status: Used to communicate the status of the computed
	disjointness.</li>
      </ul>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-protocol-extension">Protocol Extension</name>
      <section anchor="encoding" toc="include" numbered="true" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-association-group">Association Group</name>
        <t pn="section-5.1-1">As per <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>, LSPs
     are associated with other LSPs with which they interact by adding
     them to a common association group. As described in <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>, the association group is uniquely
	identified by the combination of the following fields in the ASSOCIATION
	object: Association Type, Association ID, Association Source, and (if
	present) Global Association Source or Extended Association ID.</t>
        <t pn="section-5.1-2">This document defines a new Association type, called "Disjoint
        Association" (2), based on the generic ASSOCIATION object. This new
        Association type is also called "DAT", for "Disjoint Association
        Type".</t>
        <t pn="section-5.1-3"><xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/> specifies the mechanism
	for the capability advertisement of the Association types supported by
	a PCEP speaker by 
	defining an ASSOC-Type-List TLV to be carried within an OPEN
	object. This capability exchange for the DAT (2) <bcp14>MUST</bcp14> be done
	before using the disjoint association. Thus, the PCEP speaker <bcp14>MUST</bcp14>
	include the DAT in the ASSOC-Type-List TLV and <bcp14>MUST</bcp14> receive the same
	from the PCEP peer before using the Disjoint Association Group (DAG)
	in PCEP messages.</t>
        <t pn="section-5.1-4">This Association type is considered to be both dynamic and
	operator-configured in nature. As per <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>, the association group could be manually created by the
	operator on the PCEP peers, and the LSPs belonging to this
	association are conveyed via PCEP messages to the PCEP peer; alternately, the
	association group could be created dynamically by the PCEP speaker, and
	both the association group information and the LSPs belonging to the
	association group are conveyed to the PCEP peer. The Operator-configured 
   Association Range <bcp14>MUST</bcp14> be set for this association-type to mark a range of
   Association Identifiers that 
   are used for operator-configured associations to avoid any
   Association Identifier clash within the scope of the Association
   Source. (Refer to <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>.)</t>
        <t pn="section-5.1-5">A Disjoint 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, it <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 polices <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 via the DISJOINTNESS-STATUS TLV (see
	<xref target="tlvs" format="default" sectionFormat="of" derivedContent="Section 5.2"/>).</t>
        <t pn="section-5.1-6">There are different types of disjointness identified by the flags
	(T, S, N, and L) in the DISJOINTNESS-CONFIGURATION TLV (see <xref target="tlvs" format="default" sectionFormat="of" derivedContent="Section 5.2"/>). All LSPs in a particular Disjoint
	Association Group <bcp14>MUST</bcp14> use the same combination of T, S, N, and L flags in the
	DISJOINTNESS-CONFIGURATION TLV.  If a PCEP peer receives a PCEP
	message for LSPs belonging to the same Disjoint Association Group but having an
	inconsistent combination of T, S, N, and L flags, the PCEP peer <bcp14>MUST NOT</bcp14>
	add the LSPs to the Disjoint Association Group and <bcp14>MUST</bcp14> reply with a PCErr with
	Error-Type 26 (Association Error) and Error-value 6 (Association
	information mismatch).</t>
        <t pn="section-5.1-7">A particular LSP <bcp14>MAY</bcp14> be associated to multiple Disjoint
    Association Groups, but in that case, the PCE <bcp14>SHOULD</bcp14> try to
    consider all the Disjoint Association Groups during path computation, if
    possible. Otherwise, a local policy <bcp14>MAY</bcp14> define the
    computational behavior.

If a PCE does not support such a path computation, it <bcp14>MUST NOT</bcp14>
add the LSP into the association group and <bcp14>MUST</bcp14> return a PCErr with Error-Type 26
(Association Error) and Error-value 7 (Cannot join the association group).</t>
      </section>
      <section anchor="tlvs" toc="include" numbered="true" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-disjoint-tlvs">Disjoint TLVs</name>
        <t pn="section-5.2-1">
    The Disjoint Association Group (ASSOCIATION object with Association type =
    2 for DAT) <bcp14>MUST</bcp14> carry the following TLV:
        </t>
        <ul spacing="normal" bare="false" empty="false" pn="section-5.2-2">
          <li pn="section-5.2-2.1">DISJOINTNESS-CONFIGURATION TLV: Used to communicate some
	  disjointness configuration parameters. This is applicable for all
	  PCEP messages that include DAG.</li>
        </ul>
        <t pn="section-5.2-3">
    In addition, the Disjoint Association Group (ASSOCIATION object with Association type
    = 2 for DAT) <bcp14>MAY</bcp14> carry the following TLVs:
        </t>
        <ul spacing="normal" bare="false" empty="false" pn="section-5.2-4">
          <li pn="section-5.2-4.1">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., PCUpd, PCInitiate, or PCRep messages).</li>
          <li pn="section-5.2-4.2">VENDOR-INFORMATION-TLV: Used to communicate arbitrary
	  vendor-specific behavioral information, described in <xref target="RFC7470" format="default" sectionFormat="of" derivedContent="RFC7470"/>.</li>
          <li pn="section-5.2-4.3">OF-List TLV: Used to communicate the disjointness objective
	  function. See <xref target="Disjointness-objective-functions" format="default" sectionFormat="of" derivedContent="Section 5.3"/>.</li>
        </ul>
        <t pn="section-5.2-5">
    The DISJOINTNESS-CONFIGURATION TLV is shown in the following figure:
        </t>
        <figure align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-disjointness-configuration-">DISJOINTNESS-CONFIGURATION TLV</name>
          <artwork name="" type="" align="left" alt="" pn="section-5.2-6.1">
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Type = 46             |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Flags                               |T|P|S|N|L|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        </figure>
        <dl newline="false" spacing="normal" pn="section-5.2-7">
          <dt pn="section-5.2-7.1">Type:</dt>
          <dd pn="section-5.2-7.2">46</dd>
          <dt pn="section-5.2-7.3"> Length:</dt>
          <dd pn="section-5.2-7.4">Fixed value of 4 bytes.</dd>
          <dt pn="section-5.2-7.5">Flags:</dt>
          <dd pn="section-5.2-7.6">
            <t pn="section-5.2-7.6.1"><br/></t>
            <dl newline="false" spacing="normal" pn="section-5.2-7.6.2">
              <dt pn="section-5.2-7.6.2.1">L (Link Diverse) bit:</dt>
              <dd pn="section-5.2-7.6.2.2">When set, this indicates that
              the computed paths within the Disjoint Association Group
              <bcp14>MUST NOT</bcp14> have any link in common.</dd>
              <dt pn="section-5.2-7.6.2.3">N (Node Diverse) bit:</dt>
              <dd pn="section-5.2-7.6.2.4">When set, this indicates that
              the computed paths within the Disjoint Association Group
              <bcp14>MUST NOT</bcp14> have any node in common.</dd>
              <dt pn="section-5.2-7.6.2.5">S (SRLG Diverse) bit:</dt>
              <dd pn="section-5.2-7.6.2.6">When set, this indicates that
              the computed paths within the Disjoint Association Group
              <bcp14>MUST NOT</bcp14> share any SRLG (Shared Risk Link
              Group).</dd>
              <dt pn="section-5.2-7.6.2.7">P (Shortest Path) bit:</dt>
              <dd pn="section-5.2-7.6.2.8">When set, this indicates that the
	      computed path of the LSP <bcp14>SHOULD</bcp14> satisfy all the constraints and
	      objective functions first without considering the diversity
	      constraint. This means that all of the LSPs with P flag set in
	      the association group are computed first, as if the disjointness
	      constraint has not been configured; 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 <xref target="P-Flag-Consideration" format="default" sectionFormat="of" derivedContent="Section 5.5"/>.</dd>
              <dt pn="section-5.2-7.6.2.9">T (Strict Disjointness) bit:</dt>
              <dd pn="section-5.2-7.6.2.10">When set, if disjoint
              paths cannot be found, the PCE <bcp14>MUST</bcp14> return no
              path for LSPs that could not be disjoint. When unset, the PCE is
              allowed to relax disjointness by either applying a requested
              objective function (cf. <xref target="Disjointness-objective-functions" format="default" sectionFormat="of" derivedContent="Section 5.3"/>)
              or using the local policy if no objective function is requested
              (e.g., using a lower disjoint type (link instead of node) or
              fully relaxing disjointness constraint).  See <xref target="dis" format="default" sectionFormat="of" derivedContent="Section 5.6"/> for further details.</dd>
              <dt pn="section-5.2-7.6.2.11">Unassigned bits:</dt>
              <dd pn="section-5.2-7.6.2.12">Unassigned bits are considered reserved. They <bcp14>MUST</bcp14> be set to
	      0 on transmission and <bcp14>MUST</bcp14> be ignored on receipt.</dd>
            </dl>
          </dd>
        </dl>
        <t pn="section-5.2-8">
      If a PCEP speaker receives a Disjoint Association Group (ASSOCIATION object with
      Association type = 2 for DAT) without the DISJOINTNESS-CONFIGURATION TLV,
      it <bcp14>SHOULD</bcp14> reply with a PCErr Error-Type 6 (Mandatory Object missing) and
      Error-value 15 (DISJOINTNESS-CONFIGURATION TLV missing). 
        </t>
        <t pn="section-5.2-9">The DISJOINTNESS-STATUS TLV uses the same format as the
	DISJOINTNESS-CONFIGURATION TLV with a different type 47 (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 into consideration but
	considering other constraints).</t>
        <t pn="section-5.2-10">The T flag has no meaning in the DISJOINTNESS-STATUS TLV and <bcp14>MUST NOT</bcp14> be set while sending and <bcp14>MUST</bcp14> be ignored on receipt. 

        </t>
        <t pn="section-5.2-11">Any document defining a new flag for the
	DISJOINTNESS-CONFIGURATION TLV automatically defines a new flag with
	the same name and in the same location in DISJOINTNESS-STATUS TLV; the
	semantics of the flag in the DISJOINTNESS-STATUS TLV <bcp14>MUST</bcp14> be specified in
	the document that specifies the flag in the
	DISJOINTNESS-CONFIGURATION TLV. 
        </t>
      </section>
      <section anchor="Disjointness-objective-functions" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-disjointness-objective-func">Disjointness Objective Functions</name>
        <t pn="section-5.3-1">An objective function (OF) <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" format="default" sectionFormat="of" derivedContent="RFC5541"/>) is
      used as an optional TLV in the ASSOCIATION object. Whereas the
      PCEP OF-List TLV allows multiple OF-codes inside the TLV, a sender
      <bcp14>SHOULD</bcp14> include a single OF-code in the OF-List TLV when included in the
	Association Group, and the receiver <bcp14>MUST</bcp14> consider the first OF-code
	only and ignore others if included.</t>
        <t pn="section-5.3-2">To minimize the common shared resources (Node, Link, or SRLG)
        between a set of paths during path computation, three new OF-codes are
        defined:</t>
        <t pn="section-5.3-3">MSL</t>
        <ul empty="true" bare="false" spacing="normal" pn="section-5.3-4">
          <li pn="section-5.3-4.1">
            <dl newline="false" spacing="compact" pn="section-5.3-4.1.1">
              <dt pn="section-5.3-4.1.1.1">Name:</dt>
              <dd pn="section-5.3-4.1.1.2">Minimize the number of Shared (common) Links.</dd>
              <dt pn="section-5.3-4.1.1.3">Objective Function Code:</dt>
              <dd pn="section-5.3-4.1.1.4">15</dd>
              <dt pn="section-5.3-4.1.1.5">Description:</dt>
              <dd pn="section-5.3-4.1.1.6">
                <t pn="section-5.3-4.1.1.6.1">Find a set of paths such that it passes through the least
	    number of shared (common) links.</t>
                <ul spacing="compact" bare="false" empty="false" pn="section-5.3-4.1.1.6.2">
                  <li pn="section-5.3-4.1.1.6.2.1">A network comprises a set of N links {Li, (i=1...N)}.</li>
                  <li pn="section-5.3-4.1.1.6.2.2">A path P passes through K links {Lpi,(i=1...K)}.</li>
                  <li pn="section-5.3-4.1.1.6.2.3">A set of paths {P1...Pm} have L links that are
            common to more than one path {Lci,(i=1...L)}.</li>
                  <li pn="section-5.3-4.1.1.6.2.4">Find a set of paths such that the value of L is
	      minimized.</li>
                </ul>
              </dd>
            </dl>
          </li>
        </ul>
        <t pn="section-5.3-5">MSS</t>
        <ul empty="true" bare="false" spacing="normal" pn="section-5.3-6">
          <li pn="section-5.3-6.1">
            <dl newline="false" spacing="compact" pn="section-5.3-6.1.1">
              <dt pn="section-5.3-6.1.1.1">Name:</dt>
              <dd pn="section-5.3-6.1.1.2">Minimize the number of Shared (common) SRLGs.</dd>
              <dt pn="section-5.3-6.1.1.3">Objective Function Code:</dt>
              <dd pn="section-5.3-6.1.1.4">16</dd>
              <dt pn="section-5.3-6.1.1.5">Description:</dt>
              <dd pn="section-5.3-6.1.1.6">
                <t pn="section-5.3-6.1.1.6.1">Find a set of paths such that it passes through the least
	    number of shared (common) SRLGs. 
                </t>
                <ul spacing="compact" bare="false" empty="false" pn="section-5.3-6.1.1.6.2">
                  <li pn="section-5.3-6.1.1.6.2.1">A network comprises a set of N links {Li, (i=1...N)}.</li>
                  <li pn="section-5.3-6.1.1.6.2.2">A path P passes through K links {Lpi,(i=1...K)} belonging to
	      unique M SRLGs {Spi,(i=1..M)}.</li>
                  <li pn="section-5.3-6.1.1.6.2.3">A set of paths {P1...Pm} have L SRLGs that are
            common to more than one path {Sci,(i=1...L)}.</li>
                  <li pn="section-5.3-6.1.1.6.2.4">Find a set of paths such that the value of L is
	      minimized.</li>
                </ul>
              </dd>
            </dl>
          </li>
        </ul>
        <t pn="section-5.3-7">MSN</t>
        <ul empty="true" bare="false" spacing="normal" pn="section-5.3-8">
          <li pn="section-5.3-8.1">
            <dl newline="false" spacing="compact" pn="section-5.3-8.1.1">
              <dt pn="section-5.3-8.1.1.1">Name:</dt>
              <dd pn="section-5.3-8.1.1.2">Minimize the number of Shared (common) Nodes.</dd>
              <dt pn="section-5.3-8.1.1.3">Objective Function Code:</dt>
              <dd pn="section-5.3-8.1.1.4">17</dd>
              <dt pn="section-5.3-8.1.1.5">Description:</dt>
              <dd pn="section-5.3-8.1.1.6">
                <t pn="section-5.3-8.1.1.6.1">Find a set of paths such that they pass through the least
	    number of shared (common) nodes. 
                </t>
                <ul spacing="compact" bare="false" empty="false" pn="section-5.3-8.1.1.6.2">
                  <li pn="section-5.3-8.1.1.6.2.1">A network comprises a set of N nodes {Ni, (i=1...N)}.</li>
                  <li pn="section-5.3-8.1.1.6.2.2">A path P passes through K nodes {Npi,(i=1...K)}.</li>
                  <li pn="section-5.3-8.1.1.6.2.3">A set of paths {P1...Pm} have L nodes that are
            common to more than one path {Nci,(i=1...L)}.</li>
                  <li pn="section-5.3-8.1.1.6.2.4">Find a set of paths such that the value of L is
	      minimized.</li>
                </ul>
              </dd>
            </dl>
          </li>
        </ul>
        <t pn="section-5.3-9">If the OF-List TLV is included in the ASSOCIATION object, 
   the first OF-code inside the OF object <bcp14>MUST</bcp14> be one of the disjoint OFs
   defined in this document. If this condition is not met, the PCEP speaker
   <bcp14>MUST</bcp14> respond with a PCErr message with Error-Type 10 (Reception of an
   invalid object) and Error-value 32 (Incompatible OF code).</t>
      </section>
      <section toc="include" anchor="svec" numbered="true" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-relationship-to-svec">Relationship to SVEC</name>
        <t pn="section-5.4-1"><xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> defines a mechanism for
	the synchronization of a set of path computation requests by using the
	SVEC object, which specifies the list of synchronized requests that can
	be 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.  <xref target="RFC6007" format="default" sectionFormat="of" derivedContent="RFC6007"/> further clarifies the use of the SVEC
   list for synchronized path computations when computing dependent requests
   and describes a number of usage scenarios for SVEC lists within
	single-domain and multi-domain environments.</t>
        <t pn="section-5.4-2">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 the Path Computation Request (PCReq) message
        <bcp14>MAY</bcp14> use both the SVEC and ASSOCIATION objects to
        identify the related path computation request, as well as the DAG.
        The PCE <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
        PCE <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 PCE <bcp14>MUST</bcp14> send a
	Path Computation Reply
        (PCRep) with a NO-PATH object indicating path computation failure, as
        per <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>. 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 pn="section-5.4-3">Some examples of usage are listed below:</t>
        <ul spacing="normal" bare="false" empty="false" pn="section-5.4-4">
          <li pn="section-5.4-4.1">
        PCReq with SVEC object with node-diverse bit=1 (LSP1,LSP2) and DAG
	with S=1 (LSP1,LSP2) - both node- and SRLG-diverse path between LSP1 and
	LSP2. 
        </li>
          <li pn="section-5.4-4.2">
        PCReq with SVEC object with link-diverse bit=1 (LSP1,LSP2) and DAG
	with L=1 (LSP1,LSP3) - link-diverse paths between LSP1 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).  
        </li>
        </ul>
        <section toc="include" anchor="svec-of" numbered="true" removeInRFC="false" pn="section-5.4.1">
          <name slugifiedName="name-svec-and-of">SVEC and OF</name>
          <t pn="section-5.4.1-1">This document defines three new OF-codes in <xref target="Disjointness-objective-functions" format="default" sectionFormat="of" derivedContent="Section 5.3"/> to
	  maximize diversity as much as possible. In other words, new OF-codes
	  allow specification of minimization of common shared resources
	  (Node, Link, or SRLG) among a set of paths during path
	  computation.</t>
          <t pn="section-5.4.1-2">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 listed below:</t>
          <ul spacing="normal" bare="false" empty="false" pn="section-5.4.1-3">
            <li pn="section-5.4.1-3.1">SVEC object with node-diverse bit=1 - ensure full
	    node diversity.</li>
            <li pn="section-5.4.1-3.2">SVEC object with node-diverse bit=1 and OF=MSS - full node
	    diversity with as much SRLG diversity as possible.</li>
            <li pn="section-5.4.1-3.3">SVEC object with domain-diverse bit=1 <xref target="RFC8685" format="default" sectionFormat="of" derivedContent="RFC8685"/>; node-diverse bit=1, and
	    OF=MSS - full domain and node diversity with as much
	    SRLG diversity as possible.</li>
            <li pn="section-5.4.1-3.4">SVEC object with node-diverse bit=1 and OF=MSN - ensure full
	    node diversity.</li>
          </ul>
          <t pn="section-5.4.1-4">In the last example above, it is interesting to note that "OF"
	  becomes redundant as "SVEC object" ensures full node diversity;
	  however, this specification does not prohibit redundant constraints
	  while using "SVEC object" and "OF" together for diversity.</t>
        </section>
      </section>
      <section toc="include" anchor="P-Flag-Consideration" numbered="true" removeInRFC="false" pn="section-5.5">
        <name slugifiedName="name-p-flag-considerations">P Flag Considerations</name>
        <t pn="section-5.5-1">As mentioned in <xref target="tlvs" format="default" sectionFormat="of" derivedContent="Section 5.2"/>, the P flag
	(when set) indicates that the computed path of the LSP <bcp14>SHOULD</bcp14>
	satisfy all constraints and objective functions first without
	considering the diversity constraint.</t>
        <t pn="section-5.5-2">This means that an LSP with the P flag set should be placed first, 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 depend on
	LSP 1 with P=0). Multiple LSPs in the same Disjoint 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 pn="section-5.5-3">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 the Disjoint Association Group (for
        instance, the primary 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>
        <figure anchor="fig4" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-example-topology-with-six-i">Example Topology with Six Internal Routers</name>
          <artwork name="" type="" align="left" alt="" pn="section-5.5-4.1">
         _________________________________________
        /                                         \
       /        +------+                           \
      |         | PCE  |                            |
      |         +------+                            |
      |                                             |
      |                                             |
      | +------+           10             +------+  |
CE1 ****| PE 1 | ----- R1 ---- R2 ------- | PE 2 |**** CE2
      | +------+       |        |         +------+  |
      |                |        |                   |
      |                |        |                   |
      | +------+       |        |         +------+  |
CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4
      | +------+ \     |               /  +------+  |
      |           \    |     10       /             |
       \           +-- R5 --------- R6             /
        \_________________________________________/

</artwork>
        </figure>
        <t pn="section-5.5-5">Note: In <xref target="fig4" format="default" sectionFormat="of" derivedContent="Figure 4"/>, the cost of all the links is 1, unless explicitly marked otherwise.    
</t>
        <t pn="section-5.5-6">In the figure above, a customer has two dual-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 redundancy purpose).</t>
        <t pn="section-5.5-7">Without any hint (constraint) provided, the PCE may compute the two
	link disjoint LSPs together, leading to PE1-&gt;PE2 using path
	PE1-&gt;R1-&gt;R2-&gt;PE2 and PE3-&gt;PE4 using
	PE3-&gt;R3-&gt;R4-&gt;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 be higher);
	the customer requirement is thus not completely fulfilled.</t>
        <t pn="section-5.5-8">The usage of the P flag allows the PCE to know that a particular
	LSP should be tied to the best path, as if the disjointness constraint
	was not requested.</t>
        <t pn="section-5.5-9">In our example, if the P flag is set to the LSP PE1-&gt;PE2, the
	PCE should use the path PE1-&gt;R1-&gt;R3-&gt;R4-&gt;R2-&gt;PE2 for
	this LSP, while the other LSP should be link disjoint from this
	path. The second LSP will be placed on PE3-&gt;R5-&gt;R6-&gt;PE4, as it
	is allowed to be costlier.</t>
        <t pn="section-5.5-10">Driving the PCE disjointness computation may be done in other ways,
	for instance, setting a metric boundary reflecting a path delay
	boundary. Other constraints may also be used.</t>
        <t pn="section-5.5-11">The P flag allows to simply express that the disjointness
	constraint should not make the LSP worst.</t>
        <t pn="section-5.5-12">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 prevent finding a disjoint path. In the example
	above, if we consider that router R5 is down and if PE1-&gt;PE2 has
	the P flag set, there is no room available to place PE3-&gt;PE4 (the
	link disjointness constraint cannot be fulfilled). If PE1-&gt;PE2 has
	the P flag unset, the algorithm may be able to place PE1-&gt;PE2 on the 
	R1-&gt;R2 link leaving room for PE3-&gt;PE4 using the R3-&gt;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 disjointness constraint.</t>
        <figure anchor="fig5" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-example-topology-with-four-">Example Topology with Four Internal Routers</name>
          <artwork name="" type="" align="left" alt="" pn="section-5.5-13.1">
         _________________________________________
        /                                         \
       /        +------+                           \
      |         | PCE  |                            |
      |         +------+                            |
      |                                             |
      |                                             |
      | +------+           10             +------+  |
CE1 ****| PE 1 | ----- R1 ---- R2 ------- | PE 2 |**** CE2
      | +------+       |  \     |         +------+  |
      |                |   \2   |                   |
      |                |    \   |                   |
      | +------+       |     \  |         +------+  |
CE3 ****| PE 3 | ----- R3 ---- R4 ------- | PE 4 |**** CE4
      | +------+                          +------+  |
      |                                             |
       \                                           /
        \_________________________________________/

</artwork>
        </figure>
        <t pn="section-5.5-14">Note: In <xref target="fig5" format="default" sectionFormat="of" derivedContent="Figure 5"/>, the cost of all the links is 1, unless
explicitly marked otherwise. </t>
        <t pn="section-5.5-15">In the figure above, we still consider the same previous
	requirements, so PE1-&gt;PE2 LSP should be optimized (P flag set),
	while PE3-&gt;PE4 should be link disjoint and may use a costlier
	path.</t>
        <t pn="section-5.5-16">Regarding PE1-&gt;PE2, there are two paths that are satisfying the
	constraints (ECMP): PE1-&gt;R1-&gt;R4-&gt;R2-&gt;PE2 (path 1) and
	PE1-&gt;R1-&gt;R3-&gt;R4-&gt;R2-&gt;PE2 (path 2). An implementation
	may choose one of the paths.</t>
        <t pn="section-5.5-17">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-&gt;PE2, there is no room left for PE3-&gt;PE4,
	while if path 1 is used, PE3-&gt;PE4 can be placed on R3-&gt;R4
	link.</t>
        <t pn="section-5.5-18">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>
      <section toc="include" anchor="dis" numbered="true" removeInRFC="false" pn="section-5.6">
        <name slugifiedName="name-disjointness-computation-is">Disjointness Computation Issues</name>
        <t pn="section-5.6-1">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 pn="section-5.6-2">When the T flag is set (Strict disjointness), if
	disjointness cannot be ensured for one or more LSPs, the PCE <bcp14>MUST</bcp14>
	reply to a PCReq with a 
	PCRep message containing a NO-PATH object. In case of a PCRpt
	message, the PCE <bcp14>MUST</bcp14> return a PCErr message with Error-Type 26
	(Association Error) and Error-value 7 (Cannot join the association group).</t>
        <t pn="section-5.6-3">In case of a network event leading to an impossible strict
	disjointness, the PCE <bcp14>MUST</bcp14> send a PCUpd message containing an empty
	Explicit Route Object (ERO) to the corresponding PCCs. In addition to
	the empty ERO object, 
	the PCE <bcp14>MAY</bcp14> add the NO-PATH-VECTOR TLV <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/> in the LSP object.</t>
        <t pn="section-5.6-4">This document adds new bits in the Flags field of the
        NO-PATH-VECTOR TLV:</t>
        <ul spacing="normal" bare="false" empty="false" pn="section-5.6-5">
          <li pn="section-5.6-5.1">bit 11: When set, the PCE indicates that it could not find a
	  disjoint path for this LSP.</li>
          <li pn="section-5.6-5.2">bit 10: When set, the PCE indicates that it does not support
	  the requested disjointness computation.</li>
        </ul>
        <t pn="section-5.6-6">When the T flag is unset, the PCE is allowed to relax disjointness
        by applying a requested objective function (<xref target="Disjointness-objective-functions" format="default" sectionFormat="of" derivedContent="Section 5.3"/>) 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 the DISJOINTNESS-STATUS TLV by setting the
        appropriate flags in the TLV. While the DISJOINTNESS-CONFIGURATION TLV
        defines the desired level of disjointness required by configuration,
        the DISJOINTNESS-STATUS TLV defines the achieved level of disjointness
        computed.</t>
        <t pn="section-5.6-7">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 considered out of scope of the document. See
	<xref target="I-D.dhody-pce-stateful-pce-optional" format="default" sectionFormat="of" derivedContent="PCE-OPTIONAL"/>
	for a proposed mechanism.</t>
      </section>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t pn="section-6-1">This document defines one new PCEP Association type, which by itself
      does not add any new security concerns beyond those discussed in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, 
      <xref target="RFC8231" format="default" sectionFormat="of" derivedContent="RFC8231"/>, <xref target="RFC7470" format="default" sectionFormat="of" derivedContent="RFC7470"/>, and <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>. But
      adding of a spurious LSP into the Disjoint Association Group could
      lead to recomputation and setup of all LSPs in the group, which could
      be used to overwhelm the PCE and the network.</t>
      <t pn="section-6-2"> 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 be
      resolved.</t>
      <t pn="section-6-3">Also, as stated in <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>, much of
      the information carried in the ASSOCIATION object reflects information
      that can also be derived from the LSP database, but association provides
      a much easier grouping of related LSPs and messages. This 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 pn="section-6-4">Thus, securing the PCEP session using Transport Layer Security (TLS)
      <xref target="RFC8253" format="default" sectionFormat="of" derivedContent="RFC8253"/>, as per the recommendations
      and best current practices in BCP 195 <xref target="RFC7525" format="default" sectionFormat="of" derivedContent="RFC7525"/>, is <bcp14>RECOMMENDED</bcp14>.</t>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-7.1">
        <name slugifiedName="name-association-type">Association Type</name>
        <t pn="section-7.1-1">This document defines a new Association type, originally described
        in <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>. IANA has assigned the
        following new value in the "ASSOCIATION Type Field" subregistry <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/> within the "Path Computation
        Element Protocol (PCEP) Numbers" registry: </t>
        <table align="center" pn="table-1">
          <name slugifiedName="name-association-type-field">ASSOCIATION Type Field</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Type</th>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">Disjoint Association</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-7.2">
        <name slugifiedName="name-pcep-tlvs">PCEP TLVs</name>
        <t pn="section-7.2-1"> This document defines two new PCEP TLVs. IANA has assigned the
        following values in the "PCEP TLV Type Indicators" subregistry within
	the "Path Computation Element Protocol (PCEP)                
        Numbers" registry:</t>
        <table align="center" pn="table-2">
          <name slugifiedName="name-pcep-tlv-type-indicators">PCEP TLV Type Indicators</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">TLV Type</th>
              <th align="left" colspan="1" rowspan="1">TLV Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">DISJOINTNESS-CONFIGURATION</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">47</td>
              <td align="left" colspan="1" rowspan="1">DISJOINTNESS-STATUS</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
          </tbody>
        </table>
        <t pn="section-7.2-3">IANA has created a new subregistry, named
	"DISJOINTNESS-CONFIGURATION TLV Flag Field", within the
	"Path Computation Element Protocol (PCEP) Numbers" registry to manage
	the Flags field in the DISJOINTNESS-CONFIGURATION TLV. New values are
	to be assigned by Standards Action <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. Each bit should be tracked with the following
	qualities:</t>
        <ul spacing="normal" bare="false" empty="false" pn="section-7.2-4">
          <li pn="section-7.2-4.1">Bit number (count from 0 as the most significant bit)</li>
          <li pn="section-7.2-4.2">Flag Name</li>
          <li pn="section-7.2-4.3">Reference</li>
        </ul>
        <t pn="section-7.2-5">The initial contents of this subregistry are shown below:</t>
        <table anchor="Disjointness-Configuration-TLV-IANA" align="center" pn="table-3">
          <name slugifiedName="name-disjointness-configuration-t">DISJOINTNESS-CONFIGURATION TLV Flag Field</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit</th>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">31</td>
              <td align="left" colspan="1" rowspan="1">L - Link Diverse</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">30</td>
              <td align="left" colspan="1" rowspan="1">N - Node Diverse</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">29</td>
              <td align="left" colspan="1" rowspan="1">S - SRLG Diverse</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">28</td>
              <td align="left" colspan="1" rowspan="1">P - Shortest Path</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">27</td>
              <td align="left" colspan="1" rowspan="1">T - Strict Disjointness</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">0-26</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1"/>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-7.3">
        <name slugifiedName="name-objective-functions">Objective Functions</name>
        <t pn="section-7.3-1">This document defines three new objective functions.  IANA has made
        the following allocations in the "Objective Function"
        subregistry within the "Path Computation Element Protocol (PCEP)
        Numbers" registry:</t>
        <table align="center" pn="table-4">
          <name slugifiedName="name-objective-function">Objective Function</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Code Point</th>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">15</td>
              <td align="left" colspan="1" rowspan="1">Minimize the number of Shared Links (MSL)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">16</td>
              <td align="left" colspan="1" rowspan="1">Minimize the number of Shared SRLGs (MSS)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">17</td>
              <td align="left" colspan="1" rowspan="1">Minimize the number of Shared Nodes (MSN)</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-7.4">
        <name slugifiedName="name-no-path-vector-bit-flags">NO-PATH-VECTOR Bit Flags</name>
        <t pn="section-7.4-1">This document defines new bits for the NO-PATH-VECTOR TLV in the
	"NO-PATH-VECTOR TLV Flag Field" subregistry of the "Path Computation
	Element Protocol (PCEP) Numbers" registry. IANA has made
	the following allocations: 
        </t>
        <table anchor="NO-PATH-VECTOR-TLV-IANA" align="center" pn="table-5">
          <name slugifiedName="name-no-path-vector-tlv-flag-fie">NO-PATH-VECTOR TLV Flag Field</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Bit Number</th>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">11</td>
              <td align="left" colspan="1" rowspan="1">Disjoint path not found</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">10</td>
              <td align="left" colspan="1" rowspan="1">Requested disjoint computation not supported</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-7.5">
        <name slugifiedName="name-pcep-error-codes">PCEP-ERROR Codes</name>
        <t pn="section-7.5-1"> 
   This document defines two new Error-values within existing Error-Types
   related to disjoint association.  IANA has allocated the following new
   Error-values in the "PCEP-ERROR Object Error Types and Values" subregistry
   within the "Path Computation Element Protocol (PCEP) Numbers" registry:</t>
        <table align="center" pn="table-6">
          <name slugifiedName="name-pcep-error-object-error-typ">PCEP-ERROR Object Error Types and Values</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Error-Type</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
              <th align="left" colspan="1" rowspan="1">Error-value</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">Mandatory Object missing</td>
              <td align="left" colspan="1" rowspan="1"/>
              <td align="left" colspan="1" rowspan="1">
                <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1"/>
              <td align="left" colspan="1" rowspan="1"/>
              <td align="left" colspan="1" rowspan="1">15: DISJOINTNESS-CONFIGURATION
	      TLV missing</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">10</td>
              <td align="left" colspan="1" rowspan="1">Reception of an invalid object</td>
              <td align="left" colspan="1" rowspan="1"/>
              <td align="left" colspan="1" rowspan="1">
                <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/></td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1"/>
              <td align="left" colspan="1" rowspan="1"/>
              <td align="left" colspan="1" rowspan="1">32: Incompatible OF code</td>
              <td align="left" colspan="1" rowspan="1">RFC 8800</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-manageability-consideration">Manageability Considerations</name>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-8.1">
        <name slugifiedName="name-control-of-function-and-pol">Control of Function and Policy</name>
        <t pn="section-8.1-1">An operator <bcp14>SHOULD</bcp14> be allowed to configure the
        Disjoint Association Groups and disjoint parameters at the PCEP peers
        and associate them with the LSPs.

The operator <bcp14>MUST</bcp14> be allowed to set the Operator-configured
Association Range. The operator <bcp14>SHOULD</bcp14> be allowed to set the
local policies to define various disjoint computational behavior at the
PCE.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-8.2">
        <name slugifiedName="name-information-and-data-models">Information and Data Models</name>
        <t pn="section-8.2-1">An implementation <bcp14>SHOULD</bcp14> allow the operator to view the disjoint
	associations configured or created dynamically. Furthermore,
	implementations <bcp14>SHOULD</bcp14> allow to view disjoint associations reported by
	each peer and the current set of LSPs in this association. The PCEP
	YANG module <xref target="I-D.ietf-pce-pcep-yang" format="default" sectionFormat="of" derivedContent="PCEP-YANG"/>
	includes association group information.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-8.3">
        <name slugifiedName="name-liveness-detection-and-moni">Liveness Detection and Monitoring</name>
        <t pn="section-8.3-1">Mechanisms defined in this document do not imply any new liveness
	detection and monitoring requirements in addition to those already
	listed in <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-8.4">
        <name slugifiedName="name-verification-of-correct-ope">Verification of Correct Operations</name>
        <t pn="section-8.4-1">Apart from the operation
        verification requirements already listed in
        <xref target="RFC5440" format="default" sectionFormat="of" derivedContent="RFC5440"/>, a PCEP implementation
   <bcp14>SHOULD</bcp14> provide parameters related to disjoint path computation, such as
	number of DAG, number of disjoint path computation failures, etc. A
	PCEP implementation <bcp14>SHOULD</bcp14> log failure events (e.g., incompatible
	Flags).</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-8.5">
        <name slugifiedName="name-requirements-on-other-proto">Requirements on Other Protocols</name>
        <t pn="section-8.5-1">Mechanisms defined in this document do not imply any new
	requirements on other protocols.</t>
      </section>
      <section toc="include" numbered="true" removeInRFC="false" pn="section-8.6">
        <name slugifiedName="name-impact-on-network-operation">Impact on Network Operations</name>
        <t pn="section-8.6-1">Mechanisms defined in <xref target="RFC5440" sectionFormat="of" section="8.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5440#section-8.6" derivedContent="RFC5440"/> also apply to PCEP extensions defined in this
	document. Additionally, a PCEP implementation <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 pn="section-9">
      <name slugifiedName="name-references">References</name>
      <references pn="section-9.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC5440" target="https://www.rfc-editor.org/info/rfc5440" quoteTitle="true" derivedAnchor="RFC5440">
          <front>
            <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="March"/>
            <abstract>
              <t>This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs.  Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering.  PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5440"/>
          <seriesInfo name="DOI" value="10.17487/RFC5440"/>
        </reference>
        <reference anchor="RFC5541" target="https://www.rfc-editor.org/info/rfc5541" quoteTitle="true" derivedAnchor="RFC5541">
          <front>
            <title>Encoding of Objective Functions in the Path Computation Element Communication Protocol (PCEP)</title>
            <author initials="JL." surname="Le Roux" fullname="JL. Le Roux">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Lee" fullname="Y. Lee">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="June"/>
            <abstract>
              <t>The computation of one or a set of Traffic Engineering Label Switched Paths (TE LSPs) in MultiProtocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks is subject to a set of one or more specific optimization criteria, referred to as objective functions (e.g., minimum cost path, widest path, etc.).</t>
              <t>In the Path Computation Element (PCE) architecture, a Path Computation Client (PCC) may want a path to be computed for one or more TE LSPs according to a specific objective function.  Thus, the PCC needs to instruct the PCE to use the correct objective function. Furthermore, it is possible that not all PCEs support the same set of objective functions; therefore, it is useful for the PCC to be able to automatically discover the set of objective functions supported by each PCE.</t>
              <t>This document defines extensions to the PCE communication Protocol (PCEP) to allow a PCE to indicate the set of objective functions it supports.  Extensions are also defined so that a PCC can indicate in a path computation request the required objective function, and a PCE can report in a path computation reply the objective function that was used for path computation.</t>
              <t>This document defines objective function code types for six objective functions previously listed in the PCE requirements work, and provides the definition of four new metric types that apply to a set of synchronized requests.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5541"/>
          <seriesInfo name="DOI" value="10.17487/RFC5541"/>
        </reference>
        <reference anchor="RFC7470" target="https://www.rfc-editor.org/info/rfc7470" quoteTitle="true" derivedAnchor="RFC7470">
          <front>
            <title>Conveying Vendor-Specific Constraints in the Path Computation Element Communication Protocol</title>
            <author initials="F." surname="Zhang" fullname="F. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="March"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) is used to convey path computation requests and responses both between Path Computation Clients (PCCs) and Path Computation Elements (PCEs) and between cooperating PCEs.  In PCEP, the path computation requests carry details of the constraints and objective functions that the PCC wishes the PCE to apply in its computation.</t>
              <t>This document defines a facility to carry vendor-specific information in PCEP using a dedicated object and a new Type-Length-Value (TLV) that can be carried in any PCEP object that supports TLVs.</t>
              <t>This document obsoletes RFC 7150.  The only changes from that document are a clarification of the use of the new Type-Length-Value and the allocation of a different code point for the VENDOR-INFORMATION object.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7470"/>
          <seriesInfo name="DOI" value="10.17487/RFC7470"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8231" target="https://www.rfc-editor.org/info/rfc8231" quoteTitle="true" derivedAnchor="RFC8231">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE</title>
            <author initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Medved" fullname="J. Medved">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="September"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions.  This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8231"/>
          <seriesInfo name="DOI" value="10.17487/RFC8231"/>
        </reference>
        <reference anchor="RFC8253" target="https://www.rfc-editor.org/info/rfc8253" quoteTitle="true" derivedAnchor="RFC8253">
          <front>
            <title>PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP)</title>
            <author initials="D." surname="Lopez" fullname="D. Lopez">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="O. Gonzalez de Dios">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Wu" fullname="Q. Wu">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Dhody" fullname="D. Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="October"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) defines the mechanisms for the communication between a Path Computation Client (PCC) and a Path Computation Element (PCE), or among PCEs. This document describes PCEPS -- the usage of Transport Layer Security (TLS) to provide a secure transport for PCEP.  The additional security mechanisms are provided by the transport protocol supporting PCEP; therefore, they do not affect the flexibility and extensibility of PCEP.</t>
              <t>This document updates RFC 5440 in regards to the PCEP initialization phase procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8253"/>
          <seriesInfo name="DOI" value="10.17487/RFC8253"/>
        </reference>
        <reference anchor="RFC8685" target="https://www.rfc-editor.org/info/rfc8685" quoteTitle="true" derivedAnchor="RFC8685">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for the Hierarchical Path Computation Element (H-PCE) Architecture</title>
            <author initials="F." surname="Zhang" fullname="F. Zhang">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Zhao" fullname="Q. Zhao">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="O." surname="Gonzalez de Dios" fullname="O. Gonzalez de Dios">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Casellas" fullname="R. Casellas">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="King" fullname="D. King">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="December"/>
            <abstract>
              <t>The Hierarchical Path Computation Element (H-PCE) architecture is defined in RFC 6805.  It provides a mechanism to derive an optimum end-to-end path in a multi-domain environment by using a hierarchical relationship between domains to select the optimum sequence of domains and optimum paths across those domains.</t>
              <t>This document defines extensions to the Path Computation Element Communication Protocol (PCEP) to support H-PCE procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8685"/>
          <seriesInfo name="DOI" value="10.17487/RFC8685"/>
        </reference>
        <reference anchor="RFC8697" target="https://www.rfc-editor.org/info/rfc8697" quoteTitle="true" derivedAnchor="RFC8697">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships between Sets of Label Switched Paths (LSPs)</title>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Ananthakrishnan" fullname="H. Ananthakrishnan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Dhody" fullname="D. Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Tanaka" fullname="Y. Tanaka">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="January"/>
            <abstract>
              <t>This document introduces a generic mechanism to create a grouping of Label Switched Paths (LSPs) in the context of a Path Computation Element (PCE). This grouping can then be used to define associations between sets of LSPs or between a set of LSPs and a set of attributes (such as configuration parameters or behaviors), and it is equally applicable to the stateful PCE (active and passive modes) and the stateless PCE.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8697"/>
          <seriesInfo name="DOI" value="10.17487/RFC8697"/>
        </reference>
      </references>
      <references pn="section-9.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.dhody-pce-stateful-pce-optional" quoteTitle="true" target="https://tools.ietf.org/html/draft-dhody-pce-stateful-pce-optional-06" derivedAnchor="PCE-OPTIONAL">
          <front>
            <title>Extension for Stateful PCE to allow Optional Processing of PCEP Objects</title>
            <author initials="C" surname="Li" fullname="Cheng Li">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H" surname="Zheng" fullname="Haomian Zheng">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Litkowski" fullname="Stephane Litkowski">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="July" day="9" year="2020"/>
            <abstract>
              <t>This document introduces a mechanism to mark some of the Path Computation Element (PCE) Communication Protocol (PCEP) objects as optional during PCEP messages exchange for the Stateful PCE model to allow relaxing some constraints.  This document introduces this relaxation and updates the RFC 8231.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dhody-pce-stateful-pce-optional-06"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-dhody-pce-stateful-pce-optional-06.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-pce-pcep-yang" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-pce-pcep-yang-14" derivedAnchor="PCEP-YANG">
          <front>
            <title>A YANG Data Model for Path Computation Element Communications Protocol (PCEP)</title>
            <author initials="D" surname="Dhody" fullname="Dhruv Dhody">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Hardwick" fullname="Jonathan Hardwick">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V" surname="Beeram" fullname="Vishnu Beeram">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Tantsura" fullname="Jeff Tantsura">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="July" day="7" year="2020"/>
            <abstract>
              <t>This document defines a YANG data model for the management of Path Computation Element communications Protocol (PCEP) for communications between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs.  The data model includes configuration and state data.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-pcep-yang-14"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-pce-pcep-yang-14.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC4655" target="https://www.rfc-editor.org/info/rfc4655" quoteTitle="true" derivedAnchor="RFC4655">
          <front>
            <title>A Path Computation Element (PCE)-Based Architecture</title>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J.-P." surname="Vasseur" fullname="J.-P. Vasseur">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Ash" fullname="J. Ash">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="August"/>
            <abstract>
              <t>Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks.  Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
              <t>This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space.  This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
        </reference>
        <reference anchor="RFC6007" target="https://www.rfc-editor.org/info/rfc6007" quoteTitle="true" derivedAnchor="RFC6007">
          <front>
            <title>Use of the Synchronization VECtor (SVEC) List for Synchronized Dependent Path Computations</title>
            <author initials="I." surname="Nishioka" fullname="I. Nishioka">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="King" fullname="D. King">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="September"/>
            <abstract>
              <t>A Path Computation Element (PCE) may be required to perform dependent path computations.  Dependent path computations are requests that need to be synchronized in order to meet specific objectives.  An example of a dependent request would be a PCE computing a set of services that are required to be diverse (disjointed) from each other.  When a PCE computes sets of dependent path computation requests concurrently, use of the Synchronization VECtor (SVEC) list is required for association among the sets of dependent path computation requests.  The SVEC object is optional and carried within the Path Computation Element Communication Protocol (PCEP) PCRequest (PCReq) message.</t>
              <t>This document does not specify the PCEP SVEC object or procedure. This informational document clarifies the use of the SVEC list for synchronized path computations when computing dependent requests. The document also describes a number of usage scenarios for SVEC lists within single-domain and multi-domain environments.   This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6007"/>
          <seriesInfo name="DOI" value="10.17487/RFC6007"/>
        </reference>
        <reference anchor="RFC7525" target="https://www.rfc-editor.org/info/rfc7525" quoteTitle="true" derivedAnchor="RFC7525">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author initials="Y." surname="Sheffer" fullname="Y. Sheffer">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Holz" fullname="R. Holz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Saint-Andre" fullname="P. Saint-Andre">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="May"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are widely used to protect data exchanged over application protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP.  Over the last few years, several serious attacks on TLS have emerged, including attacks on its most commonly used cipher suites and their modes of operation.  This document provides recommendations for improving the security of deployed services that use TLS and DTLS. The recommendations are applicable to the majority of use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="7525"/>
          <seriesInfo name="DOI" value="10.17487/RFC7525"/>
        </reference>
        <reference anchor="RFC8281" target="https://www.rfc-editor.org/info/rfc8281" quoteTitle="true" derivedAnchor="RFC8281">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model</title>
            <author initials="E." surname="Crabbe" fullname="E. Crabbe">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Minei" fullname="I. Minei">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Varga" fullname="R. Varga">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="December"/>
            <abstract>
              <t>The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests.</t>
              <t>The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE.  This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8281"/>
          <seriesInfo name="DOI" value="10.17487/RFC8281"/>
        </reference>
      </references>
    </references>
    <section toc="include" numbered="false" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t pn="section-appendix.a-1">A special thanks to the authors of
      <xref target="RFC8697" format="default" sectionFormat="of" derivedContent="RFC8697"/>; this document borrows
      some text from it. The authors would also like to thank <contact fullname="Adrian Farrel"/> 
      and <contact fullname="Julien Meuric"/> for the valuable comments.</t>
      <t pn="section-appendix.a-2">Thanks to <contact fullname="Emmanuel Baccelli"/> for the RTGDIR review.</t>
      <t pn="section-appendix.a-3">Thanks to <contact fullname="Dale Worley"/> for a detailed GENART review.</t>
      <t pn="section-appendix.a-4">Thanks to <contact fullname="Alvaro Retana"/>, <contact fullname="Benjamin Kaduk"/>, <contact fullname="Suresh Krishnan"/>,
      <contact fullname="Roman Danyliw"/>, <contact fullname="Alissa       Cooper"/>, and <contact fullname="Éric Vyncke"/> for the IESG review. </t>
    </section>
    <section toc="include" numbered="false" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact fullname="Dhruv Dhody">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street>Divyashree Techno Park, Whitefiled</street>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560066</code>
            <country>India</country>
          </postal>
          <email>dhruv.ietf@gmail.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="S" surname="Litkowski" fullname="Stephane Litkowski">
        <organization showOnFrontPage="true">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 showOnFrontPage="true">Ciena Corporation</organization>
        <address>
          <postal/>
          <email>msiva282@gmail.com</email>
        </address>
      </author>
      <author initials="C" surname="Barth" fullname="Colby Barth">
        <organization showOnFrontPage="true">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 showOnFrontPage="true">RtBrick India</organization>
        <address>
          <postal>
            <street>N-17L, Floor-1, 18th Cross Rd, HSR Layout Sector-3</street>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560102</code>
            <country>India</country>
          </postal>
          <email>mahend.ietf@gmail.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
