rfc-7470

Conveying Vendor-Specific Constraints in the Path Computation Element Communication Protocol

F. Zhang, A. Farrel
date2015-03 streamIETF areartg wgpce statusPROPOSED STANDARD pages14 canonicalhttps://www.rfc-editor.org/rfc/rfc7470 doi10.17487/RFC7470
The Path Computation Element Communication Protocol (PCEP) is used to convey path computation requests and responses both between Path Computation Clients (PCCs) and Path Computation Elements (PCEs) and between cooperating PCEs. In PCEP, the path computation requests carry details of the constraints and objective functions that the PCC wishes the PCE to apply in its computation. This document defines a facility to carry vendor-specific information in PCEP using a dedicated object and a new Type-Length-Value (TLV) that can be carried in any PCEP object that supports TLVs. This document obsoletes RFC 7150. The only changes from that document are a clarification of the use of the new Type-Length-Value and the allocation of a different code point for the VENDOR-INFORMATION object.

obsoletes

updated by

Extracted elements (17)

design-rationale §1

RFC 7470 was created to obsolete RFC 7150 for two reasons: to clarify that the VENDOR-INFORMATION-TLV is available in any PCEP object (existing or future) that supports TLVs, and to allocate a different Object-Class code point (34 instead of 32) due to an inadvertent clash with codepoints used in a deployed Internet-Draft without IANA allocation.

routing, registry

design-rationale §1

The existing PCEP METRIC Object had no facility for vendor-specific metrics, and no PCEP mechanism existed for carrying complex vendor-specific information. The Vendor Information object and TLV were introduced to fill this gap while encouraging vendors to eventually bring widely-adopted extensions to the IETF for standardization.

routing

interoperability-note §2.1

A legacy implementation that does not recognize the Vendor Information object will reject the PCReq with PCErr Error-Type 3 ('Unknown Object') if the P flag is set, or safely ignore the object if the P flag is not set, per RFC 5440 procedures.

routing

interoperability-note §1

By definition, inclusion of the Vendor Information object or VENDOR-INFORMATION-TLV implies an inability to interoperate functionally with implementations from other vendors unless a cooperation agreement exists between vendors.

routing

normative-requirement §6.6 SHOULD NOT

A PCC SHOULD monitor the capabilities of a PCE via discovery mechanisms or negative responses, and SHOULD NOT include vendor information in a PCReq to a PCE believed not to support the information and that will not forward the request to a supporting PCE.

routing

normative-requirement §2 MUST

A PCE that receives a PCReq containing a Vendor Information object MUST act according to the P flag in the object header: if P is set, the object is mandatory and the request must be processed using the object's contents or rejected; if P is clear, the object may be used or ignored.

routing

normative-requirement §2 MUST

A PCE that supports the Vendor Information object but receives one carrying an unknown Enterprise Number MUST act according to the P flag: if P is set, the PCE MUST reject the PCReq with Error-Type 'Not supported Object' and return the corresponding Vendor Information object.

routing

normative-requirement §3 MUST

If the Enterprise Number in a Vendor Information TLV is unknown to the PCE, it MUST treat the TLV as an unknown TLV and handle it as described in RFC 5440, which requires unrecognized TLVs to be ignored.

routing

normative-requirement §6.2 RECOMMENDED

It is NOT RECOMMENDED that standard MIB modules be extended to include detailed information about the content of the Vendor Information object or TLV; the MIB module MAY be extended to report the use of the object or TLV and the Enterprise Numbers they contain.

routing

normative-requirement §2 MAY

Multiple instances of the Vendor Information object MAY be used in a single PCReq message, each MUST be treated according to its P-bit setting, and different instances MAY carry different Enterprise Numbers.

routing

normative-requirement §3.1 MUST

Unrecognized TLVs in PCEP objects MUST be ignored per Section 7.1 of RFC 5440, ensuring backward compatibility for implementations that do not recognize the VENDOR-INFORMATION-TLV.

routing

protocol-element §4

The VENDOR-INFORMATION object (Object-Class 34, Object-Type 1) carries arbitrary vendor-specific constraints or metrics in PCEP messages. It is identified by an Enterprise Number that uniquely identifies the organization responsible for the content's definition and meaning.

routing, json

protocol-element §4

The VENDOR-INFORMATION-TLV (Type 7) can be carried in any PCEP object that supports TLVs, allowing vendor-specific information to be scoped to a specific PCEP object. Its format is identical to the VENDOR-INFORMATION object.

routing

registry §5.1

IANA assigned Object-Class value 34 for the VENDOR-INFORMATION object with Object-Type 1 (Vendor-Specific Constraints) in the 'PCEP Objects' subregistry of 'Path Computation Element Protocol (PCEP) Numbers'. The previously assigned value 32 was released and marked 'Unassigned'.

routing, registry

registry §5.2

IANA assigned TLV Type value 7 for the VENDOR-INFORMATION-TLV in the 'PCEP TLV Type Indicators' subregistry, updating the reference from RFC 7150 to RFC 7470.

routing, registry

security-consideration §7

The security considerations of RFC 5440 apply unchanged, as the extensions defined in RFC 7470 do not substantially change the nature of PCEP. The Vendor Information object and TLV may provide a vector for message-bloat attacks; authentication and integrity procedures from RFC 5440 should be used to mitigate this risk.

routing, security

wire-format §4

Both the VENDOR-INFORMATION object and VENDOR-INFORMATION-TLV share the same format: a 32-bit Enterprise Number field followed by a variable-length Enterprise-Specific Information field. The Enterprise Number is assigned by IANA per RFC 2578.

routing