summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8697.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc8697.txt')
-rw-r--r--doc/rfc/rfc8697.txt1414
1 files changed, 1414 insertions, 0 deletions
diff --git a/doc/rfc/rfc8697.txt b/doc/rfc/rfc8697.txt
new file mode 100644
index 0000000..fde0e5e
--- /dev/null
+++ b/doc/rfc/rfc8697.txt
@@ -0,0 +1,1414 @@
+
+
+
+
+Internet Engineering Task Force (IETF) I. Minei
+Request for Comments: 8697 Google, Inc.
+Category: Standards Track E. Crabbe
+ISSN: 2070-1721 Individual Contributor
+ S. Sivabalan
+ Cisco Systems, Inc.
+ H. Ananthakrishnan
+ Netflix
+ D. Dhody
+ Huawei
+ Y. Tanaka
+ NTT Communications Corporation
+ January 2020
+
+
+ Path Computation Element Communication Protocol (PCEP) Extensions for
+ Establishing Relationships between Sets of Label Switched Paths (LSPs)
+
+Abstract
+
+ This document introduces a generic mechanism to create a grouping of
+ Label Switched Paths (LSPs) in the context of a Path Computation
+ Element (PCE). This grouping can then be used to define associations
+ between sets of LSPs or between a set of LSPs and a set of attributes
+ (such as configuration parameters or behaviors), and it is equally
+ applicable to the stateful PCE (active and passive modes) and the
+ stateless PCE.
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc8697.
+
+Copyright Notice
+
+ Copyright (c) 2020 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 1.1. Requirements Language
+ 2. Terminology
+ 3. Architectural Overview
+ 3.1. Motivations
+ 3.2. Relationship to the SVEC List
+ 3.3. Operational Overview
+ 3.4. Operator-Configured Association Range
+ 4. Discovery of Supported Association Types
+ 4.1. ASSOC-Type-List TLV
+ 4.1.1. Procedure
+ 5. Operator-Configured Association Range TLV
+ 5.1. Procedure
+ 6. ASSOCIATION Object
+ 6.1. Object Definition
+ 6.1.1. Global Association Source TLV
+ 6.1.2. Extended Association ID TLV
+ 6.1.3. Association Source
+ 6.1.4. Unique Identification for an Association Group
+ 6.2. Relationship to the RSVP ASSOCIATION Object
+ 6.3. Object Encoding in PCEP Messages
+ 6.3.1. Stateful PCEP Messages
+ 6.3.2. Request Message
+ 6.3.3. Reply Message
+ 6.4. Processing Rules
+ 7. IANA Considerations
+ 7.1. PCEP Object
+ 7.2. PCEP TLV
+ 7.3. Association Flags
+ 7.4. Association Type
+ 7.5. PCEP-Error Object
+ 8. Security Considerations
+ 9. Manageability Considerations
+ 9.1. Control of Function and Policy
+ 9.2. Information and Data Models
+ 9.3. Liveness Detection and Monitoring
+ 9.4. Verifying Correct Operation
+ 9.5. Requirements on Other Protocols
+ 9.6. Impact on Network Operations
+ 10. References
+ 10.1. Normative References
+ 10.2. Informative References
+ Appendix A. Example of an Operator-Configured Association Range
+ Acknowledgments
+ Contributors
+ Authors' Addresses
+
+1. Introduction
+
+ [RFC5440] describes the Path Computation Element (PCE) Communication
+ Protocol (PCEP). PCEP enables 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.
+
+ [RFC8231] specifies a set of extensions to PCEP to enable stateful
+ control of TE LSPs within and across PCEP sessions in compliance with
+ [RFC4657]. 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
+ whereby LSPs are initiated from the PCE is described in [RFC8281].
+
+ [RFC4872] defines the RSVP ASSOCIATION object, which was defined in
+ the context of GMPLS-controlled 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. [RFC6780]
+ describes how the ASSOCIATION object can be more generally applied by
+ defining the Extended ASSOCIATION object.
+
+ 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 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 they could be configured
+ manually by an operator on the PCEP peers. Refer to Section 3.3 for
+ more details.
+
+1.1. Requirements Language
+
+ 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 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+2. Terminology
+
+ This document uses the following terms defined in [RFC5440]:
+
+ * PCC
+
+ * PCE
+
+ * PCEP Peer
+
+ * Path Computation Request (PCReq)
+
+ * Path Computation Reply (PCRep)
+
+ * PCEP Error (PCErr)
+
+ This document uses the following terms defined in [RFC8051]:
+
+ * Stateful PCE
+
+ * Active Stateful PCE
+
+ * Passive Stateful PCE
+
+ * Delegation
+
+ This document uses the following terms defined in [RFC8231]:
+
+ * LSP State Report (PCRpt)
+
+ * LSP Update Request (PCUpd)
+
+ * State Timeout Interval
+
+ This document uses the following terms defined in [RFC8281]:
+
+ * PCE-initiated LSP
+
+ * LSP Initiate Request (PCInitiate)
+
+3. Architectural Overview
+
+3.1. Motivations
+
+ A 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. For example, to support PCE-
+ controlled make-before-break, an association between the original
+ path and the reoptimized path is desired. Similarly, for end-to-end
+ protection, an association between working and protection LSPs is
+ required (see [PCE-PROTECTION]). For diverse paths, an association
+ between a group of LSPs could be used (see [PCE-DIVERSITY]). Another
+ use for an LSP grouping would be to apply a common set of
+ configuration parameters or behaviors to a set of LSPs.
+
+ For a stateless PCE, it might be useful to associate a PCReq message
+ to an association group, thus enabling it to associate a common set
+ of policies, configuration parameters, or behaviors with the request.
+
+ 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 where the LSP could join an
+ operator-configured existing association.
+
+ Rather than creating separate mechanisms for each use case, this
+ document defines a generic mechanism that can be reused as needed.
+
+3.2. Relationship to the SVEC List
+
+ Note that [RFC5440] defines a mechanism for the synchronization of a
+ set of PCReq messages by using the SVEC (Synchronization VECtor)
+ object, which specifies the list of synchronized requests that can be
+ either dependent or independent. The SVEC object identifies the
+ relationship between the set of PCReq messages, identified by
+ "Request-ID-number" in the RP (Request Parameters) object. [RFC6007]
+ further clarifies the use of the SVEC list for synchronized path
+ computations when computing dependent requests, and it describes a
+ number of usage scenarios for SVEC lists within single-domain and
+ multi-domain environments.
+
+ The 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 should
+ clarify the relationship between the SVEC object and the Association
+ Type, if any.
+
+3.3. Operational Overview
+
+ 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 headend or different headends.
+
+ Some associations could be created dynamically by a PCEP 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 in question, a PCEP speaker could then
+ ask an LSP to join the Operator-configured Association. Usage of
+ dynamic and configured associations is usually dependent on the type
+ of association.
+
+ For Operator-configured Associations, the association parameters,
+ such as the Association Identifier (Association ID), Association
+ Type, and the Association Source IP address, are manually configured
+ by the operator. In the case of a dynamic association, the
+ association parameters, such as the Association ID, are allocated
+ dynamically by the PCEP speaker. The Association Source is set as
+ the local PCEP speaker address unless local policy dictates
+ otherwise, in which case the Association Source is set based on the
+ local policy.
+
+ 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 is known to the PCEP peer beforehand,
+ a PCEP peer could ask an LSP to join the Operator-configured
+ Association via the stateful PCEP messages.
+
+ 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 cleanup MUST also take care of associations.
+
+ Multiple types of associations can exist, each with its own
+ Association ID space. The definition of the different Association
+ Types and their behaviors is outside the scope of this document. The
+ establishment and removal of the association relationship can be done
+ on a per-LSP basis. An LSP may join multiple association groups that
+ have the same Association Type or different Association Types.
+
+3.4. Operator-Configured Association Range
+
+ Some Association Types are dynamic, some are operator configured, and
+ some could be both. For the Association Types that could be both
+ dynamic and operator configured and use the same Association Source,
+ it is necessary to distinguish a range of Association IDs that are
+ marked for Operator-configured Associations, to avoid any Association
+ ID clashes within the scope of the Association Source. This document
+ assumes that these two ranges are configured.
+
+ A range of Association IDs for each Association Type (and Association
+ Source) is kept for the Operator-configured Associations. Dynamic
+ associations MUST NOT use the Association ID from this range.
+
+ This range, as set at the PCEP speaker (a PCC or PCE, as an
+ Association Source), needs to be communicated to a PCEP peer in the
+ Open message. A new TLV is defined in this specification for this
+ purpose (Section 5). See Appendix A for an example.
+
+ The Association ID range for sources other than the PCEP speaker (for
+ example, a Network Management System (NMS)) is not communicated in
+ PCEP, and the procedure for Operator-configured Association Range
+ settings is outside the scope of this document.
+
+4. Discovery of Supported Association Types
+
+ This section defines PCEP extensions so as to support the capability
+ advertisement of the Association Types supported by a PCEP speaker.
+
+ 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.
+
+4.1. ASSOC-Type-List TLV
+
+ The PCEP ASSOC-Type-List TLV is OPTIONAL. It MAY 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.
+
+ The PCEP ASSOC-Type-List TLV format is compliant with the PCEP TLV
+ format defined in [RFC5440]. 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 8 octets).
+
+ The PCEP ASSOC-Type-List TLV has the following format:
+
+ 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 #1 | Assoc-Type #2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Assoc-Type #N | padding |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 1: The ASSOC-Type-List TLV Format
+
+ Type: 35
+
+ 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.
+
+ Assoc-Type (2 bytes): Association Type code point identifier. IANA
+ manages the "ASSOCIATION Type Field" code point registry (see
+ Section 7.4).
+
+4.1.1. Procedure
+
+ 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. The ASSOC-Type-List TLV MUST NOT appear
+ more than once in an OPEN object. If it appears 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). As specified in [RFC5440], a PCEP peer that does not
+ recognize the ASSOC-Type-List TLV will silently ignore it.
+
+ The Association Type (to be defined in future documents) can specify
+ if the Association Type advertisement is mandatory for it. Thus, the
+ ASSOC-Type-List TLV MUST be included if at least one mandatory
+ Association Type needs to be advertised, and the ASSOC-Type-List TLV
+ MAY be included otherwise. For an Association Type that specifies
+ that the advertisement is mandatory, a missing 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 is not supported by
+ the PCEP speaker.
+
+ The absence of the ASSOC-Type-List TLV in an OPEN object MUST be
+ interpreted as an absence of information in the list of supported
+ Association Types (rather than an indication that the Association
+ Type is not supported). 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
+ Section 6.4.
+
+ If the use of the ASSOC-Type-List TLV is triggered by support for a
+ mandatory Association Type, then it is RECOMMENDED that the PCEP
+ implementation include all supported Association Types (including
+ optional types) to ease the operations of the PCEP peer.
+
+5. Operator-Configured Association Range TLV
+
+ This section defines a PCEP extension to support the advertisement of
+ the Operator-configured Association Range used for an Association
+ Type by the PCEP speaker (as an Association Source).
+
+ 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.
+
+ The PCEP OP-CONF-ASSOC-RANGE TLV is OPTIONAL. It MAY 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 [RFC5440]. 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.
+
+ The PCEP OP-CONF-ASSOC-RANGE TLV has the following format:
+
+ 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 #1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Start-Assoc-ID #1 | Range #1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Reserved | Assoc-Type #N |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Start-Assoc-ID #N | Range #N |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 2: The OP-CONF-ASSOC-RANGE TLV Format
+
+ Type: 29
+
+ Length: N * 8 (where N is the number of Association Types).
+
+ Value: Includes the following fields, repeated for each Association
+ Type:
+
+ Reserved (2 bytes): MUST be set to 0 on transmission and MUST be
+ ignored on receipt.
+
+ Assoc-Type (2 bytes): The Association Type (Section 7.4). The
+ Association Types will be defined in future documents.
+
+ Start-Assoc-ID (2 bytes): The "start association" identifier for
+ the Operator-configured Association Range for the particular
+ Association Type. The values 0 and 0xffff MUST NOT be used; on
+ receipt of these values in the TLV, the session is rejected,
+ and an error message is sent (see Section 5.1).
+
+ Range (2 bytes): The number of associations marked for the
+ Operator-configured Associations. Range MUST be greater than
+ 0, and it MUST be such that (Start-Assoc-ID + Range) does not
+ cross the largest Association ID value of 0xffff. If this
+ condition is not satisfied, the session is rejected, and an
+ error message is sent (see Section 5.1).
+
+5.1. Procedure
+
+ A PCEP speaker MAY 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.
+ The OP-CONF-ASSOC-RANGE TLV MUST NOT appear more than once in an OPEN
+ object. If it appears 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).
+
+ As specified in [RFC5440], a PCEP peer that does not recognize the
+ OP-CONF-ASSOC-RANGE TLV will silently ignore it.
+
+ The Operator-configured Association Range SHOULD be included for each
+ Association Type that could be both dynamic and operator configured.
+ For Association Types that are only dynamic or only operator
+ configured, this TLV MAY be skipped, in which case the full range of
+ Association IDs is considered dynamic or operator configured,
+ respectively. Each Association Type (to be defined in future
+ documents) can specify the default value for its Operator-configured
+ Association Range.
+
+ The absence of the OP-CONF-ASSOC-RANGE TLV in an OPEN object MUST 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 applies. If the Association
+ Source is not a PCEP speaker, the default value for the Operator-
+ configured Association Range is used for the Association Source.
+
+ If the Assoc-Type is not recognized or supported by the PCEP speaker,
+ it MUST ignore that respective (Start-Assoc-ID + Range). If the
+ Assoc-Type is recognized/supported but Start-Assoc-ID or Range is set
+ incorrectly, the PCEP session MUST be rejected with Error-Type 1 and
+ Error-value 1 (PCEP session establishment failure / Reception of an
+ invalid Open message). The incorrect range includes the case when
+ the (Start-Assoc-ID + Range) crosses the largest Association ID value
+ of 0xffff.
+
+ A given Assoc-Type MAY 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
+ send overlapping ranges for an Association Type. If a PCEP peer
+ receives overlapping ranges for an Association Type, it MUST consider
+ the Open message malformed and MUST reject the PCEP session with
+ Error-Type 1 and Error-value 1 (PCEP session establishment failure /
+ Reception of an invalid Open message).
+
+ There may be cases where an Operator-configured Association was
+ configured with association parameters (such as an Association ID,
+ Association Type, and Association Source) at the local PCEP speaker,
+ and the PCEP session is later established with the Association Source
+ and a new operator-configured range is learned during session
+ establishment. At this time, the local PCEP speaker MUST remove any
+ associations that are not in the new operator-configured range (by
+ disassociating any LSPs that are part of it (and notifying the PCEP
+ peer of this change)). If a PCEP speaker receives an association for
+ an Operator-configured Association and the Association ID is not in
+ the Operator-configured Association Range for the Association Type
+ and Association Source, it MUST generate an error (as described in
+ Section 6.4).
+
+6. ASSOCIATION Object
+
+6.1. Object Definition
+
+ Association groups and their memberships are defined using a new
+ ASSOCIATION object.
+
+ The ASSOCIATION Object-Class value is 40.
+
+ The ASSOCIATION Object-Type value is 1 for IPv4, and its format is
+ shown in Figure 3:
+
+ 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 | Association ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | IPv4 Association Source |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Optional TLVs //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 3: The IPv4 ASSOCIATION Object Format
+
+ The ASSOCIATION Object-Type value is 2 for IPv6, and its format is
+ shown in Figure 4:
+
+ 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 | Association ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ | IPv6 Association Source |
+ | |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Optional TLVs //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 4: The IPv6 ASSOCIATION Object Format
+
+ Reserved (2 bytes): MUST be set to 0 and ignored upon receipt.
+
+ Flags (2 bytes): The following flag is currently defined:
+
+ R (Removal - 1 bit): 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 Path Computation Report (PCRpt) and
+ Path Computation Update (PCUpd) messages. It is ignored in
+ other PCEP messages.
+
+ The unassigned flags MUST be set to 0 on transmission and MUST be
+ ignored on receipt.
+
+ Association Type (2 bytes): The Association Type (Section 7.4). The
+ Association Types will be defined in future documents.
+
+ Association ID (2 bytes): 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 the Association
+ Type and Association Source.
+
+ Association Source: 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 Section 6.1.3 for details.
+
+ Optional TLVs: The optional TLVs follow the PCEP TLV format defined
+ in [RFC5440]. This document defines two optional TLVs. Other
+ documents can define more TLVs in the future.
+
+6.1.1. Global Association Source TLV
+
+ The Global Association Source TLV is an optional TLV for use in the
+ ASSOCIATION object. The meaning and usage of the Global Association
+ Source TLV are as per Section 4 of [RFC6780].
+
+ 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 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 5: The Global Association Source TLV Format
+
+ Type: 30
+
+ Length: Fixed value of 4 bytes.
+
+ Global Association Source: As defined in Section 4 of [RFC6780].
+
+6.1.2. Extended Association ID TLV
+
+ The Extended Association ID TLV is an optional TLV for use in the
+ ASSOCIATION object. The meaning and usage of the Extended
+ Association ID TLV are as per Section 4 of [RFC6780].
+
+ 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 //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 6: The Extended Association ID TLV Format
+
+ Type: 31
+
+ Length: Variable.
+
+ Extended Association ID: As defined in Section 4 of [RFC6780].
+
+6.1.3. Association Source
+
+ The Association Source field in the ASSOCIATION object is set to a
+ valid IP address to identify the node that originated the
+ association. In the case of dynamic associations, the Association
+ Source is usually set as the local PCEP speaker address unless local
+ policy dictates otherwise, in which case 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 that identifies
+ all instances of the PCE. In the case of Operator-configured
+ Associations, the Association Source is manually configured, and it
+ could be set as one of the PCEP speakers, an NMS, or any other valid
+ IP address that scopes the Association ID for the Association Type.
+
+6.1.4. Unique Identification for an Association Group
+
+ The combination of the mandatory fields Association Type, Association
+ ID, and Association Source in the ASSOCIATION object uniquely
+ identifies the association group. If the optional TLVs (Global
+ Association Source and Extended Association ID) are included, then
+ they MUST be included in combination with mandatory fields to
+ uniquely identify the association group. In this document, all these
+ fields are collectively called "association parameters". Note that
+ the ASSOCIATION object MAY include other optional TLVs (not defined
+ in this document) based on the Association Types. These TLVs provide
+ "information" related to the Association Type. This document refers
+ to this information as "association information".
+
+6.2. Relationship to the RSVP ASSOCIATION Object
+
+ The format of the PCEP ASSOCIATION object defined in this document is
+ aligned with the RSVP ASSOCIATION object [RFC6780]. Various
+ Association Types related to RSVP association are defined in
+ [RFC4872], [RFC4873], and [RFC7551]. The PCEP extensions that define
+ new Association Types should clarify how the PCEP associations would
+ work with RSVP associations and vice versa.
+
+6.3. Object Encoding in PCEP Messages
+
+ Message formats in this document are expressed using Routing BNF
+ (RBNF) as used in [RFC5440] and defined in [RFC5511].
+
+6.3.1. Stateful PCEP Messages
+
+ The ASSOCIATION object MAY be carried in the PCUpd, PCRpt, and Path
+ Computation Initiate (PCInitiate) messages.
+
+ When carried in a PCRpt message, this object is used to report the
+ association group membership pertaining to an LSP to a stateful PCE.
+ The PCRpt message is used for initial State Synchronization
+ operations (Section 5.6 of [RFC8231]), as well as whenever the state
+ of the LSP changes. If the LSP belongs to an association group, then
+ the associations MUST be included during the State Synchronization
+ operations.
+
+ 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.
+
+ When an LSP is first reported to the PCE, the PCRpt message MUST
+ include all the association groups that it belongs to. Any
+ subsequent PCRpt message SHOULD include only the associations that
+ are being modified or removed.
+
+ The PCRpt message is defined in [RFC8231] and updated as shown below:
+
+ <PCRpt Message> ::= <Common Header>
+ <state-report-list>
+
+ Where:
+
+ <state-report-list> ::= <state-report>[<state-report-list>]
+
+ <state-report> ::= [<SRP>]
+ <LSP>
+ [<association-list>]
+ <path>
+
+ Where:
+
+ <path>::= <intended-path>
+ [<actual-attribute-list><actual-path>]
+ <intended-attribute-list>
+
+ <association-list> ::= <ASSOCIATION> [<association-list>]
+
+ When an LSP is delegated to a stateful PCE, the stateful PCE can
+ create a new association group for this LSP or associate it with one
+ or more existing association groups. This is done by including the
+ ASSOCIATION 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.
+
+ The PCUpd message SHOULD include the association groups that are
+ being modified or removed. There is no need to include associations
+ that remain unchanged.
+
+ The PCUpd message is defined in [RFC8231] and updated as shown below:
+
+ <PCUpd Message> ::= <Common Header>
+ <update-request-list>
+
+ Where:
+
+ <update-request-list> ::= <update-request>[<update-request-list>]
+
+ <update-request> ::= <SRP>
+ <LSP>
+ [<association-list>]
+ <path>
+
+ Where:
+
+ <path>::= <intended-path><intended-attribute-list>
+
+ <association-list> ::= <ASSOCIATION> [<association-list>]
+
+ Unless a PCEP speaker wants to delete an association from an LSP or
+ make changes to the association, it does not need to include the
+ ASSOCIATION object in future stateful messages.
+
+ 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 in a PCInitiate message. The PCInitiate message MUST include
+ all the association groups that it belongs to. The PCInitiate
+ message is defined in [RFC8281] and updated as shown below:
+
+ <PCInitiate Message> ::= <Common Header>
+ <PCE-initiated-lsp-list>
+
+ Where:
+
+ <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:
+
+ <association-list> ::= <ASSOCIATION> [<association-list>]
+
+6.3.2. Request Message
+
+ In the case of a passive (stateful or stateless) PCE, the ASSOCIATION
+ object is OPTIONAL and MAY be carried in the PCReq message.
+
+ When carried in a PCReq message, the ASSOCIATION 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 or dynamically
+ learned beforehand via stateful PCEP messages. The R flag in the
+ ASSOCIATION object within a PCReq message MUST be set to 0 while
+ sending and ignored on receipt.
+
+ The PCReq message is defined in [RFC5440] and updated in [RFC8231].
+ It is further updated below for association groups:
+
+ <PCReq Message>::= <Common Header>
+ [<svec-list>]
+ <request-list>
+
+ Where:
+
+ <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:
+
+ <association-list> ::= <ASSOCIATION> [<association-list>]
+
+ Note that the LSP object MAY be present for the passive stateful PCE
+ mode.
+
+6.3.3. Reply Message
+
+ In the case of a passive (stateful or stateless) PCE, the ASSOCIATION
+ object is OPTIONAL and MAY be carried in the PCRep message with the
+ NO-PATH object. The ASSOCIATION object in the PCRep message
+ indicates the association group that caused the PCE to fail to find a
+ path.
+
+ The PCRep message is defined in [RFC5440] and updated in [RFC8231].
+ It is further updated below for association groups:
+
+ <PCRep Message> ::= <Common Header>
+ <response-list>
+
+ Where:
+
+ <response-list>::=<response>[<response-list>]
+
+ <response>::=<RP>
+ [<LSP>]
+ [<NO-PATH>]
+ [<association-list>]
+ [<attribute-list>]
+ [<path-list>]
+
+ Where:
+
+ <association-list> ::= <ASSOCIATION> [<association-list>]
+
+ Note that the LSP object MAY be present for the passive stateful PCE
+ mode.
+
+6.4. Processing Rules
+
+ Association groups can be operator configured on the necessary PCEP
+ speakers, and the PCEP speakers can join the existing association
+ groups. In addition, a PCC or a PCE can create association groups
+ dynamically, and the PCEP speaker can also report the associations to
+ its peer via PCEP messages. The 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
+ 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
+ until there is at least one LSP as part of the association. As
+ described in Section 6.1.4, the association parameters are the
+ combination of Association Type, Association ID, and Association
+ Source, as well as the optional Global Association Source and
+ Extended Association ID TLVs; this combination uniquely identifies an
+ association group. The information related to the Association Types
+ encoded via the TLVs of a particular Association Type (not described
+ in this document) is the association information (Section 6.1.4).
+
+ 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 [RFC5440]. In the case of a PCReq
+ message, the PCE would react based on the P flag as per [RFC5440].
+ If a PCEP speaker understands the ASSOCIATION object but does not
+ support the Association Type, it MUST return a PCErr message with
+ Error-Type 26 "Association Error" and Error-value 1 "Association Type
+ is not supported". If any association parameters are invalid in the
+ ASSOCIATION object, the PCEP speaker would consider this object
+ malformed and process it as a malformed message [RFC5440]. On
+ receiving a PCEP message with an ASSOCIATION object, if a PCEP
+ speaker finds that too many LSPs belong to the association group, it
+ MUST return a PCErr message with Error-Type 26 "Association Error"
+ and Error-value 2 "Too many LSPs in the association group". If a
+ PCEP speaker cannot handle a new association, it MUST return a PCErr
+ message with Error-Type 26 "Association Error" and Error-value 3 "Too
+ many association groups". These numbers MAY be set by the operator
+ or chosen based on a local policy.
+
+ If a PCE peer is unwilling or unable to process the ASSOCIATION
+ object in the stateful message, it MUST return a PCErr message with
+ the Error-Type "Not supported object" and follow the relevant
+ procedures described in [RFC5440]. In the case of a PCReq message,
+ the PCE would react based on the P flag as per [RFC5440]. On
+ receiving a PCEP message with an ASSOCIATION object, if a PCEP
+ speaker could not add the LSP to the association group for any
+ reason, it MUST return a PCErr message with Error-Type 26
+ "Association Error" and Error-value 7 "Cannot join the association
+ group".
+
+ If a PCEP speaker receives an ASSOCIATION object for an Operator-
+ configured Association and the Association ID is not in the Operator-
+ configured Association Range for the Association Type and Association
+ Source, it MUST return a PCErr message with Error-Type 26
+ "Association Error" and Error-value 8 "Association ID not in range".
+
+ If a PCEP speaker receives an ASSOCIATION object in a PCReq message
+ and the association is not known (the association is not configured,
+ was not created dynamically, or was not learned from a PCEP peer), it
+ MUST return a PCErr message with Error-Type 26 "Association Error"
+ and Error-value 4 "Association unknown".
+
+ If the association information (related to the association group as a
+ whole) received from the peer does not match the local operator-
+ configured information, it MUST return a PCErr message with Error-
+ Type 26 "Association Error" and Error-value 5 "Operator-configured
+ association information mismatch". On receiving association
+ information (related to the association group as a whole) that does
+ not match the association information previously received about the
+ same association from a peer, it MUST return a PCErr message with
+ Error-Type 26 "Association Error" and 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.
+
+ If a PCEP speaker receives an ASSOCIATION object with the R bit set
+ for removal and the association group (identified by association
+ parameters) is not known, it MUST return a PCErr message with Error-
+ Type 26 "Association Error" and Error-value 4 "Association unknown".
+
+ The dynamic associations are cleared along with the LSP state
+ information as per [RFC8231]. 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 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 empty and thus deleted.
+
+ If the LSP is delegated to another PCE on session failure, the
+ associations (and association information) set by the PCE remain
+ intact, unless updated by the new PCE that takes over.
+
+ Upon LSP delegation revocation, the PCC MAY clear the association
+ created by the PCE, but in order to avoid traffic loss, it SHOULD
+ perform this action in a make-before-break fashion (same as
+ [RFC8231]).
+
+7. IANA Considerations
+
+ IANA maintains the "Path Computation Element Protocol (PCEP) Numbers"
+ registry at <https://www.iana.org/assignments/pcep>.
+
+7.1. PCEP Object
+
+ The "Path Computation Element Protocol (PCEP) Numbers" registry
+ contains a subregistry called "PCEP Objects". IANA has allocated the
+ following code point in the "PCEP Objects" registry.
+
+ +--------------------+-------------+-------------+-----------+
+ | Object-Class Value | Name | Object-Type | Reference |
+ +====================+=============+=============+===========+
+ | 40 | ASSOCIATION | 0: Reserved | RFC 8697 |
+ | | +-------------+-----------+
+ | | | 1: IPv4 | RFC 8697 |
+ | | +-------------+-----------+
+ | | | 2: IPv6 | RFC 8697 |
+ +--------------------+-------------+-------------+-----------+
+
+ Table 1: PCEP Object
+
+7.2. PCEP TLV
+
+ IANA has allocated the following code points in the "PCEP TLV Type
+ Indicators" registry.
+
+ +-------+---------------------------------------+-----------+
+ | Value | Meaning | Reference |
+ +=======+=======================================+===========+
+ | 29 | Operator-configured Association Range | RFC 8697 |
+ +-------+---------------------------------------+-----------+
+ | 30 | Global Association Source | RFC 8697 |
+ +-------+---------------------------------------+-----------+
+ | 31 | Extended Association ID | RFC 8697 |
+ +-------+---------------------------------------+-----------+
+
+ Table 2: PCEP TLV Type Indicators
+
+ IANA has corrected the capitalization in the meaning for value 31 in
+ the above registry to "Extended Association ID"; it was previously
+ listed as "Extended Association Id".
+
+ IANA has made a new assignment in the existing "PCEP TLV Type
+ Indicators" registry as follows:
+
+ +-------+-----------------+-----------+
+ | Value | Meaning | Reference |
+ +=======+=================+===========+
+ | 35 | ASSOC-Type-List | RFC 8697 |
+ +-------+-----------------+-----------+
+
+ Table 3: ASSOC-Type-List PCEP TLV
+ Type Indicator
+
+7.3. Association Flags
+
+ Per this document, IANA has created a subregistry of the "Path
+ Computation Element Protocol (PCEP) Numbers" registry for the bits
+ carried in the Flags field of the ASSOCIATION object. The
+ subregistry is called "ASSOCIATION Flag Field". New values are
+ assigned by Standards Action [RFC8126]. Each bit is tracked with the
+ following qualities:
+
+ * Bit number (counting from bit 0 as the most significant bit)
+
+ * Capability description
+
+ * Defining RFC
+
+ +-----+-------------+-----------+
+ | Bit | Description | Reference |
+ +=====+=============+===========+
+ | 15 | R (Removal) | RFC 8697 |
+ +-----+-------------+-----------+
+
+ Table 4: New ASSOCIATION Flag
+ Field
+
+7.4. Association Type
+
+ Per this document, IANA has created a subregistry of the "Path
+ Computation Element Protocol (PCEP) Numbers" registry for the
+ Association Type field of the ASSOCIATION object. The subregistry is
+ called "ASSOCIATION Type Field". New values are assigned by
+ Standards Action [RFC8126]. Each value is tracked with the following
+ qualities:
+
+ * Type
+
+ * Name
+
+ * Reference
+
+ +------+----------+-----------+
+ | Type | Name | Reference |
+ +======+==========+===========+
+ | 0 | Reserved | RFC 8697 |
+ +------+----------+-----------+
+
+ Table 5: New ASSOCIATION
+ Type Field
+
+ Values 2-65535 are Unassigned. Future documents should request the
+ assignment of Association Types from this subregistry.
+
+7.5. PCEP-Error Object
+
+ IANA has allocated the following code points within the "PCEP-ERROR
+ Object Error Types and Values" subregistry of the "Path Computation
+ Element Protocol (PCEP) Numbers" registry as follows:
+
+ +------------+-------------+------------------------+-----------+
+ | Error-Type | Meaning | Error-value | Reference |
+ +============+=============+========================+===========+
+ | 26 | Association | 0: Unassigned | RFC 8697 |
+ | | Error +------------------------+-----------+
+ | | | 1: Association Type is | RFC 8697 |
+ | | | not supported | |
+ | | +------------------------+-----------+
+ | | | 2: Too many LSPs in | RFC 8697 |
+ | | | the association group | |
+ | | +------------------------+-----------+
+ | | | 3: Too many | RFC 8697 |
+ | | | association groups | |
+ | | +------------------------+-----------+
+ | | | 4: Association unknown | RFC 8697 |
+ | | +------------------------+-----------+
+ | | | 5: Operator-configured | RFC 8697 |
+ | | | association | |
+ | | | information mismatch | |
+ | | +------------------------+-----------+
+ | | | 6: Association | RFC 8697 |
+ | | | information mismatch | |
+ | | +------------------------+-----------+
+ | | | 7: Cannot join the | RFC 8697 |
+ | | | association group | |
+ | | +------------------------+-----------+
+ | | | 8: Association ID not | RFC 8697 |
+ | | | in range | |
+ +------------+-------------+------------------------+-----------+
+
+ Table 6: PCEP-ERROR Types and Names
+
+8. Security Considerations
+
+ The security considerations described in [RFC8231] and [RFC5440]
+ 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 Section 6.4. An
+ attacker could impact LSP operations by creating bogus associations.
+ Further, association groups could provide an adversary with the
+ opportunity to eavesdrop on the relationship between the LSPs. Thus,
+ securing the PCEP session using Transport Layer Security (TLS)
+ [RFC8253], as per the recommendations and best current practices in
+ [RFC7525], is RECOMMENDED.
+
+ Much of the information carried in the ASSOCIATION object as per this
+ document is not extra sensitive. It often reflects information that
+ can also be derived from the LSP database, but the association
+ provides a much easier grouping of related LSPs and messages.
+ Implementations and operators can, and should, use indirect values in
+ the ASSOCIATION object as a way to hide any sensitive business
+ relationships.
+
+9. Manageability Considerations
+
+ All manageability requirements and considerations listed in [RFC5440]
+ and [RFC8231] apply to PCEP protocol extensions defined in this
+ document. In addition, requirements and considerations listed in
+ this section apply.
+
+9.1. Control of Function and Policy
+
+ A PCE or PCC implementation MUST allow Operator-configured
+ Associations and SHOULD allow the setting of the Operator-configured
+ Association Range (Section 3.4) as described in this document.
+
+9.2. Information and Data Models
+
+ The PCEP YANG module is defined in [PCEP-YANG]. In the future, this
+ YANG module should be extended or augmented to provide the following
+ additional information related to association groups.
+
+ An implementation SHOULD allow the operator to view the associations
+ configured or created dynamically. Future implementations SHOULD
+ allow the viewing of associations reported by each peer and the
+ current set of LSPs in the association.
+
+ It might also be useful to find out how many associations for each
+ Association Type currently exist and to know how many free
+ Association IDs are available for a particular Association Type and
+ source.
+
+9.3. Liveness Detection and Monitoring
+
+ Mechanisms defined in this document do not imply any new liveness
+ detection and monitoring requirements in addition to those already
+ listed in [RFC5440].
+
+9.4. Verifying Correct Operation
+
+ Mechanisms defined in this document do not imply any new operation
+ verification requirements in addition to those already listed in
+ [RFC5440] and [RFC8231].
+
+9.5. Requirements on Other Protocols
+
+ Mechanisms defined in this document do not imply any new requirements
+ on other protocols.
+
+9.6. Impact on Network Operations
+
+ Mechanisms defined in [RFC5440] and [RFC8231] also apply to PCEP
+ extensions defined in this document.
+
+10. References
+
+10.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
+ Element (PCE) Communication Protocol (PCEP)", RFC 5440,
+ DOI 10.17487/RFC5440, March 2009,
+ <https://www.rfc-editor.org/info/rfc5440>.
+
+ [RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax
+ Used to Form Encoding Rules in Various Routing Protocol
+ Specifications", RFC 5511, DOI 10.17487/RFC5511, April
+ 2009, <https://www.rfc-editor.org/info/rfc5511>.
+
+ [RFC6780] Berger, L., Le Faucheur, F., and A. Narayanan, "RSVP
+ ASSOCIATION Object Extensions", RFC 6780,
+ DOI 10.17487/RFC6780, October 2012,
+ <https://www.rfc-editor.org/info/rfc6780>.
+
+ [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre,
+ "Recommendations for Secure Use of Transport Layer
+ Security (TLS) and Datagram Transport Layer Security
+ (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May
+ 2015, <https://www.rfc-editor.org/info/rfc7525>.
+
+ [RFC8051] Zhang, X., Ed. and I. Minei, Ed., "Applicability of a
+ Stateful Path Computation Element (PCE)", RFC 8051,
+ DOI 10.17487/RFC8051, January 2017,
+ <https://www.rfc-editor.org/info/rfc8051>.
+
+ [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
+ Writing an IANA Considerations Section in RFCs", BCP 26,
+ RFC 8126, DOI 10.17487/RFC8126, June 2017,
+ <https://www.rfc-editor.org/info/rfc8126>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+ [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
+ Computation Element Communication Protocol (PCEP)
+ Extensions for Stateful PCE", RFC 8231,
+ DOI 10.17487/RFC8231, September 2017,
+ <https://www.rfc-editor.org/info/rfc8231>.
+
+ [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
+ Computation Element Communication Protocol (PCEP)
+ Extensions for PCE-Initiated LSP Setup in a Stateful PCE
+ Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
+ <https://www.rfc-editor.org/info/rfc8281>.
+
+10.2. Informative References
+
+ [RFC4657] Ash, J., Ed. and J.L. Le Roux, Ed., "Path Computation
+ Element (PCE) Communication Protocol Generic
+ Requirements", RFC 4657, DOI 10.17487/RFC4657, September
+ 2006, <https://www.rfc-editor.org/info/rfc4657>.
+
+ [RFC4872] Lang, J.P., Ed., Rekhter, Y., Ed., and D. Papadimitriou,
+ Ed., "RSVP-TE Extensions in Support of End-to-End
+ Generalized Multi-Protocol Label Switching (GMPLS)
+ Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007,
+ <https://www.rfc-editor.org/info/rfc4872>.
+
+ [RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel,
+ "GMPLS Segment Recovery", RFC 4873, DOI 10.17487/RFC4873,
+ May 2007, <https://www.rfc-editor.org/info/rfc4873>.
+
+ [RFC6007] Nishioka, I. and D. King, "Use of the Synchronization
+ VECtor (SVEC) List for Synchronized Dependent Path
+ Computations", RFC 6007, DOI 10.17487/RFC6007, September
+ 2010, <https://www.rfc-editor.org/info/rfc6007>.
+
+ [RFC7551] Zhang, F., Ed., Jing, R., and R. Gandhi, Ed., "RSVP-TE
+ Extensions for Associated Bidirectional Label Switched
+ Paths (LSPs)", RFC 7551, DOI 10.17487/RFC7551, May 2015,
+ <https://www.rfc-editor.org/info/rfc7551>.
+
+ [RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody,
+ "PCEPS: Usage of TLS to Provide a Secure Transport for the
+ Path Computation Element Communication Protocol (PCEP)",
+ RFC 8253, DOI 10.17487/RFC8253, October 2017,
+ <https://www.rfc-editor.org/info/rfc8253>.
+
+ [PCEP-YANG]
+ Dhody, D., Ed., Hardwick, J., Beeram, V., and J. Tantsura,
+ "A YANG Data Model for Path Computation Element
+ Communications Protocol (PCEP)", Work in Progress,
+ Internet-Draft, draft-ietf-pce-pcep-yang-13, 31 October
+ 2019,
+ <https://tools.ietf.org/html/draft-ietf-pce-pcep-yang-13>.
+
+ [PCE-PROTECTION]
+ Ananthakrishnan, H., Sivabalan, S., Barth, C., Minei, I.,
+ and M. Negi, "PCEP Extensions for Associating Working and
+ Protection LSPs with Stateful PCE", Work in Progress,
+ Internet-Draft, draft-ietf-pce-stateful-path-protection-
+ 11, 25 September 2019, <https://tools.ietf.org/html/draft-
+ ietf-pce-stateful-path-protection-11>.
+
+ [PCE-DIVERSITY]
+ Litkowski, S., Sivabalan, S., Barth, C., and M. Negi,
+ "Path Computation Element Communication Protocol (PCEP)
+ Extension for LSP Diversity Constraint Signaling", Work in
+ Progress, Internet-Draft, draft-ietf-pce-association-
+ diversity-14, 26 January 2020,
+ <https://tools.ietf.org/html/draft-ietf-pce-association-
+ diversity-14>.
+
+Appendix A. Example of an Operator-Configured Association Range
+
+ Consider an Association Type T1 (which allows both dynamic and
+ Operator-configured Associations with a default range of <0x1000,
+ 0xffff>). Consider that, because of the needs of the network, the
+ PCE needs to create more dynamic associations and would like to
+ change the Association Range to <0xbffe, 0xffff> instead. During
+ PCEP session establishment, the PCE would advertise the new range.
+ The PCC could skip advertising, as the default values are used. If a
+ PCC is creating a dynamic association (with the PCC as the
+ Association Source), it needs to pick a free Association ID for type
+ T1 in the range <0x1, 0x0fff>, whereas if a PCE is creating a dynamic
+ association (with the PCE as the Association Source), it needs to
+ pick a free Association ID from the range <0x1, 0xbffd>. Similarly,
+ if an Operator-configured Association is manually configured with the
+ PCC as the Association Source, it should be from the range <0x1000,
+ 0xffff>, whereas if the PCE is the Association Source, it should be
+ from the range <0xbffe, 0xffff>. If the Association Source is not a
+ PCEP peer (for example, an NMS), then the default range of <0x1000,
+ 0xffff> is considered.
+
+Acknowledgments
+
+ We would like to thank Yuji Kamite and Joshua George for their
+ contributions to this document. Thanks also to Venugopal Reddy,
+ Cyril Margaria, Rakesh Gandhi, Mike Koldychev, and Adrian Farrel for
+ their useful comments.
+
+ We would like to thank Julien Meuric for shepherding this document
+ and providing comments with text suggestions.
+
+ Thanks to Stig Venaas for the RTGDIR review comments.
+
+ Thanks to Alvaro Retana, Mirja Kühlewind, Martin Vigoureux, Barry
+ Leiba, Eric Vyncke, Suresh Krishnan, and Benjamin Kaduk for the IESG
+ comments.
+
+Contributors
+
+ 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
+
+
+Authors' Addresses
+
+ Ina Minei
+ Google, Inc.
+ 1600 Amphitheatre Parkway
+ Mountain View, CA 94043
+ United States of America
+
+ Email: inaminei@google.com
+
+
+ Edward Crabbe
+ Individual Contributor
+
+ Email: edward.crabbe@gmail.com
+
+
+ Siva Sivabalan
+ Cisco Systems, Inc.
+ 170 West Tasman Dr.
+ San Jose, CA 95134
+ United States of America
+
+ Email: msiva@cisco.com
+
+
+ Hariharan Ananthakrishnan
+ Netflix
+
+ Email: hari@netflix.com
+
+
+ Dhruv Dhody
+ Huawei
+ Divyashree Techno Park, Whitefield
+ Bangalore 560066
+ KA
+ India
+
+ Email: dhruv.ietf@gmail.com
+
+
+ Yosuke Tanaka
+ NTT Communications Corporation
+ Granpark Tower 3-4-1 Shibaura, Minato-ku, Tokyo
+ 108-8118
+ Japan
+
+ Email: yosuke.tanaka@ntt.com