<?xml version="1.0" encoding="US-ASCII"?> version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="no"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?> "rfc2629-xhtml.ent">
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF"
     category="std" consensus="true" docName="draft-ietf-pce-association-group-10" ipr="trust200902"> number="8697" ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="false" version="3">
  <!-- xml2rfc v2v3 conversion 2.32.0 -->
  <front>
    <title abbrev="PCE association group"> Association Group">
    Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships Between between Sets of Label Switched Paths (LSPs)</title>
    <seriesInfo name="RFC" value="8697"/>
    <author fullname="Ina Minei" initials="I." surname="Minei">
      <organization>Google, Inc.</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>CA</region>
          <code>94043</code>
      <country>US</country>
          <country>United States of America</country>
        </postal>
        <email>inaminei@google.com</email>
      </address>
    </author>
    <author fullname="Edward Crabbe" initials="E." surname="Crabbe">
      <organization>Individual Contributor</organization>
      <address>
        <email>edward.crabbe@gmail.com</email>
      </address>
    </author>
    <author fullname="Siva Sivabalan" initials="S." surname="Sivabalan">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>170 West Tasman Dr.</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95134</code>
      <country>US</country>
          <country>United States of America</country>
        </postal>
        <email>msiva@cisco.com</email>
      </address>
    </author>
    <author fullname="Hariharan Ananthakrishnan" initials="H." surname="Ananthakrishnan">
      <organization>Netflix</organization>
      <address>
        <email>hari@netflix.com</email>
      </address>
    </author>
    <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street>Divyashree Techno Park, Whitefield</street>
          <city>Bangalore</city>
          <region>KA</region>
          <code>560066</code>
          <country>India</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Yosuke Tanaka" initials="Y." surname="Tanaka">
      <organization>NTT Communications Corporation</organization>
      <address>
        <postal>
          <street>Granpark Tower 3-4-1 Shibaura, Minato-ku
</street>
      <city>Tokyo</city>
      <region></region> Minato-ku</street>
          <region>Tokyo</region>
          <code>108-8118</code>
          <country>Japan</country>
        </postal>
        <email>yosuke.tanaka@ntt.com</email>
      </address>
    </author>
    <date year="2019"  />

    <workgroup>PCE Working Group</workgroup>
    <keyword>PCE, PCEP, Association, Group</keyword> year="2020" month="January"/>
    <keyword>PCE</keyword>
    <keyword>PCEP</keyword>
    <keyword>Association</keyword>
    <keyword>Group</keyword>
    <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 behaviours), behaviors), and it is equally applicable to the stateful PCE (active and passive modes) as well as and the stateless PCE.
      </t>
    </abstract>

    <note title="Requirements Language">
      <t><!--The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref target="RFC2119"/>.-->

      The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
      NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
      "MAY", and "OPTIONAL" in this document are to be interpreted as
      described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
      appear in all capitals, as shown here.

      </t>

    </note>
  </front>
  <middle>
    <section title="Introduction"> numbered="true" toc="default">
      <name>Introduction</name>
      <t><xref target="RFC5440"/> target="RFC5440" format="default"/> describes the Path Computation Element (PCE)
      Communication Protocol (PCEP).  PCEP enables the communication between a
      Path Computation Client (PCC) and a PCE, or between a PCE and another
      PCE, for the purpose of the computation of Multiprotocol Label Switching
      (MPLS) as well as Generalized MPLS (GMPLS) Traffic Engineering Label
      Switched Path (TE LSP) characteristics.
      </t>
      <t><xref target='RFC8231'></xref> target="RFC8231" format="default"/> specifies a set of extensions to PCEP
      to enable stateful control of TE LSPs within and across PCEP sessions in
      compliance with <xref target="RFC4657"/>. target="RFC4657" format="default"/>. It includes mechanisms to
      effect LSP State Synchronization between PCCs and PCEs, delegation of
      control over LSPs to PCEs, and PCE control of timing and sequence of
      path computations within and across PCEP sessions. The operational model of
      operation where
      whereby LSPs are initiated from the PCE is described in <xref target='RFC8281'></xref>. target="RFC8281" format="default"/>.
      </t>
      <t><xref target='RFC4872'/> target="RFC4872" format="default"/> defines the RSVP ASSOCIATION object, which
      was defined in the context of GMPLS-controlled Label Switched Paths (LSPs) LSPs to be used to
      associate recovery LSPs with the LSP they are protecting. This object
      also has broader applicability as a mechanism to associate RSVP state and
      state. <xref target='RFC6780'/> described target="RFC6780" format="default"/> describes how the ASSOCIATION object can
      be more generally applied by defining the Extended ASSOCIATION Object.</t>
      object.</t>
      <t> This document introduces a generic mechanism to create a grouping of LSPs.
       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 behaviours), behaviors), and it is equally applicable to the stateful PCE (active
       and passive modes) and the stateless PCE.
       The associations could be created dynamically and conveyed to a PCEP
       peer within PCEP, or
       it they could be configured manually by an operator
       on the PCEP peers. Refer to <xref target="Operation-overview"/> target="Operation-overview" format="default"/> for
       more details.
      </t>
      <section numbered="true" toc="default">
        <name>Requirements Language</name>
    <t>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&nbsp;14 <xref target="RFC2119"/>
    <xref target="RFC8174"/> when, and only when, they appear in all capitals,
    as shown here.</t>
      </section>
    </section> <!-- Introduction -->
    <section title="Terminology"> numbered="true" toc="default">
      <name>Terminology</name>
      <t>This document uses the following terms defined in <xref
      target="RFC5440"/>: PCC, PCE, PCEP Peer, Path target="RFC5440" format="default"/>:</t>
      <ul spacing="normal">
        <li>PCC</li>
        <li>PCE</li>
        <li>PCEP Peer</li>
        <li>Path Computation Request (PCReq), Path (PCReq)</li>
        <li>Path Computation Reply (PCRep), and PCEP (PCRep)</li>
        <li>PCEP Error (PCErr).</t> (PCErr)</li>
      </ul>
      <t>This document uses the following terms defined in <xref
      target="RFC8051"/>: Stateful PCE, Active target="RFC8051" format="default"/>:</t>
      <ul spacing="normal">
        <li>Stateful PCE</li>
        <li>Active Stateful PCE, Passive PCE</li>
        <li>Passive Stateful PCE, and Delegation.</t> PCE</li>
        <li>Delegation</li>
      </ul>
      <t>This document uses the following terms defined in <xref
      target="RFC8231"/>: LSP target="RFC8231" format="default"/>:</t>
      <ul spacing="normal">
        <li>LSP State Report (PCRpt), LSP (PCRpt)</li>
        <li>LSP Update Request (PCUpd), and State (PCUpd)</li>
        <li>State Timeout Interval.</t> Interval</li>
      </ul>
      <t>This document uses the following terms defined in <xref
        target='RFC8281'/>: PCE-initiated LSP, and LSP target="RFC8281" format="default"/>:</t>
      <ul spacing="normal">
        <li>PCE-initiated LSP</li>
        <li>LSP Initiate Request (PCInitiate).</t>

      <!-- No longer needed! <t> The following term is defined in this document: </t>

      <t> Association Timeout Interval: when a PCEP session is terminated,
      a PCC waits for this time period before deleting associations created by the PCEP peer.
      </t>--> (PCInitiate)</li>
      </ul>
    </section> <!-- Terminology -->
    <section anchor="Overview" title="Architectural Overview"> numbered="true" toc="default">
      <name>Architectural Overview</name>
      <section anchor="Motivation" title="Motivation">
     <t>
         <!--Stateful numbered="true" toc="default">
        <name>Motivations</name>
        <t>A stateful PCE provides the ability to update existing LSPs and to
     instantiate new ones.
         To enable support for PCE-controlled make-before-break and for protection, there is a There are various situations where several
     LSPs need to define associations between LSPs. share common information. For example, the to support
     PCE-controlled make-before-break, an association between the original
     path and the re-optimized reoptimized path in the make-before break scenario, or is desired. Similarly, for end-to-end
     protection, an association between the working and protection path in end-to-end protection. LSPs is
     required (see <xref target="I-D.ietf-pce-stateful-path-protection" format="default"/>). For diverse paths, an
     association between a group of LSPs could be used (see <xref target="I-D.ietf-pce-association-diversity" format="default"/>).  Another use for an LSP grouping is for
         applying would be to apply
     a common set of configuration parameters or behaviors to a set of LSPs.-->

         Stateful PCE provides the ability to update existing LSPs and to
         instantiate new ones. There are various situations where several
         LSPs need to share common information. E.g., to support for
         PCE-controlled make-before-break, an association between the original
         and the re-optimized path is desired. Similarly, for end-to-end protection, the association
         between working and protection LSPs is required (see <xref target="I-D.ietf-pce-stateful-path-protection"/>). For diverse paths, an association between a group of LSPs could be used (see <xref target="I-D.ietf-pce-association-diversity"/>).  Another use for the LSP grouping is for
         applying a common set of configuration parameters or behaviours to a set of LSPs.
        </t>
        <t>
      For a  stateless PCE, it might be useful to associate a path
      computation request PCReq message to an association group, thus enabling it to associate
      a common set of policy, policies, configuration parameters parameters, or behaviours behaviors with the request.
        </t>
        <t>Some associations could be created dynamically, such as an association
     between the working and protection LSPs of a tunnel, whereas
     some associations could be created by the operator manually, such as
     a policy-based association, association where the LSP could join an
     operator-configured existing association.</t>
        <t>
     Rather than creating separate mechanisms for each use case, this document
     defines a generic mechanism that can be reused as needed.
        </t>
      </section><!-- Motivation -->
      </section>
      <section title="Relationship with numbered="true" toc="default">
        <name>Relationship to the SVEC List"> List</name>
        <t>Note that, that <xref target="RFC5440"/> target="RFC5440" format="default"/> defines a mechanism for the
       synchronization of a set of path computation requests PCReq messages by using the SVEC
       (Synchronization VECtor) object, that which specifies the list of
       synchronized requests that can either be either dependent or independent. The
       SVEC object identifies the relationship between the set of path computation requests,
       PCReq messages, identified by 'Request-ID-number' "Request-ID-number" in the RP
       (Request Parameters) object. <xref target="RFC6007"/> target="RFC6007" format="default"/> further clarifies
       the use of the SVEC list for synchronized path computations when
       computing dependent requests as well as requests, and it describes a number of usage
       scenarios for SVEC lists within single-domain and multi-domain
       environments.</t>
        <t>The motivation motivations behind the association group defined in this document
   and the SVEC object are quite different, though some use cases may
   overlap.  PCEP extensions that define a new association type Association Type should
   clarify the relationship between the SVEC object and the association
   type, Association
   Type, if any.</t>
      </section>
      <section anchor="Operation-overview" title="Operation Overview"> numbered="true" toc="default">
        <name>Operational Overview</name>
        <t>
     LSPs are associated with other LSPs with which they interact by
     adding them to a common association group.  Association groups as
     defined in this document can be applied to LSPs originating at the same head end
     headend or different head ends.</t> headends.</t>
        <t>Some associations could be created dynamically by a PCEP speaker speaker, and
     the associations (along with the set of LSPs) are conveyed to a PCEP
     peer. Whereas some associations are configured by the operator
     beforehand on the PCEP peers involved beforehand, in question, a PCEP speaker then could then ask for a
     an LSP to join the operator-configured association. Operator-configured Association. Usage of dynamic and
     configured association associations is usually dependent on the type of the
     association.</t>
        <t>For the operator-configured association, Operator-configured Associations, the association parameters
parameters, such as the association identifier, association type,
     as well as Association Identifier (Association ID), Association Type, and
the association source Association Source IP address, are manually configured by the
operator. In the case of a dynamic association, the association parameters parameters,
such as the association identifier, Association ID, are allocated dynamically by the
PCEP speaker, the association source speaker. The Association Source is set as the local PCEP speaker address,
address unless local policy dictates otherwise, in which case association source the
Association Source is set based on the local policy.</t>
        <t>The dynamically created association can be reported to the PCEP peer
     via the PCEP messages as per the stateful extensions. When the operator-configured association
     Operator-configured Association is known to the PCEP peer beforehand, a
     PCEP peer could ask for a an LSP to join the operator-configured association Operator-configured Association
     via the stateful PCEP messages.</t>
        <t>The associations are properties of the LSP and thus could be stored in
    the LSP state database. The dynamic association exists as long as the LSP
state exists. In the case of PCEP session termination, the LSP state clean-up MUST cleanup
    <bcp14>MUST</bcp14> also take care of associations.</t>

     <!--<t>For LSPs originating at
        <t>Multiple types of associations can exist, each with its own
     Association ID space. The definition of the same head end, different Association
     Types and their behaviors is outside the scope of this document.  The
     establishment and removal of the association relationship can be initiated by either the PCC (head end)  or by a PCE.  Only done on
     a stateful
     PCE can initiate an association for LSPs originating at different head ends.
     For both cases, the association is uniquely identified by the combination of an association
     identifier and the address of the node that created the association.
     </t>-->

     <t>
         Multiple types of associations can exist, each with their own association identifier space.
     The definition of the different association types and their behaviours is
     outside the scope of this document.  The establishment and removal of the
     association relationship can be done on a per LSP per-LSP basis. An LSP may join multiple association groups, of different or of groups that have
     the same association type.
         </t>

    <!--<t>
    In the case of a stateless PCE, associations are created out of band, and
    PCEP peers should be aware of the association and its significance
    outside of the protocol.
    </t>-->

    <!--<t> Association groups can be created by both PCC and PCE. When a PCC's
    PCEP session with a PCE terminates unexpectedly, the PCC cleans up associations (as per
    the processing rules in this document).
    </t>-->

      </section><!-- Operation overview --> Type or different Association Types.</t>
      </section>
      <section title="Operator-configured anchor="Range" numbered="true" toc="default">
        <name>Operator-Configured Association Range" anchor="Range"> Range</name>
        <t>Some association types Association Types are dynamic, some are operator-configured operator configured,
       and some could be both. For the association types Association Types that could be both
       dynamic and operator-configured operator configured and use the same association source, <!--it is necessary to configure a range of association identifiers that are marked for operator-configured associations to avoid any association identifier clash within the scope of the association source.-->it
       Association Source, it is necessary to distinguish a range of association identifiers
       Association IDs that are marked for operator-configured associations Operator-configured
       Associations, to avoid any
   association identifier clash Association ID clashes within the
       scope of the association
   source. Association Source. This document assumes that these two
       ranges are configured.
</t>
        <t>A range of association identifiers Association IDs for each Association type Type (and
       Association Source) are is kept for the operator-configured associations. Operator-configured
       Associations. Dynamic associations MUST NOT <bcp14>MUST NOT</bcp14> use the association identifier
       Association ID from this range. </t>
        <t>This range range, as set at the PCEP speaker (PCC (a PCC or PCE, as an association source)
       Association Source), needs to be communicated to a PCEP peer in the
       Open Message. message. A new TLV is defined in this specification for this
       purpose (<xref target="Range-tlv"/>). target="Range-tlv" format="default"/>). See <xref target="ex"/> target="ex" format="default"/> for an
       example.</t>

        <t>Association identifier
        <t>The Association ID range for sources other than the PCEP
       speaker (for example an NMS system) example, a Network Management System (NMS)) is not
       communicated in PCEP PCEP, and the procedure for operator-configured association range setting Operator-configured
       Association Range settings is outside the scope of this document.</t>

            <!--<t>All operator-configured associations MUST use identifier from the
               range 0x10000 to 0xffffF and encode it in the extended association
               id TLV. (<xref target="EXT-association"/>)</t>-->
      </section>
     </section><!-- Overview -->
    </section>
    <section anchor="Discovery" title="Discovery numbered="true" toc="default">
      <name>Discovery of Supported Association Types "> Types</name>
      <t>This section defines PCEP extensions so as to support
   the capability advertisement of the association types Association Types supported by a PCEP speaker.</t>
      <t>A new PCEP ASSOC-Type-List (Association Types list) TLV is defined.  The
   PCEP ASSOC-Type-List TLV is carried within an OPEN object.  This way, during
   the PCEP session-setup phase, a PCEP speaker can advertise to a PCEP peer
   the list of supported Association types.</t> Types.</t>
      <section title="ASSOC-Type-List TLV"> numbered="true" toc="default">
        <name>ASSOC-Type-List TLV</name>
        <t>The PCEP ASSOC-Type-List TLV is OPTIONAL. <bcp14>OPTIONAL</bcp14>.  It MAY <bcp14>MAY</bcp14> be carried within an OPEN
   object sent by a PCEP speaker in an Open message to a PCEP peer so as to
   indicate the list of supported Association types.</t> Types.</t>
        <t>The PCEP ASSOC-Type-List TLV format is compliant with the PCEP TLV format defined
   in <xref target="RFC5440"/>. target="RFC5440" format="default"/>.  That is, the TLV is composed of 2 octets
   for the type, 2 octets specifying the TLV length, and a Value field.  The Length
   field defines the length of the value portion in octets.  The TLV is
   padded to 4-octet alignment, and padding is not included in the
   Length field (e.g., a 3-octet value would have a length of three, but
   the total size of the TLV would be eight 8 octets).</t>
        <t>The PCEP ASSOC-Type-List TLV has the following format: format:</t>
        <figure anchor="ASSOC-Type-List" title="The anchor="ASSOC-Type-List">
          <name>The ASSOC-Type-List TLV format">
     <artwork><![CDATA[
TYPE:    TBD
LENGTH:  N * 2 (where N is the number of association types)
VALUE:   list of 2-byte association type code points, identifying
         the association types supported by the sender of the Open
         message. Format</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |         Type                  |            Length             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |          Assoc-type          Assoc-Type #1        |      Assoc-type      Assoc-Type #2            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  //                                                             //
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |          Assoc-type          Assoc-Type #N        |       padding                 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   ]]></artwork></figure>
   </t>
   <t>Assoc-type (2 bytes): ]]></artwork>
        </figure>
        <dl newline="false" spacing="normal">
          <dt>Type:</dt>
          <dd>35</dd>
          <dt>Length:</dt>
          <dd>N * 2 (where N is the number of Association type Types).</dd>
          <dt>Value:</dt>
          <dd>List of 2-byte Association Type code points, identifying
    the Association Types supported by the sender of the Open
    message.</dd>
          <dt>Assoc-Type (2 bytes):</dt>
          <dd>Association Type code point identifier.
  IANA manages the "ASSOCIATION Type Field" code point registry (see <xref target="iana_assoc_type"/>).</t> target="iana_assoc_type" format="default"/>).</dd>
        </dl>
        <section title="Procedure"> numbered="true" toc="default">
          <name>Procedure</name>
          <t>An ASSOC-Type-List TLV within an OPEN object in an Open
   message is included by a PCEP speaker in order to advertise a set of one or
   more supported association types. Association Types.  The ASSOC-Type-List TLV MUST NOT <bcp14>MUST NOT</bcp14> appear more than
   once in an OPEN object.  If it appears more than once, the PCEP
   session MUST <bcp14>MUST</bcp14> be rejected with error type Error-Type 1 and error value Error-value 1 (PCEP
   session establishment failure / Reception of an invalid Open
   message). As specified in <xref target="RFC5440"/>, target="RFC5440" format="default"/>, a PCEP peer that does not recognize the
   ASSOC-Type-List TLV will silently ignore it.</t>

 <t>Association type
          <t>The Association Type (to be defined in other future documents) can specify if
the association type Association Type advertisement is mandatory for it.
Thus, the ASSOC-Type-List TLV MUST <bcp14>MUST</bcp14> be included if at least one mandatory association type
 Association Type needs to be advertised advertised, and the ASSOC-Type-List TLV MAY <bcp14>MAY</bcp14> be
 included otherwise. For an association type Association Type that specifies that the
 advertisement is mandatory, a missing Assoc-type Assoc-Type in the ASSOC-Type-List TLV
 (or a missing ASSOC-Type-List TLV) is to be interpreted as meaning that the association type
 Association Type is not supported by the PCEP speaker.</t>
          <t>The absence of the ASSOC-Type-List TLV in an OPEN object MUST <bcp14>MUST</bcp14> be
   interpreted as an absence of information on in the list of supported
   Association types Types (rather than an indication that the Association type Type is
   not supported). <!--The PCEP speaker could still use the ASSOCIATION object, if the peer does not support the association, it
   would react as per the procedure described in <xref target="Rules"/>.-->In In this case, the PCEP
   speaker could still use the ASSOCIATION object: if the peer does not
   support the association, it will react as per the procedure described
   in <xref target="Rules"/>.</t>

   <t><!--It is RECOMMENDED that the PCEP implementation include all supported association-types (including optional) to ease the operations of association, it will react as per the PCEP peer.-->
     In case procedure described
   in <xref target="Rules" format="default"/>.</t>
          <t>If the use of the ASSOC-Type-List TLV is triggered by support for a
   mandatory association type, Association Type, then it is RECOMMENDED <bcp14>RECOMMENDED</bcp14> that the PCEP
   implementation include all supported Association types Types (including optional) optional
   types) to ease the operations of the PCEP peer.</t>
        </section>
      </section>
    </section>
    <section anchor="Range-tlv" title="Operator-configured numbered="true" toc="default">
      <name>Operator-Configured Association Range TLV"> TLV</name>
      <t>This section defines a PCEP extension to support
   the advertisement of the Operator-configured Association Range used for an Association type Type by the PCEP speaker (as an Association source).</t> Source).</t>
      <t>A new PCEP OP-CONF-ASSOC-RANGE (Operator-configured Association Range)
   TLV is defined.  The PCEP OP-CONF-ASSOC-RANGE TLV is carried within an OPEN
   object.  This way, during the PCEP session-setup phase, a PCEP speaker can
   advertise to a PCEP peer the Operator-configured Association Range for an association type.</t>
   Association Type.</t>
      <t>The PCEP OP-CONF-ASSOC-RANGE TLV is OPTIONAL. <bcp14>OPTIONAL</bcp14>.  It MAY <bcp14>MAY</bcp14> be carried within
   an OPEN object sent by a PCEP speaker in an Open message to a PCEP peer.
   The OP-CONF-ASSOC-RANGE TLV format is compliant with the PCEP TLV format
   defined in <xref target="RFC5440"/>. target="RFC5440" format="default"/>.  That is, the TLV is composed of 2
   bytes for the type, 2 bytes specifying the TLV length, and a Value field.
   The Length field defines the length of the value portion in bytes.</t>
      <t>The PCEP OP-CONF-ASSOC-RANGE TLV has the following format:</t>
      <figure anchor="OP-CONF-ASSOC-RANGE" title="The anchor="OP-CONF-ASSOC-RANGE">
        <name>The OP-CONF-ASSOC-RANGE TLV format">
     <artwork><![CDATA[
TYPE:    29 (Early allocation by IANA)
LENGTH:  N * 8 (where N is the number of association types)
VALUE: Format</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |         Type                  |            Length             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Reserved          |          Assoc-type          Assoc-Type #1        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      Start-Assoc-ID #1        |           Range #1            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  //                                                             //
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |             Reserved          |          Assoc-type          Assoc-Type #N        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      Start-Assoc-ID #N        |           Range #N            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork></figure>
<t>The Value portion includes ]]></artwork>
      </figure>
      <dl newline="false" spacing="normal">
        <dt>Type:</dt>
        <dd>29</dd>
        <dt>Length:</dt>
        <dd>N * 8 (where N is the number of Association Types).</dd>
        <dt>Value:</dt>
        <dd>
          <t>Includes the following fields, repeated for each association type:
	<list>
   <t>Reserved
Association Type:

</t>
          <dl newline="false" spacing="normal">
            <dt>Reserved (2 bytes): This field MUST bytes):</dt>
             <dd><bcp14>MUST</bcp14> be set to 0 on transmission and MUST <bcp14>MUST</bcp14> be
   ignored on receipt.</t>
   <t>Assoc-type receipt.</dd>
            <dt>Assoc-Type (2 bytes): The association type bytes):</dt>
             <dd>The Association Type (<xref target="iana_assoc_type"/>). target="iana_assoc_type"
             format="default"/>). The association types are Association Types will be defined in separate documents.</t>
   <t>Start-Assoc-ID future
   documents.</dd>
            <dt>Start-Assoc-ID (2 bytes): The start association bytes):</dt>
             <dd>The "start association" identifier for the
   Operator-configured Association Range for the particular association type. Association
   Type. The values 0 and 0xffff MUST NOT <bcp14>MUST NOT</bcp14> be used and used; on receipt of these
   values in the TLV, the session is rejected with rejected, and an error message is sent
   (see <xref target="pro"/>).</t>
   <t>Range target="pro" format="default"/>).</dd>
            <dt>Range (2 bytes): The bytes):</dt>
             <dd>The number of associations marked for the
   Operator-configured Associations. The Range MUST <bcp14>MUST</bcp14> be greater than 0, and it MUST
   <bcp14>MUST</bcp14> be such that (Start-Assoc-ID + Range) do does not cross the association identifier range
   largest Association ID value of 0xffff. In case If this condition is not satisfied, the session
   is rejected with rejected, and an error message is sent (see <xref target="pro"/>).</t>
</list></t> target="pro" format="default"/>).</dd>
          </dl>
        </dd>
      </dl>
      <section anchor="pro" title="Procedure"> numbered="true" toc="default">
        <name>Procedure</name>
        <t>A PCEP speaker MAY <bcp14>MAY</bcp14> include an OP-CONF-ASSOC-RANGE TLV within an OPEN object in an Open
   message sent to a PCEP peer in order to advertise the Operator-configured Association Range for an association type. Association Type.
   The OP-CONF-ASSOC-RANGE TLV MUST NOT <bcp14>MUST NOT</bcp14> appear more than
   once in an OPEN object.  If it appears more than once, the PCEP
   session MUST <bcp14>MUST</bcp14> be rejected with error type Error-Type 1 and error value Error-value 1 (PCEP
   session establishment failure / Reception of an invalid Open
   message).</t>
        <t>As specified in <xref target="RFC5440"/>, target="RFC5440" format="default"/>, a PCEP peer that does not recognize the
   OP-CONF-ASSOC-RANGE TLV will silently ignore it.</t>
        <t>The Operator-configured Association Range SHOULD <bcp14>SHOULD</bcp14> be included for each association type
   Association Type that could be both dynamic and operator-configured. operator configured. For association types
   Association Types that are only dynamic or only operator-configured, operator configured, this
   TLV MAY <bcp14>MAY</bcp14> be skipped, in which case the full range of association identifier Association IDs
   is considered dynamic or operator-configured operator configured, respectively. Each association type (that are
   Association Type (to be defined in separate future documents) can specify the default
   value for the operator-configured association range for their respective association type. </t>

    <!--<t>An Assoc-Type MUST be present only once in the OP-CONF-ASSOC-RANGE TLV, if the same Assoc-Type is present more than once, the PCEP
   session MUST be rejected with error type 1 and error value 1 (PCEP
   session establishment failure / Reception of an invalid Open
   message).</t>--> its Operator-configured Association Range.</t>
        <t>The absence of the OP-CONF-ASSOC-RANGE TLV in an OPEN object MUST <bcp14>MUST</bcp14> be
   interpreted as an absence of an explicit Operator-configured Association Range at the PCEP peer.
   In this case, the default behavior as per each association type Association Type applies. If the association
   source Association
   Source is not a PCEP speaker, the default value for the operator-configured association range Operator-configured Association Range is used for the association source.</t> Association Source.</t>
        <t>If the Assoc-type Assoc-Type is not recognized or supported by the PCEP speaker, it MUST <bcp14>MUST</bcp14> ignore that respective Start-Assoc-ID and Range. (Start-Assoc-ID + Range). If the Assoc-type Assoc-Type is recognized/supported but the Start-Assoc-ID or Range are is set incorrectly, the PCEP
   session MUST <bcp14>MUST</bcp14> be rejected with error type Error-Type 1 and error value Error-value 1 (PCEP
   session establishment failure / Reception of an invalid Open
   message). The incorrect range include includes the case when the
   (Start-Assoc-ID + Range) crosses the association identifier range largest Association ID value of
   0xffff.</t>
        <t>A given Assoc-type MAY Assoc-Type <bcp14>MAY</bcp14> appear more than once in the
   OP-CONF-ASSOC-RANGE TLV in the case of a non-contiguous
   Operator-configured Association Range. The PCEP speaker originating this
   TLV MUST NOT carry <bcp14>MUST NOT</bcp14> send overlapping ranges for an association type. Association Type. If a PCEP
   peer receives overlapping ranges for an association type, Association Type, it MUST <bcp14>MUST</bcp14> consider
   the Open message malformed and MUST <bcp14>MUST</bcp14> reject the PCEP session with error type
   Error-Type 1 and error value and Error-value 1 (PCEP session establishment failure /
   Reception of an invalid Open message).</t>

   <t><!--In case, there is an operator-configured association that was configured with association parameters (such as association identifier, association type and association source) at the local PCEP speaker, later the PCEP session gets established with the association source and a new operator-configured range is learned during session establishment.-->
   There
        <t>There may be cases where an operator-configured association Operator-configured Association was
   configured with association parameters (such as association
   identifier, association type an Association ID, Association Type, and association source) Association Source) at the local
   PCEP speaker, and later the PCEP session gets is later established with the
   association source
   Association Source and a new operator-configured range is learned
   during session establishment. At this time, the local PCEP speaker MUST <bcp14>MUST</bcp14>
   remove any associations that are not in the new operator-configured range
   (by disassociating any LSPs that are part of it (and notifying this change to the
   PCEP peer)). peer of this change)). If a PCEP speaker receives an association for an operator-configured association
   Operator-configured Association and the association identifier Association ID is not in
   the operator-configured association range Operator-configured Association Range for the association type Association Type and association source,
   Association Source, it MUST <bcp14>MUST</bcp14> generate an error (as described in <xref target="Rules"/>).</t> target="Rules" format="default"/>).</t>
      </section>
    </section>
    <section anchor="association" title="ASSOCIATION Object"> numbered="true" toc="default">
      <name>ASSOCIATION Object</name>
      <section anchor="Definition" title="Object Definition">

        <!--Creation of an association group and modifications to its membership
        can be initiated by either the PCE or the PCC.--> numbered="true" toc="default">
        <name>Object Definition</name>
        <t>Association groups and their memberships are defined using a new
     ASSOCIATION object.
        </t>

    <t>ASSOCIATION
        <t>The ASSOCIATION Object-Class value is 40 (Early allocation by IANA).</t>
    <t> 40.</t>
        <t>The ASSOCIATION Object-Type value is 1 for IPv4 IPv4, and its format is
    shown in <xref target="Association-Object-Fmt1"/>:</t> target="Association-Object-Fmt1" format="default"/>:</t>
        <figure anchor="Association-Object-Fmt1" title="The anchor="Association-Object-Fmt1">
          <name>The IPv4 ASSOCIATION Object format">
     <artwork><![CDATA[ Format</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |         Reserved              |            Flags            |R|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      Association type Type         |      Association ID           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |              IPv4 Association Source                          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  //                   Optional TLVs                             //
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ]]></artwork>
        </figure>

    <t>
        <t>The ASSOCIATION Object-Type value is 2 for IPv6 IPv6, and its format is
    shown in <xref target="Association-Object-Fmt2"/>:</t> target="Association-Object-Fmt2" format="default"/>:</t>
        <figure anchor="Association-Object-Fmt2" title="The anchor="Association-Object-Fmt2">
          <name>The IPv6 ASSOCIATION Object format">
     <artwork><![CDATA[ Format</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |         Reserved              |            Flags            |R|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      Association type Type         |      Association ID           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                    IPv6 Association Source                    |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  //                   Optional TLVs                             //
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork>
        </figure>
        <t> Reserved (2-byte): MUST
        <dl newline="false" spacing="normal">
          <dt>Reserved (2 bytes):</dt>
          <dd><bcp14>MUST</bcp14> be set to 0 and ignored upon receipt. </t>
    <t>
    Flags (2-byte): The
    receipt.</dd>
          <dt>Flags (2 bytes):</dt>
          <dd>
            <t>The following flags are flag is currently defined:

    <list style="hanging">
            <t hangText="R

            </t>
            <dl newline="false" spacing="normal">
              <dt>R (Removal - 1 bit):"> when bit):</dt>
              <dd>When set, the requesting
       PCEP peer requires the removal of an LSP from the association group.
       When unset, the PCEP peer indicates that the LSP is added or retained
       as part of the association group. This flag is used for the ASSOCIATION
       object in the PCRpt Path Computation Report (PCRpt) and the PCUpd message, the flag
       Path Computation Update (PCUpd) messages.  It is ignored in other
       PCEP messages. </t>
    </list>
    </t> messages.</dd>
            </dl>
          </dd>
        </dl>
        <t>The unassigned flags MUST <bcp14>MUST</bcp14> be set to zero 0 on transmission and MUST <bcp14>MUST</bcp14> be
  ignored on receipt.</t>

    <t>
        <dl newline="false" spacing="normal">
          <dt>Association Type (2 bytes):</dt>
          <dd>The Association type (2-byte): the association type Type
  (<xref target="iana_assoc_type"/>). target="iana_assoc_type" format="default"/>). The association types are Association Types
  will be defined in separate documents.
    </t>

    <t> Association future documents.</dd>
          <dt>Association ID (2-byte): the (2 bytes):</dt>
          <dd>The identifier of the association
    group.  When combined with other association parameters, such as an
    Association Type and Association Source, this value uniquely identifies an
    association group. The values 0xffff and 0x0 are reserved. The value
    0xffff is used to indicate all association groups and could be used with
    the R flag to indicate removal for all associations for the LSP within the
    scope of association type and association source.
    </t>

    <t> <!--Association Source: 4 or 16 bytes - An IPv4 or IPv6 address. This could be the IP
        address of the PCEP speaker that created a dynamic association, an operator configured IP address, or an IP
        address selected as per the local policy. The value such as 0.0.0.0 or ::/128 are acceptable.--> Association Source: Contains Type and Association Source.</dd>
          <dt>Association Source:</dt>
          <dd>Contains a valid IPv4 address (4 bytes)
    if the ASSOCIATION Object-Type is 1 or a valid IPv6 address (16 bytes) if
    the ASSOCIATION Object-Type is 2. The address provides scoping for the
    Association ID. See <xref target="AssocSrc"/> target="AssocSrc" format="default"/> for details.
    </t>

    <t> Optional TLVs: The details.</dd>
          <dt>Optional TLVs:</dt>
          <dd>The optional TLVs follow the PCEP TLV format
        of
    defined in <xref target="RFC5440"/>. target="RFC5440" format="default"/>. This document defines two optional
    TLVs. Other documents can define more TLVs in future.
    </t> the future.</dd>
        </dl>
        <section anchor="Global-association-src" title="Global numbered="true" toc="default">
          <name>Global Association Source TLV"> TLV</name>
          <t> The Global Association Source TLV is an optional TLV for use in the Association Object. ASSOCIATION object.
        The meaning and the usage of the Global Association Source is TLV are as per Section 4 of
<xref target="RFC6780"/>. target="RFC6780" sectionFormat="of" section="4"/>.
          </t>
          <figure anchor="Global-Association-Object-Fmt1" title="The anchor="Global-Association-Object-Fmt1">
            <name>The Global Association Source TLV  format">
     <artwork><![CDATA[ Format</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |         Type                  |            Length             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |              Global Association Source                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork>
          </figure>
    <t> Type: 30 (Early allocation by IANA). </t>
    <t> Length: Fixed
          <dl newline="false" spacing="normal">
            <dt>Type:</dt>
            <dd>30</dd>
            <dt>Length:</dt>
            <dd>Fixed value of 4 bytes. </t>
    <t> Global bytes.</dd>
            <dt>Global Association Source: as Source:</dt>
            <dd>As defined in Section 4 of
<xref target="RFC6780"/>. </t> target="RFC6780" sectionFormat="of" section="4"/>.</dd>
          </dl>
        </section>
        <section anchor="EXT-association" title="Extended numbered="true" toc="default">
          <name>Extended Association ID TLV"> TLV</name>
          <t> The Extended Association ID TLV is an optional TLV for use in
      the Association Object. ASSOCIATION object. The meaning and the usage of the
      Extended Association ID is TLV are as per Section 4 of
<xref target="RFC6780"/>. target="RFC6780" sectionFormat="of" section="4"/>.
          </t>
          <figure anchor="Ext-id-Object-Fmt1" title="The anchor="Ext-id-Object-Fmt1">
            <name>The Extended Association ID TLV  format">
     <artwork><![CDATA[ Format</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |         Type                  |            Length             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  //                Extended Association ID                      //
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork>
          </figure>
    <t> Type: 31 (Early allocation by IANA). </t>
    <t> Length: variable. </t>
    <t> Extended
          <dl newline="false" spacing="normal">
            <dt>Type:</dt>
            <dd>31</dd>
            <dt>Length:</dt>
            <dd>Variable.</dd>
            <dt>Extended Association ID: as ID:</dt>
            <dd>As defined in Section 4 of
<xref target="RFC6780"/>. </t> target="RFC6780" sectionFormat="of" section="4"/>.</dd>
          </dl>
        </section>
        <section title="Association Source" anchor="AssocSrc"> anchor="AssocSrc" numbered="true" toc="default">
          <name>Association Source</name>
          <t>The Association Source field in the ASSOCIATION object is
   set to a valid IP address to identify the node that originates originated the
   association. In the case of dynamic associations, the association source Association Source is
   usually set as the local PCEP speaker address, address unless local policy dictates
   otherwise, in which case association source the Association Source is set based on the local
    policy. In the case of PCE redundancy, local policy could set the source
    as a virtual IP address which that identifies all instances of the PCE. In the
    case of operator-configured association, Operator-configured Associations, the association source Association Source is
    manually configured configured, and it could be set as one of the PCEP speakers, Network Management System (NMS), an
    NMS, or any other valid IP address that scopes the association identifier Association ID for the association type.</t> Association Type.</t>
        </section>
        <section title="Unique anchor="id" numbered="true" toc="default">
          <name>Unique Identification for an Association Group" anchor="id"> Group</name>
          <t>The combination of the mandatory fields Association type, Type, Association ID
    ID, and Association Source in the ASSOCIATION object uniquely identify identifies
    the association group. If the optional TLVs - Global (Global Association Source or and
    Extended Association ID ID) are included, then they MUST <bcp14>MUST</bcp14> be included in
    combination with mandatory fields to uniquely identify the association
    group. In this document, all these fields are collectively called 'association parameters'.
    "association parameters". Note that the ASSOCIATION object MAY <bcp14>MAY</bcp14> include
    other optional TLVs (not defined in this document) based on the
    association types, that provides 'information'
    Association Types. These TLVs provide "information" related to the association type, this
    Association Type. This document uses the term 'association information' for it. </t> refers to this information as
    "association information".</t>
        </section>
      </section> <!-- Object Definition -->
      <section title="Relationship with numbered="true" toc="default">
        <name>Relationship to the RSVP ASSOCIATION"> ASSOCIATION Object</name>
        <t>The format of the PCEP ASSOCIATION Object object defined in this document
       is aligned with the RSVP ASSOCIATION object (<xref target="RFC6780"/>). <xref target="RFC6780" format="default"/>. Various Association types Types related to RSVP
       association are defined in <xref target="RFC4872"/>, target="RFC4872" format="default"/>, <xref target="RFC4873"/>, target="RFC4873" format="default"/>, and <xref target="RFC7551"/>. target="RFC7551" format="default"/>. The PCEP extensions
       that define new association types, Association Types should clarify how the PCEP
       associations would work with RSVP associations and vice-versa.</t> vice versa.</t>
      </section>
      <section anchor="Object-Encoding" title="Object numbered="true" toc="default">
        <name>Object Encoding in PCEP messages"> Messages</name>
        <t>Message formats in this document are expressed using Reduced Routing BNF
     (RBNF) as used in <xref target="RFC5440"/> target="RFC5440" format="default"/> and defined in <xref target="RFC5511"/>.</t> target="RFC5511" format="default"/>.</t>
        <section  title="Stateful numbered="true" toc="default">
          <name>Stateful PCEP messages">

    <t> The Messages</name>
          <t>The ASSOCIATION Object MAY object <bcp14>MAY</bcp14> be carried in the Path
    Computation Update (PCUpd), Path Computation Report (PCRpt) PCUpd, PCRpt, and
    Path Computation Initiate (PCInitiate) messages. </t>

    <t> When
          <t>When carried in a PCRpt message, it this object is used to report the
    association group membership pertaining to a an LSP to a stateful PCE.
    The PCRpt message are is used for both initial state synchronization State Synchronization operations (Section 5.6 of
    <xref target="RFC8231"/>)
    (<xref target="RFC8231" sectionFormat="of" section="5.6"/>), as well as whenever the
    state of the LSP changes. If the LSP belongs to an association group, then
    the associations MUST <bcp14>MUST</bcp14> be included during the state synchronization State Synchronization
    operations.</t>
          <t>The PCRpt message can also be used to remove an LSP from one or more
    association groups by setting the R flag to 1 in the ASSOCIATION
    object.</t>
          <t>When an LSP is first reported to the PCE, the PCRpt message MUST <bcp14>MUST</bcp14>
    include all the association groups that it belongs to. Any subsequent report
    PCRpt message SHOULD <bcp14>SHOULD</bcp14> include only the associations that are being
    modified or removed.</t>
          <t> The PCRpt message is defined in <xref target='RFC8231'></xref> target="RFC8231" format="default"/>
    and updated as shown below:</t>

    <figure>
    <artwork><![CDATA[
          <sourcecode type="rbnf"><![CDATA[
   <PCRpt Message> ::= <Common Header>
                       <state-report-list>
   Where:
]]></sourcecode>

   <t>Where:</t>
          <sourcecode type="rbnf"><![CDATA[
      <state-report-list> ::= <state-report>[<state-report-list>]

      <state-report> ::= [<SRP>]
                         <LSP>
                         [<association-list>]
                         <path>
    Where:
]]></sourcecode>

   <t>Where:</t>
          <sourcecode type="rbnf"><![CDATA[
      <path>::= <intended-path>
                [<actual-attribute-list><actual-path>]
                <intended-attribute-list>

      <association-list> ::= <ASSOCIATION> [<association-list>]
    ]]></artwork>
    </figure>
]]></sourcecode>
          <t> When an LSP is delegated to a stateful PCE, the stateful PCE can create
    a new association group for this LSP, LSP or associate it with one or more existing
    association groups. This is done by including the  ASSOCIATION Object object in a
    PCUpd message.  A stateful PCE can also remove a delegated
    LSP from one or more association groups by setting the R flag to 1 in the ASSOCIATION object.</t>
          <t>The PCUpd message SHOULD <bcp14>SHOULD</bcp14> include the association groups that are being modified or removed, there removed. There is no need to include associations that remains remain unchanged.</t>

    <t> The
          <t>The PCUpd message is defined in <xref target='RFC8231'></xref> target="RFC8231" format="default"/>
    and updated as shown below:</t>

    <figure>
       <artwork><![CDATA[

          <sourcecode type="rbnf"><![CDATA[
 <PCUpd Message> ::= <Common Header>
                     <update-request-list>
 Where:
]]></sourcecode>
 <t>Where:</t>
          <sourcecode type="rbnf"><![CDATA[
    <update-request-list> ::= <update-request>[<update-request-list>]

    <update-request> ::= <SRP>
                         <LSP>
                         [<association-list>]
                         <path>
 Where:
]]></sourcecode>
 <t>Where:</t>

          <sourcecode type="rbnf"><![CDATA[
    <path>::= <intended-path><intended-attribute-list>

    <association-list> ::= <ASSOCIATION> [<association-list>]
     ]]></artwork>
    </figure>
]]></sourcecode>
          <t>Unless a PCEP speaker wants to delete an association
    from an LSP or make changes to the association, it does not need to carry
    include the ASSOCIATION object in future stateful messages.</t>
          <t>A PCE initiating a new LSP can also include the association groups that this LSP belongs to. This is done by including the ASSOCIATION Object object in a
    PCInitiate message. The PCInitiate message MUST <bcp14>MUST</bcp14> include all the association groups that it belongs to.
    The PCInitiate message is defined in <xref target='RFC8281'></xref> target="RFC8281" format="default"/>
    and updated as shown below:
          </t>
    <figure>
      <artwork><![CDATA[
          <sourcecode type="rbnf"><![CDATA[
<PCInitiate Message> ::= <Common Header>
                         <PCE-initiated-lsp-list>
Where:
]]></sourcecode>

<t>Where:</t>
          <sourcecode type="rbnf"><![CDATA[
<PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request>
                             [<PCE-initiated-lsp-list>]

<PCE-initiated-lsp-request> ::= (<PCE-initiated-lsp-instantiation>|
                                <PCE-initiated-lsp-deletion>)

<PCE-initiated-lsp-instantiation> ::= <SRP>
                                      <LSP>
                                      [<END-POINTS>]
                                      <ERO>
                                      [<association-list>]
                                      [<attribute-list>]

Where:
]]></sourcecode>

<t>Where:</t>
          <sourcecode type="rbnf"><![CDATA[
<association-list> ::= <ASSOCIATION> [<association-list>]
    ]]></artwork>
    </figure>
]]></sourcecode>
        </section>
        <section  title="Request Message"> numbered="true" toc="default">
          <name>Request Message</name>
          <t>
    In the case of a passive (stateful or stateless) PCE, the ASSOCIATION Object
    object is OPTIONAL <bcp14>OPTIONAL</bcp14> and MAY <bcp14>MAY</bcp14> be carried in the Path Computation Request
   (PCReq) PCReq message.
          </t>
          <t>
    When carried in a PCReq message, the ASSOCIATION Object object is used to
    associate the path computation request to an association group. The
    association (and the other LSPs) should be known to the PCE
    beforehand. These could be operator-configured operator configured or dynamically learned before
    beforehand via stateful PCEP messages. The R flag in the ASSOCIATION
    object within a PCReq message
   MUST <bcp14>MUST</bcp14> be set to 0 while sending and ignored
    on receipt.
          </t>
          <t>
   The PCReq message is defined in <xref target="RFC5440"/> target="RFC5440" format="default"/> and updated in
   <xref target="RFC8231"/> , it target="RFC8231" format="default"/>. It is further updated below for
   association:
   association groups:
          </t>

    <figure>
      <artwork><![CDATA[

          <sourcecode type="rbnf"><![CDATA[
<PCReq Message>::= <Common Header>
                   [<svec-list>]
                   <request-list>

Where:
]]></sourcecode>
<t>Where:</t>
          <sourcecode type="rbnf"><![CDATA[
   <svec-list>::= <SVEC>[<svec-list>]
   <request-list>::= <request>[<request-list>]

   <request>::= <RP>
                <END-POINTS>
                [<LSP>]
                [<LSPA>]
                [<BANDWIDTH>]
                [<metric-list>]
                [<association-list>]
                [<RRO>[<BANDWIDTH>]]
                [<IRO>]
                [<LOAD-BALANCING>]

Where:
]]></sourcecode>
<t>Where:</t>
          <sourcecode type="rbnf"><![CDATA[
   <association-list> ::= <ASSOCIATION> [<association-list>]
    ]]></artwork>
    </figure>
]]></sourcecode>

          <t>
   Note that the LSP object MAY <bcp14>MAY</bcp14> be present for the passive stateful
   PCE mode.
          </t>
        </section>
        <section  title="Reply Message"> numbered="true" toc="default">
          <name>Reply Message</name>
          <t>
    In the case of a passive (stateful or stateless) PCE, the ASSOCIATION Object
    object is OPTIONAL <bcp14>OPTIONAL</bcp14> and MAY <bcp14>MAY</bcp14> be carried in the Path Computation Reply
   (PCRep) PCRep message with the
    NO-PATH object. The ASSOCIATION object in the PCRep message indicates the
    association group that cause caused the PCE to fail to find a path.
          </t>
          <t>
   The PCRep message is defined in <xref target="RFC5440"/> target="RFC5440" format="default"/> and updated in
   <xref target="RFC8231"/> , it target="RFC8231" format="default"/>. It is further updated below for
   association: association groups:
          </t>

    <figure>
      <artwork><![CDATA[
          <sourcecode type="rbnf"><![CDATA[
<PCRep Message> ::= <Common Header>
                    <response-list>
Where:
]]></sourcecode>
<t>Where:</t>
          <sourcecode type="rbnf"><![CDATA[
   <response-list>::=<response>[<response-list>]

   <response>::=<RP>
                [<LSP>]
                [<NO-PATH>]
                [<association-list>]
                [<attribute-list>]
                [<path-list>]

Where:
]]></sourcecode>
<t>Where:</t>
          <sourcecode type="rbnf"><![CDATA[
   <association-list> ::= <ASSOCIATION> [<association-list>]
    ]]></artwork>
    </figure>
]]></sourcecode>
          <t>
   Note that the LSP object MAY <bcp14>MAY</bcp14> be present for the passive stateful
   PCE mode.
          </t>
        </section>
      </section> <!-- Object Encoding -->
      <section anchor="Rules" title="Processing Rules"> numbered="true" toc="default">
        <name>Processing Rules</name>
        <t>
    Association groups can be operator-configured operator configured on the necessary PCEP speakers
    speakers, and the PCEP speakers can join the existing association groups.
    In addition, a PCC or a PCE can create association groups dynamically dynamically, and
    the PCEP speaker can also report the associations to its peer via PCEP
    messages. The operator-configured associations Operator-configured Associations are created via
    configurations (where all association parameters are manually set) and
    exist until explicitly removed via configurations. The PCEP speaker can
    add LSPs to these configured associations and carry provide this information
    via stateful PCEP messages. The dynamic associations are created
    dynamically by the PCEP speaker (where all association parameters are
    populated dynamically). The association group is attached to the LSP
    state, and the association group exists till until there is at least one LSP as
    part of the association. As described in <xref target="id"/>, target="id" format="default"/>, the
    association parameters are the combination of Association type, Type,
    Association ID ID, and Association Source Source, as well as the optional global source Global
    Association Source and extended association identifier, that Extended Association ID TLVs; this combination
    uniquely identifies an association group. The information
    related to the association types Association Types encoded via the TLVs of a particular association type
    Association Type (not described in this document) are is the association
    information (<xref target="id"/>).</t>

    <!--But a PCE peer cannot add new members for association group created by
    another peer.--> target="id" format="default"/>).</t>

        <t>If a PCEP speaker does not recognize the ASSOCIATION object in the
    stateful message, it will return a PCErr message with Error-Type  "Unknown
    Object" as described in <xref target="RFC5440"/>. target="RFC5440" format="default"/>. In the case of a PCReq
    message, the PCE would react based on the P flag as per <xref target="RFC5440"/>. target="RFC5440" format="default"/>. If a PCEP speaker understands the ASSOCIATION object
    but does not support the Association type, Type, it MUST <bcp14>MUST</bcp14> return a PCErr message
    with Error-Type 26 (Early allocation by IANA) "Association Error" and Error-Value
    Error-value 1 "Association type Type is not supported". If any association
    parameters are invalid in the ASSOCIATION object, the PCEP speaker would
    consider this as malformed object malformed and handle process it as a malformed message <xref target="RFC5440"/>. target="RFC5440" format="default"/>. On receiving a PCEP message with ASSOCIATION, an ASSOCIATION
    object, if a PCEP speaker finds that too many LSPs belong to the
    association group, it MUST <bcp14>MUST</bcp14> return a PCErr message with Error-Type 26 (Early allocation by IANA)
     "Association Error" and Error-Value Error-value 2 "Too
    many LSPs in the association group". If a PCEP speaker cannot handle a new
    association, it MUST <bcp14>MUST</bcp14> return a PCErr message with Error-Type 26 (Early allocation by IANA)
     "Association Error" and Error-Value Error-value 3 "Too many
    association groups". These numbers MAY <bcp14>MAY</bcp14> be set by the operator or decided chosen
    based on a local policy. </t>
        <t>If a PCE peer is unwilling or unable to process the ASSOCIATION object
    in the stateful message, it MUST <bcp14>MUST</bcp14> return a PCErr message with the
    Error-Type "Not supported object" and follow the relevant procedures
    described in <xref target="RFC5440"/>. target="RFC5440" format="default"/>. In the case of a PCReq message, the
    PCE would react based on the P flag as per <xref target="RFC5440"/>. target="RFC5440" format="default"/>. On
    receiving a PCEP message with ASSOCIATION, an ASSOCIATION object, if a PCEP speaker
    could not add the LSP to the association group for any reason, it MUST <bcp14>MUST</bcp14>
    return a PCErr message with Error-Type 26 (Early allocation by IANA)
    "Association Error" and Error-Value Error-value 7 "Cannot join the association
    group".</t>
        <t>If a PCEP speaker receives an ASSOCIATION object for an operator-configured association Operator-configured Association
      and the association identifier Association ID is not in the operator-configured association range Operator-configured Association Range
      for the Association type Type and Association Source, it MUST <bcp14>MUST</bcp14> return a PCErr message with Error-Type 26 (Early allocation by IANA)
      "Association Error" and Error-Value Error-value 8 "Association identifier ID not in range".
        </t>
        <t>If a PCEP speaker receives an ASSOCIATION object in a PCReq message, message
      and the association is not known (association (the association is not configured, or
      was not created dynamically, or was not learned from a PCEP peer), it MUST <bcp14>MUST</bcp14> return a
      PCErr message with Error-Type 26 (Early allocation by IANA) "Association
      Error" and Error-Value Error-value 4 "Association unknown".</t>
        <t>If the association information (related to the association group as a
    whole) received from the peer does not match with the local operator-configured
    information, it MUST <bcp14>MUST</bcp14> return a PCErr message with Error-Type 26 (Early allocation by IANA) "Association Error" and Error-Value Error-value 5
    "Operator-configured association information mismatch". On receiving
    association information (related to the association group as a whole) that
    does not match with the association information previously received about the
    same association from a peer, it MUST <bcp14>MUST</bcp14> return a PCErr message with
    Error-Type 26 (Early allocation by IANA) "Association Error" and Error-Value
    Error-value 6 "Association information mismatch". Note that information
    related to each LSP within the association as part of the association
    information TLVs could be different.
        </t>
        <t>If a PCEP speaker receives an ASSOCIATION object with the R bit set for removal,
    removal and the association group (identified by association parameters)
    is not known, it MUST <bcp14>MUST</bcp14> return a PCErr message with Error-Type 26 (Early allocation by IANA)
     "Association Error" and Error-Value Error-value 4
    "Association unknown". </t> unknown".</t>
        <t>The dynamic associations are cleared along with the LSP state
    information as per the <xref target='RFC8231'></xref>. target="RFC8231" format="default"/>. When a PCEP session is
    terminated, after expiry of the State Timeout Interval at the PCC, the LSP
    state associated with that PCEP session is reverted to operator-defined
    default parameters or behaviours. Same behaviors. The same procedure is also followed for
    the association groups. On session termination at the PCE, when the LSP
    state reported by the PCC is cleared, the association groups are also
    cleared. When there are no LSPs in an association group, the association
    is considered to be empty and thus deleted. </t>

      <t>In case the LSP is delegated to another PCE on session failure,
      the associations (and association information) set by the PCE remains intact, unless updated by the new PCE that takes over. </t>

    <!--<t>
      The association timeout interval is as a PCC-local value that can be
      operator-configured or computed by the PCC based on local policy and is used in the context
      of cleaning up associations on session failure. The associatioThe association timeout
      must be set to a value no larger than the state timeout interval (defined in
         <xref target='RFC8231'></xref>) and larger than the delegation
          timeout interval (defined in
         <xref target='RFC8231'></xref>.
    </t>

     <t>
       When a PCC's PCEP session with the PCE terminates unexpectedly, the PCC MUST
       wait for the association timeout interval before cleaning up the association.
       If this PCEP session can be re-established before the association timeout
       interval time expires, no action is taken to clean the association created by
      this PCE. During the time window of the redelegation timeout interval and
      the association timeout interval, the PCE, after re-establishing the session,
      can also ask for redelegation following the procedure
      defined in <xref target='RFC8231'></xref>  and
      <xref target='RFC8281'></xref>.
      When thus deleted.</t>
        <t>If the LSP is delegated to another PCE on session failure,
    the associations (and association timeout interval timers expires, information) set by the PCC clears all PCE remain
    intact, unless updated by the associations which are not delegated to any PCEs.
     </t>--> new PCE that takes over. </t>
        <t>Upon LSP delegation revocation, the PCC MAY <bcp14>MAY</bcp14> clear the association
    created by the PCE, but in order to avoid traffic loss, it SHOULD <bcp14>SHOULD</bcp14>
    perform this action in a make-before-break fashion (same as <xref target='RFC8231'/>).</t>

     <!--<t>Error handling for situations for multiple PCE scenarios will be included in
     future versions of this draft.
     </t>--> target="RFC8231" format="default"/>).</t>
      </section> <!-- Rules  -->
    </section> <!-- Association Object -->
    <section anchor="IANA-considerations" title="IANA Considerations"> numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA maintains the "Path Computation Element Protocol (PCEP) Numbers"
    registry at &lt;http://www.iana.org/assignments/pcep&gt;.</t> <eref brackets="angle" target="https://www.iana.org/assignments/pcep"/>.</t>
      <section title="PCEP Object"> numbered="true" toc="default">
        <name>PCEP Object</name>
        <t>The "PCEP "Path Computation Element Protocol (PCEP) Numbers" registry
        contains a subregistry called "PCEP Objects". IANA is requested to confirm the early allocation of has allocated the
        following code point in the PCEP Objects "PCEP Objects" registry.
        </t>
        <texttable anchor="Object-Code-Points" style="none" suppress-title="true">
          <ttcol align="center">Object-Class Value &nbsp;</ttcol>
          <ttcol align="left" width='50%'>Name </ttcol>
          <ttcol align="left">Reference </ttcol>
          <c></c><c>&nbsp;&nbsp;&nbsp;&nbsp;</c><c></c>
          <c>40 (Early allocation by IANA)</c><c>Association</c><c>[This.I-D]</c>
          <c></c><c>Object-Type</c><c></c>
          <c></c><c>&nbsp;&nbsp;&nbsp;&nbsp;0: Reserved </c><c></c>
          <c></c><c>&nbsp;&nbsp;&nbsp;&nbsp;1: IPv4 </c><c></c>
          <c></c><c>&nbsp;&nbsp;&nbsp;&nbsp;2: IPv6 </c><c></c>
        </texttable>

<table anchor="tab-1">
  <name>PCEP Object</name>
  <thead>
    <tr>
      <th>Object-Class Value</th>
      <th>Name</th>
      <th>Object-Type</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td rowspan="3">40</td>
      <td rowspan="3">ASSOCIATION</td>
      <td>0: Reserved</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>1: IPv4</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>2: IPv6</td>
      <td>RFC 8697</td>
    </tr>
  </tbody>
</table>

      </section>
      <section title="PCEP TLV"> numbered="true" toc="default">
        <name>PCEP TLV</name>
        <t>IANA is requested to confirm the early allocation of has allocated the following
   code point points in the "PCEP TLV Type Indicators" registry.
        </t>

        <texttable anchor="new-association-TLV-CP" style="none" suppress-title="true">
          <ttcol align="center" width='20%'>Value</ttcol>
          <ttcol align="left" width='40%'>Meaning </ttcol>
          <ttcol align="left" width='40%'>Reference </ttcol>
          <c>29 (Early allocation by IANA)</c><c>&nbsp;Operator-configured Association Range</c><c>[This.I-D]</c>
          <c>30 (Early allocation by IANA)</c><c>&nbsp;Global Association Source</c><c>[This.I-D]</c>
          <c>31 (Early allocation by IANA)</c><c>&nbsp;Extended Association ID</c><c>[This.I-D]</c>
        </texttable>

<table anchor="tab-2">
  <name>PCEP TLV Type Indicators</name>
  <thead>
    <tr>
      <th>Value</th>
      <th>Meaning</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>29</td>
      <td>Operator-configured Association Range</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>30</td>
      <td>Global Association Source</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>31</td>
      <td>Extended Association ID</td>
      <td>RFC 8697</td>
    </tr>
  </tbody>
</table>
        <t>IANA is requested to fix has corrected the capitalization in the meaning for value 31 in the above registry
   to 'Extended "Extended Association ID', ID"; it is currently mentioned was previously listed as 'Extended "Extended
   Association Id'.</t> Id".</t>
        <t>IANA is also requested to make has made a new assignment for in
   the existing "PCEP TLV Type Indicators" registry as follows:
        </t>

        <texttable anchor="new-association-TLV-CP-2" style="none" suppress-title="true">
          <ttcol align="center" width='20%'>Value</ttcol>
          <ttcol align="left" width='40%'>Meaning </ttcol>
          <ttcol align="left" width='40%'>Reference </ttcol>
          <c>TBD</c><c>&nbsp;ASSOC-Type-List</c><c>[This.I-D]</c>
        </texttable>
<table anchor="tab-3">
  <name>ASSOC-Type-List PCEP TLV Type Indicator</name>
  <thead>
    <tr>
      <th>Value</th>
      <th>Meaning</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>35</td>
      <td>ASSOC-Type-List</td>
      <td>RFC 8697</td>
    </tr>
  </tbody>
</table>
      </section>
      <section title="Association Flags">
        <t>This document requests numbered="true" toc="default">
        <name>Association Flags</name>

        <t>Per this document, IANA to create has created a subregistry of the "PCEP
    "Path Computation Element Protocol (PCEP) Numbers" registry
    for the bits carried in the Flags field of the ASSOCIATION object.
    The subregistry is called "ASSOCIATION Flags Flag Field". New values are
    assigned by Standards Action <xref target="RFC8126"/>. target="RFC8126" format="default"/>.  Each bit should be is
    tracked with the following qualities:
   <list style="symbols">
   <t>Bit

        </t>
        <ul spacing="normal">
          <li>Bit number (counting from bit 0 as the most significant bit)</t>
   <t>Capability description</t>
   <t>Defining RFC</t>
 </list></t>

         <texttable anchor="Association-Flags" style="none" suppress-title="true">
          <ttcol align="left" width='10%'>Bit</ttcol>
          <ttcol align="left" width='50%'>Description </ttcol>
          <ttcol align="left" width='40%'>Reference </ttcol>
          <c></c><c>&nbsp;&nbsp;&nbsp;&nbsp;</c><c></c>
          <c>15</c><c>R (Removal)</c><c>[This.I-D]</c>
        </texttable> bit)</li>
          <li>Capability description</li>
          <li>Defining RFC</li>
        </ul>
<table anchor="tab-4">
  <name>New ASSOCIATION Flag Field</name>
  <thead>
    <tr>
      <th>Bit</th>
      <th>Description</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>15</td>
      <td>R (Removal)</td>
      <td>RFC 8697</td>
    </tr>
  </tbody>
</table>
      </section>
      <section title="Association Type" anchor="iana_assoc_type">
          <t>This document requests anchor="iana_assoc_type" numbered="true" toc="default">
        <name>Association Type</name>
        <t>Per this document, IANA to create has created a subregistry of the "PCEP
        "Path Computation Element Protocol (PCEP) Numbers" registry for
        the Association Type field of the the ASSOCIATION object.
        The subregistry is called "ASSOCIATION Type Field". New values are
            to be
        assigned by Standards Action <xref target="RFC8126"/>. target="RFC8126" format="default"/>.  Each
        value should be is tracked with the following qualities:
            <list style="symbols">
            <t>Type</t>
            <t>Name</t>
            <t>Reference</t>
          </list></t>
            <t>There

        </t>
        <ul spacing="normal">
          <li>Type</li>
          <li>Name</li>
          <li>Reference</li>
        </ul>

<table anchor="tab-5">
  <name>New ASSOCIATION Type Field</name>
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>0</td>
      <td>Reserved</td>
      <td>RFC 8697</td>
    </tr>
  </tbody>
</table>

        <t>
 Values 2-65535 are no association types specified in this document, future Unassigned. Future
          documents should request the assignment of association types Association Types from
          this subregistry.</t>
      </section>
      <section title="PCEP-Error Object"
               toc="default"> toc="default" numbered="true">
        <name>PCEP-Error Object</name>
        <t>IANA is requested to confirm the early allocation of has allocated the following
        code points within the "PCEP-ERROR Object Error Types and Values" sub-registry
        subregistry of the
   "PCEP "Path Computation Element Protocol (PCEP) Numbers" registry,
        registry as follows:</t>
        <figure title=""
                suppress-title="true"
                align="left"
                alt=""
                width=""
                height="">
          <artwork xml:space="preserve"
         name=""
         type=""
         align="left"
         alt=""
         width=""
         height="">
<![CDATA[
    Error-Type  Meaning
       26       Association Error [This.I-D]
    (early      Error-value=0:
    alloc by       Unassigned
    IANA)       Error-value=1:

<table anchor="tab-6">
  <name>PCEP-ERROR Types and Names</name>
  <thead>
    <tr>
      <th>Error-Type</th>
      <th>Meaning</th>
      <th>Error-value</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td rowspan="9">26</td>
      <td rowspan="9">Association Error</td>
      <td>0: Unassigned</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>1: Association type Type is not supported
                Error-value=2: supported</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>2: Too many LSPs in the association group
                Error-value=3: group</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>3: Too many association groups
                Error-value=4:
                  Association unknown
                Error-value=5: groups</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>4: Association unknown</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>5: Operator-configured association information mismatch
                Error-value=6: mismatch</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>6: Association information mismatch
                Error-value=7: mismatch</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>7: Cannot join the association group
                Error-value=8: group</td>
      <td>RFC 8697</td>
    </tr>
    <tr>
      <td>8: Association identifier ID not in range
    ]]>

</artwork>
        </figure> range</td>
      <td>RFC 8697</td>
    </tr>
  </tbody>
</table>

      </section>
    </section> <!-- IANA -->
    <section anchor="Security" title="Security Considerations"> numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The security considerations described in <xref target='RFC8231'></xref> target="RFC8231" format="default"/> and <xref target='RFC5440'/> target="RFC5440" format="default"/> apply to the
   extensions described in this document as well.  Additional considerations
   related to a malicious PCEP speaker are introduced, as associations could
   be spoofed and could be used as an
   attack vector. An attacker could attempt to create too many associations in
   an attempt to load the PCEP peer. The PCEP peer responds with a PCErr
   message as described in <xref target="Rules"/>. target="Rules" format="default"/>. An attacker could impact
   LSP operations by creating bogus associations. Further, association groups
   could provides provide an adversary with the opportunity to eavesdrop on the
   relationship between the LSPs.
   Thus Thus, securing the PCEP session using
   Transport Layer Security (TLS) <xref target="RFC8253"/>, target="RFC8253" format="default"/>, as per the
   recommendations and best current practices in <xref target="RFC7525"/>, target="RFC7525" format="default"/>, is RECOMMENDED.
   <bcp14>RECOMMENDED</bcp14>.

      </t>
      <t>Much of the information carried in the ASSOCIATION object, object as per this
  document is not extra sensitive. It often reflects information that can
  also be derived from the LSP Database, database, but the association provides a much
  easier grouping of related LSPs and messages. Implementations and operator can operators
  can, and should should, use indirect values in the ASSOCIATION object as a way to
  hide any sensitive business relationships.</t>
    </section>
    <section title="Manageability Considerations" toc="default"> toc="default" numbered="true">
      <name>Manageability Considerations</name>
      <t>
  All manageability requirements and considerations listed in <xref target="RFC5440" pageno="false" format="default" /> format="default"/> and <xref target="RFC8231" pageno="false" format="default" /> format="default"/> apply to PCEP protocol
  extensions defined in this document. In addition, requirements and
  considerations listed in this section apply.
      </t>
      <section title="Control toc="default" numbered="true">
        <name>Control of Function and Policy" toc="default"> Policy</name>
        <t>
  A PCE or PCC implementation MUST <bcp14>MUST</bcp14> allow operator-configured associations Operator-configured Associations and SHOULD
  <bcp14>SHOULD</bcp14> allow the setting of the operator-configured association range Operator-configured Association Range (<xref target="Range"/>) target="Range" format="default"/>) as described in this document.
        </t>
      </section>
      <section title="Information toc="default" numbered="true">
        <name>Information and Data Models" toc="default"> Models</name>
        <t>The PCEP YANG module is defined in <xref target="I-D.ietf-pce-pcep-yang"/>. target="PCEP-YANG" format="default"/>. In the
   future, this YANG module should be extended or augmented to provide
   the following additional information relating related to association groups.</t>
        <t>An implementation SHOULD <bcp14>SHOULD</bcp14> allow the operator to view the associations
  configured or created dynamically. Further implementation SHOULD Future implementations <bcp14>SHOULD</bcp14> allow to view
  the viewing of associations reported by each peer, peer and the current set of
  LSPs in the association.</t>
        <t>It might also be useful to find out how many associations for each association type
  Association Type currently exist and to know how many free association identifiers Association IDs are available for a particular association type Association Type and source.</t>
      </section>
      <section title="Liveness toc="default" numbered="true">
        <name>Liveness Detection and Monitoring" toc="default"> Monitoring</name>
        <t>
  Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in <xref target="RFC5440" pageno="false" format="default" />. format="default"/>.
        </t>
      </section>
      <section title="Verify toc="default" numbered="true">
        <name>Verifying Correct Operations" toc="default"> Operation</name>
        <t>
  Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in <xref target="RFC5440" pageno="false" format="default" /> format="default"/>
  and <xref target="RFC8231" pageno="false" format="default" />. format="default"/>.
        </t>
      </section>
      <section title="Requirements toc="default" numbered="true">
        <name>Requirements on Other Protocols" toc="default"> Protocols</name>
        <t>Mechanisms defined in this document do not imply any new requirements on other protocols.</t>
      </section>
      <section title="Impact toc="default" numbered="true">
        <name>Impact on Network Operations" toc="default"> Operations</name>
        <t>
  Mechanisms defined in <xref target="RFC5440" pageno="false" format="default" /> format="default"/>
  and
  <xref target="RFC8231" pageno="false" format="default" /> format="default"/> also apply to PCEP extensions defined in this document. </t>
      </section>
    </section>
   <section anchor="Acknowledgments" title="Acknowledgments">
     <t>We would like to thank Yuji Kamite and Joshua George for
     their contributions to this document. Also thanks to Venugopal Reddy,
     Cyril Margaria, Rakesh Gandhi, Mike Koldychev, and Adrian Farrel for their useful comments.</t>
     <t>We would like to thank Julien Meuric for shepherding this
   document and providing comments with text suggestions.</t>
   <t>Thanks to Stig Venaas for the RTGDIR review comments.</t>
   <t>Thanks to Alvaro Retana, Mirja Kuhlewind, Martin Vigoureux, Barry Leiba, Eric Vyncke, Suresh Krishnan, and Benjamin Kaduk for the IESG comments.</t>

    </section>

   <section anchor="Contributor" title="Contributors">

   <figure><artwork>
Stephane Litkowski
Orange

Email: stephane.litkowski@orange.com

Xian Zhang
Huawei Technologies
F3-1-B RnD Center, Huawei Base
Bantian, Longgang District
Shenzhen 518129
China

Email: zhang.xian@huawei.com

Mustapha Aissaoui
Nokia

Email: mustapha.aissaoui@nokia.com

</artwork></figure>
    </section><!-- Contributor -->
  </middle>
  <back>
    <references title="Normative References">
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5440.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5511.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6780.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7525.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8051.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8126.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8231.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8281.xml"?>

<displayreference target="I-D.ietf-pce-stateful-path-protection" to="PCE-PROTECTION"/>
<displayreference target="I-D.ietf-pce-association-diversity" to="PCE-DIVERSITY"/>

    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5511.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6780.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7525.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8051.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml"/>
      </references>

      <references>
        <name>Informative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4657.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4872.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4873.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6007.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7551.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8253.xml"/>

<!-- draft-ietf-pce-pcep-yang (I-D Exists) -->
<reference anchor='PCEP-YANG'>
<front>
<title>A YANG Data Model for Path Computation Element Communications Protocol (PCEP)</title>
<author initials='D' surname='Dhody' fullname='Dhruv Dhody' role="editor">
    <organization />
</author>
<author initials='J' surname='Hardwick' fullname='Jonathan Hardwick'>
    <organization />
</author>
<author initials='V' surname='Beeram' fullname='Vishnu Beeram'>
    <organization />
</author>
<author initials='J' surname='Tantsura' fullname='Jeff Tantsura'>
    <organization />
</author>
<date month='October' day='31' year='2019' />
</front>
<seriesInfo name='Internet-Draft' value='draft-ietf-pce-pcep-yang-13' />
</reference>

<!-- draft-ietf-pce-stateful-path-protection (RFC-EDITOR*R since 2020-01-10 -->
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce-stateful-path-protection.xml"/>

<!-- draft-ietf-pce-association-diversity (IESG Eval::AD Followup) -->
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce-association-diversity.xml"/>

      </references>

   <references title="Informative References">
     <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4657.xml"?>
     <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4872.xml"?>
     <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4873.xml"?>
     <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6007.xml"?>
     <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7551.xml"?>

     <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8253.xml"?>

     <?rfc include="reference.I-D.ietf-pce-pcep-yang.xml"?>
     <?rfc include="reference.I-D.ietf-pce-stateful-path-protection.xml"?>
     <?rfc include="reference.I-D.ietf-pce-association-diversity.xml"?>
    </references>
    <section title="Example for Operator-configured anchor="ex" numbered="true" toc="default">
      <name>Example of an Operator-Configured Association Range" anchor="ex"> Range</name>
      <t>Consider an association type Association Type T1 (which allows both dynamic and operator-configured association
    Operator-configured Associations with a default range of
    &lt;0x1000, 0xffff&gt;). Consider that, because of need the needs of the
    network, the PCE needs to create more dynamic associations and would like
    to change the association range Association Range to &lt;0xbffe, 0xffff&gt; instead. During
    PCEP session establishment establishment, the PCE would advertise the new range, the range. The PCC
    could skip advertising advertising, as the default values are used. If a PCC is
    creating a dynamic association (with the PCC as association source) the Association Source),
    it needs to pick a free association identifier Association ID for type T1 in the range of
    &lt;0x1, 0x0fff&gt; 0x0fff&gt;, whereas if a PCE is creating a dynamic association
    (with the PCE as association source) the Association Source), it needs to pick a free association identifier
    Association ID from the range &lt;0x1, 0xbffd&gt;. Similarly Similarly, if
    an operator-configured association Operator-configured Association is manually configured with the PCC as association source,
    the Association Source, it should be from the range &lt;0x1000, 0xffff&gt;
    0xffff&gt;, whereas if the PCE is association source, the Association Source, it should be
    from the range &lt;0xbffe, 0xffff&gt;. In case If the association source Association Source is
    not a PCEP peer (for example example, an NMS system), NMS), then the default range of
    &lt;0x1000, 0xffff&gt; is considered.</t>
    </section>
    <section anchor="Acknowledgments" numbered="false" toc="default">
      <name>Acknowledgments</name>
      <t>We would like to thank <contact fullname="Yuji Kamite"/> and <contact
      fullname="Joshua George"/> for
     their contributions to this document. Thanks also to <contact fullname="Venugopal Reddy"/>,
     <contact fullname="Cyril Margaria"/>, <contact fullname="Rakesh
     Gandhi"/>, <contact fullname="Mike Koldychev"/>, and <contact fullname="Adrian Farrel"/> for their useful comments.</t>
      <t>We would like to thank <contact fullname="Julien Meuric"/> for shepherding this
   document and providing comments with text suggestions.</t>
      <t>Thanks to <contact fullname="Stig Venaas"/> for the RTGDIR review comments.</t>
      <t>Thanks to <contact fullname="Alvaro Retana"/>, <contact
      fullname="Mirja Kühlewind"/>, <contact fullname="Martin Vigoureux"/>,
      <contact fullname="Barry Leiba"/>, <contact fullname="Eric Vyncke"/>,
      <contact fullname="Suresh Krishnan"/>, and <contact fullname="Benjamin Kaduk"/> for the IESG comments.</t>
    </section>
    <section anchor="Contributors" numbered="false" toc="default">
      <name>Contributors</name>

<contact fullname="Stephane Litkowski">
<organization>Orange</organization>
<address>
<postal>
</postal>
<email>stephane.litkowski@orange.com</email>
</address>
</contact>

<contact fullname="Xian Zhang">
<organization>Huawei Technologies</organization>
<address>
<postal>
<extaddr>F3-1-B RnD Center, Huawei Base</extaddr>
<street>Bantian, Longgang District</street>
<region>Shenzhen</region>
<code>518129</code>
<country>China</country>
</postal>
<email>zhang.xian@huawei.com</email>
</address>
</contact>

<contact fullname="Mustapha Aissaoui">
<organization>Nokia</organization>
<address>
<postal>
</postal>
<email>mustapha.aissaoui@nokia.com</email>
</address>
</contact>
    </section>
  </back>
</rfc>