rfc-8697

Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships between Sets of Label Switched Paths (LSPs)

I. Minei, E. Crabbe, S. Sivabalan, H. Ananthakrishnan, D. Dhody, Y. Tanaka
date2020-01 streamIETF areartg wgpce statusPROPOSED STANDARD pages28 canonicalhttps://www.rfc-editor.org/rfc/rfc8697 doi10.17487/RFC8697
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.

updated by

Extracted elements (32)

design-rationale §3.4

A distinct Operator-configured Association Range per Association Type is needed because some Association Types allow both dynamic and operator-configured associations sharing the same Association Source, creating a risk of Association ID collision; the range partitions the ID space to prevent this.

routing, mpls

design-rationale §3.1

Rather than creating separate mechanisms for each LSP grouping use case (make-before-break, protection, diversity, policy), the document defines a single generic ASSOCIATION object and Association Type extensibility point, so future documents can define new Association Types without protocol changes.

routing, mpls

interoperability-note §6.2

The PCEP ASSOCIATION object format is aligned with the RSVP ASSOCIATION object defined in RFC 6780, and Association Types related to RSVP associations are defined in RFC 4872, RFC 4873, and RFC 7551. PCEP extensions defining new Association Types should clarify how PCEP and RSVP associations interact.

routing, mpls

normative-requirement §5.1 MUST

A PCEP speaker receiving overlapping Operator-configured Association Ranges for a given Association Type in the OP-CONF-ASSOC-RANGE TLV MUST consider the Open message malformed and MUST reject the PCEP session with Error-Type 1, Error-value 1.

routing, mpls

normative-requirement §6.3.1 MUST

A PCInitiate message MUST include all association groups that the new LSP belongs to at the time of initiation.

routing, mpls

normative-requirement §3.4 MUST NOT

Dynamic associations MUST NOT use Association IDs from the Operator-configured Association Range.

routing, mpls

normative-requirement §6.4 MUST

If a PCEP speaker understands the ASSOCIATION object but does not support the given Association Type, it MUST return a PCErr with Error-Type 26 ('Association Error'), Error-value 1 ('Association Type is not supported').

routing, mpls

normative-requirement §6.4 MUST

If an ASSOCIATION object is received for an Operator-configured Association whose Association ID falls outside the Operator-configured Association Range for that Association Type and Association Source, the receiver MUST return PCErr Error-Type 26, Error-value 8 ('Association ID not in range').

routing, mpls

normative-requirement §6.4 MUST

If association information received from a peer does not match locally configured operator information, the receiver MUST return PCErr Error-Type 26, Error-value 5 ('Operator-configured association information mismatch'). Conflicting information received from the same peer about a previously seen association yields Error-value 6 ('Association information mismatch').

routing, mpls

normative-requirement §6.4 MUST

If too many LSPs belong to an association group, the PCEP speaker MUST return PCErr Error-Type 26, Error-value 2 ('Too many LSPs in the association group'). If a new association cannot be handled, it MUST return Error-Type 26, Error-value 3 ('Too many association groups').

routing, mpls

normative-requirement §3.3 MUST

On LSP state cleanup after PCEP session termination, the cleanup MUST also take care of associations; dynamic associations are cleared along with LSP state after expiry of the State Timeout Interval.

routing, mpls

normative-requirement §8 RECOMMENDED

Securing the PCEP session using TLS [RFC8253] per the recommendations in RFC 7525 is RECOMMENDED to protect association data from spoofing and eavesdropping.

routing, mpls, security, tls

normative-requirement §4.1.1 MUST NOT

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, Error-value 1.

routing, mpls

normative-requirement §5.1 MUST NOT

The OP-CONF-ASSOC-RANGE TLV MUST NOT appear more than once in an OPEN object; if it does, the session MUST be rejected with Error-Type 1, Error-value 1. Start-Assoc-ID values 0 and 0xffff MUST NOT be used; Range MUST be greater than 0 and (Start-Assoc-ID + Range) MUST NOT exceed 0xffff.

routing, mpls

normative-requirement §6.3.1 MUST

When an LSP is first reported to a PCE via PCRpt, the message MUST include all association groups the LSP belongs to. Subsequent PCRpt messages SHOULD include only associations that are being modified or removed.

routing, mpls

protocol-element §6.1.4

An association group is uniquely identified by the combination of Association Type, Association ID, and Association Source (the 'association parameters'). If optional TLVs (Global Association Source and Extended Association ID) are present, they MUST be included in this combination to uniquely identify the group.

routing, mpls

protocol-element §6.3.3

The ASSOCIATION object MAY be carried in a PCRep message with the NO-PATH object to indicate the association group that caused the PCE to fail to find a path.

routing, mpls

protocol-element §3.1

The ASSOCIATION object provides a generic mechanism to create groupings of LSPs in PCEP. Association groups can be used to define relationships between sets of LSPs or between a set of LSPs and a set of attributes (configuration parameters or behaviors), applicable to both stateful and stateless PCE.

routing, mpls

protocol-element §6.3.2

The R flag in the ASSOCIATION object within a PCReq message MUST be set to 0 on transmission and ignored on receipt; the ASSOCIATION object in a PCReq associates the path computation request to a pre-existing (operator-configured or dynamically learned) association group.

routing, mpls

protocol-element §6.1

The R (Removal) flag in the ASSOCIATION object Flags field, when set, requests removal of an LSP from the association group. It is applicable in PCRpt and PCUpd messages and is ignored in other PCEP messages. The special Association ID value 0xffff can be combined with R=1 to remove an LSP from all associations within the scope of a given Association Type and Association Source.

routing, mpls

protocol-element §3.3

Two modes of association exist: dynamic associations created by a PCEP speaker (with dynamically allocated Association ID and Association Source set to the local PCEP speaker address by default), and Operator-configured Associations where all parameters are manually configured by the operator.

routing, mpls

registry §7.5

IANA allocated Error-Type 26 ('Association Error') in the 'PCEP-ERROR Object Error Types and Values' registry with Error-values 1–8 covering: Association Type not supported, too many LSPs, too many groups, association unknown, operator-configured mismatch, information mismatch, cannot join, and Association ID not in range.

registry, routing

registry §7.1

IANA allocated PCEP Object-Class 40 (ASSOCIATION) with Object-Types 0 (Reserved), 1 (IPv4), and 2 (IPv6) in the 'PCEP Objects' registry, and TLV type indicators 29 (OP-CONF-ASSOC-RANGE), 30 (Global Association Source), 31 (Extended Association ID), and 35 (ASSOC-Type-List) in the 'PCEP TLV Type Indicators' registry.

registry, routing

registry §7.3

IANA created the 'ASSOCIATION Flag Field' subregistry of the PCEP Numbers registry for bits in the ASSOCIATION object Flags field; new values assigned by Standards Action. Initial entry: Bit 15 = R (Removal), RFC 8697.

registry, routing

registry §7.4

IANA created the 'ASSOCIATION Type Field' subregistry of the PCEP Numbers registry for the Association Type field; new values assigned by Standards Action. Type 0 is Reserved; values 2-65535 are unassigned.

registry, routing

security-consideration §8

A malicious PCEP speaker could spoof associations to load a peer (excessive association creation triggers PCErr responses per Section 6.4), disrupt LSP operations via bogus associations, or exploit association groups to eavesdrop on relationships between LSPs. TLS is recommended to mitigate these threats.

security, routing, mpls, tls

wire-format §4.1

ASSOC-Type-List TLV (Type 35): standard PCEP TLV header (2-byte type, 2-byte length) followed by a list of 2-byte Association Type code points; Length = N * 2 where N is the number of types; padded to 4-octet alignment.

routing, mpls

wire-format §6.1.2

Extended Association ID TLV (Type 31): variable-length value carrying the Extended Association ID as defined in RFC 6780 Section 4; carried as an optional TLV within the ASSOCIATION object.

routing, mpls

wire-format §6.1.1

Global Association Source TLV (Type 30): fixed 4-byte value carrying the Global Association Source as defined in RFC 6780 Section 4; carried as an optional TLV within the ASSOCIATION object.

routing, mpls

wire-format §6.1

IPv4 ASSOCIATION object (Object-Class 40, Object-Type 1): 2-byte Reserved, 2-byte Flags (bit 15 = R), 2-byte Association Type, 2-byte Association ID, 4-byte IPv4 Association Source, followed by optional TLVs.

routing, mpls

wire-format §6.1

IPv6 ASSOCIATION object (Object-Class 40, Object-Type 2): 2-byte Reserved, 2-byte Flags (bit 15 = R), 2-byte Association Type, 2-byte Association ID, 16-byte IPv6 Association Source, followed by optional TLVs.

routing, mpls

wire-format §5

OP-CONF-ASSOC-RANGE TLV (Type 29): standard PCEP TLV header followed by N entries each comprising 2-byte Reserved, 2-byte Assoc-Type, 2-byte Start-Assoc-ID, and 2-byte Range; Length = N * 8; supports non-contiguous ranges by repeating entries for a given Assoc-Type.

routing, mpls