Conveying Vendor-Specific Information in the Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE
updates
- rfc-7470 — Conveying Vendor-Specific Constraints in the Path Computation Element Communication Protocol
Extracted elements (15)
Encoding optimization for the Vendor Information object—such as deduplication when the same content is encoded for multiple LSPs—is explicitly considered out of scope and may be addressed in a future separate document applicable to other PCEP objects.
RFC 7470 defined vendor-specific information support only for stateless PCEP. This document extends that capability to stateful PCEP messages (PCRpt, PCUpd, PCInitiate) because the Vendor Information object and VENDOR-INFORMATION-TLV are equally useful in the stateful PCE model.
RFC 7470 referenced RFC 2578 (SMIv2) as the authority for Enterprise Numbers. This document updates that reference to the 'Private Enterprise Numbers (PENs)' registry managed per RFC 9371, reflecting the correct current registry.
A legacy implementation that does not recognize the Vendor Information object will act according to the procedures set out in RFC 8231 and RFC 8281, ensuring backward compatibility. No special handling is required at the sender for legacy receivers.
A PCEP speaker SHOULD NOT include vendor information in a stateful PCEP message if it believes the recipient does not support that information, to avoid message congestion as highlighted in Section 6.6 of RFC 7470.
An implementation that supports the Vendor Information object but receives one carrying an Enterprise Number it does not support MUST ignore the object in the same way as described in Section 2 of RFC 7470.
The Vendor Information object is OPTIONAL in a PCRpt message. Multiple instances of the object MAY be contained in a single PCRpt message. Different instances of the object MAY have different Enterprise Numbers.
The Vendor Information object, as defined in RFC 7470, is extended for use in the PCRpt (Path Computation LSP State Report) message sent by a PCC to a PCE to report current LSP state. The object contents and format, including VENDOR-INFORMATION-TLV, remain as specified in Section 4 of RFC 7470. The PCE identifies how to interpret the object by examining its Enterprise Number.
The Vendor Information object is extended for use in the PCInitiate (Path Computation LSP Initiate) message sent by a PCE to a PCC to trigger LSP instantiation or deletion. It can be included in PCE-initiated-lsp-instantiation to convey proprietary or vendor-specific information.
The VENDOR-INFORMATION-TLV can be used to carry vendor-specific information within specific PCEP objects, including stateful PCE objects such as the Stateful PCE Request Parameter (SRP) object and the LSP object. All procedures follow Section 3 of RFC 7470.
Per RFC 8231, it is RECOMMENDED that these PCEP extensions be activated only on authenticated and encrypted sessions between PCEs and PCCs using TLS, following the recommendations and best current practices in BCP 195 (RFC 9325).
The use of vendor-specific information may provide a covert channel that could be misused by PCEP speaker implementations or malicious software. Operators monitoring PCEP sessions can detect use of vendor-specific information and inspect it; robust integrity, authentication, and authorization for software installation are recommended mitigations.
The PCInitiate message format is extended by appending an optional vendor-info-list after the attribute-list in PCE-initiated-lsp-instantiation: <PCE-initiated-lsp-instantiation> ::= <SRP> <LSP> [<END-POINTS>] <ERO> [<attribute-list>] [<vendor-info-list>], where <vendor-info-list> ::= <VENDOR-INFORMATION> [<vendor-info-list>].
The PCRpt message format is extended by appending an optional vendor-info-list after the path element in each state-report. The vendor-info-list is defined as one or more VENDOR-INFORMATION objects: <state-report> ::= [<SRP>] <LSP> <path> [<vendor-info-list>], where <vendor-info-list> ::= <VENDOR-INFORMATION> [<vendor-info-list>].
The PCUpd message format is extended by appending an optional vendor-info-list after the path element in each update-request: <update-request> ::= <SRP> <LSP> <path> [<vendor-info-list>], where <vendor-info-list> ::= <VENDOR-INFORMATION> [<vendor-info-list>].