rfc-9504

Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE Usage in GMPLS-Controlled Networks

Y. Lee, H. Zheng, O. Gonzalez de Dios, V. Lopez, Z. Ali
date2023-12 streamIETF areartg wgpce statusPROPOSED STANDARD pages22 canonicalhttps://www.rfc-editor.org/rfc/rfc9504 doi10.17487/RFC9504
The Path Computation Element Communication Protocol (PCEP) has been extended to support stateful PCE functions where the stateful PCE maintains information about paths and resource usage within a network; however, these extensions do not cover all requirements for GMPLS networks. This document provides the extensions required for PCEP so as to enable the usage of a stateful PCE capability in GMPLS-controlled networks.

updated by

Extracted elements (26)

design-rationale §3

Active stateful PCEs use PCUpd messages (PCE to PCC) to update delegated GMPLS LSP state, with PCRpt responses; passive stateful PCEs use PCReq/PCRep for computation plus PCRpt for state change reporting. This distinction drives which GMPLS-specific objects appear in which messages.

routing

design-rationale §4

In WDM networks, path computation is tightly coupled with label (lambda) selection due to lambda continuity and feasibility constraints. This requires the PCE to provide label information (Explicit Label Control, ELC) to the PCC when initiating GMPLS LSPs under the active stateful PCE model.

routing

interoperability-note §5.2

GMPLS-specific objects defined in RFC 8779 (END-POINTS with GMPLS extensions, BANDWIDTH, LSPA, IRO, XRO) and the SWITCH-LAYER object from RFC 8282 are reused without modification in stateful PCEP messages (PCRpt, PCUpd, PCInitiate) for GMPLS networks.

routing

interoperability-note §6.2.2

The LSP Exclusion subobject (Type 11 in XRO) could also be used by non-GMPLS LSPs; however, specifying its usage for non-GMPLS LSPs is explicitly outside the scope of RFC 9504.

routing

normative-requirement §6.1 MUST

All stateful PCEP messages MUST include the END-POINTS object with Generalized Endpoint object type containing the LABEL-REQUEST TLV for GMPLS LSPs. If unnumbered endpoint addresses are used, the UNNUMBERED-ENDPOINT TLV MUST be used.

routing

normative-requirement §7.1 SHOULD

If a PCC understands the LSP-INSTANTIATION-CAPABILITY flag but did not advertise it, and receives a PCInitiate message for a GMPLS LSP, it SHOULD generate a PCErr with Error-Type 19 Error-value 27 and terminate the PCEP session.

routing

normative-requirement §7.1 SHOULD

If a PCC understands the LSP-UPDATE-CAPABILITY flag but did not advertise it, and receives a PCUpd message for a GMPLS LSP, it SHOULD generate a PCErr with Error-Type 19 Error-value 25 ('Attempted LSP update request for GMPLS if stateful PCE capability not advertised') and terminate the PCEP session.

routing

normative-requirement §7.1 SHOULD

If a PCE understands the LSP-REPORT-CAPABILITY flag but did not advertise it, and receives a PCRpt message for a GMPLS LSP, it SHOULD generate a PCErr with Error-Type 19 Error-value 26 and terminate the PCEP session.

routing

normative-requirement §7.3 SHOULD

If a stateful PCE cannot recognize the symbolic path name in an LSP Exclusion subobject, it SHOULD send PCErr with Error-Type 19 Error-value 24 ('LSP state info for route exclusion not found').

routing

normative-requirement §7.2 SHOULD

If a stateful PCE has no LSP state information available to carry out LSP reoptimization when the R bit is set in the RP object, it SHOULD report Error-Type 19 Error-value 23 ('LSP state info unavailable for reoptimization').

routing

normative-requirement §7.4 MUST

If the END-POINTS object is missing and the GMPLS G flag in LSP-EXTENDED-FLAG is set, the receiving PCE or PCC MUST send a PCErr with Error-Type 6 ('Mandatory Object missing') Error-value 3. If the Generalized Endpoint object type is received but the LSP-EXTENDED-FLAG TLV or G flag is absent, Error-Type 19 Error-value 28 MUST be sent.

routing

normative-requirement §7.4 MUST

If the END-POINTS object with Generalized Endpoint object type is missing the LABEL-REQUEST TLV, the receiving PCE or PCC MUST send a PCErr with Error-Type 6 Error-value 20 ('LABEL-REQUEST TLV missing').

routing

normative-requirement §6.2.1 MUST

The LSP-INSTANTIATION-CAPABILITY flag (I, bit 29) MUST be set by both the PCC and the PCE to enable PCE-initiated GMPLS LSP instantiation.

routing

normative-requirement §6.2.1 MUST

The LSP-REPORT-CAPABILITY flag (R, bit 31) MUST be advertised by both the PCC and the PCE for PCRpt messages to be allowed on a PCEP session for a GMPLS LSP.

routing

normative-requirement §6.2.1 MUST

The LSP-UPDATE-CAPABILITY flag (U, bit 30) MUST be advertised by both a PCC and a PCE for PCUpd messages to be allowed on a PCEP session for a GMPLS LSP.

routing

normative-requirement §7.1 MUST NOT

The PCEP extensions described in this document for stateful PCEs with GMPLS capabilities MUST NOT be used if the PCE has not advertised its capabilities with GMPLS as per Section 6.2.1.

routing, security

normative-requirement §6.2.2 MUST

When a stateful PCE receives a PCReq message carrying the LSP Exclusion subobject, it MUST search for the identified LSP in its LSP-DB and exclude from the new path computation all resources used by the identified LSP.

routing

protocol-element §6.2.1

Three new flags are added to the GMPLS-CAPABILITY TLV (value 45 in PCEP TLV Type Indicators): R (LSP-REPORT-CAPABILITY, bit 31), U (LSP-UPDATE-CAPABILITY, bit 30), and I (LSP-INSTANTIATION-CAPABILITY, bit 29). These flags, when set, advertise the ability to send/receive PCRpt, PCUpd, and PCInitiate messages respectively for GMPLS LSPs.

routing, bgp

protocol-element §6.2.3

Three new flags are defined in the LSP-EXTENDED-FLAG TLV (RFC 9357) for use in PCUpd, PCRpt, and PCInitiate messages: G (bit 0, GMPLS LSP indicator), B (bit 1, bidirectional co-routed LSP), and RG (bits 2-3, Routing Granularity with values 00=reserved, 01=node, 10=link, 11=label).

routing

registry §8.2

A new XRO subobject type is allocated in the IANA 'XRO Subobjects' subregistry within 'Path Computation Element Protocol (PCEP) Numbers': value 11 for LSP (the LSP Exclusion subobject).

routing, registry

registry §8.4

Four new entries are registered in the 'LSP-EXTENDED-FLAG TLV Flag Field' subregistry: bit 0 (GMPLS LSP, G), bit 1 (Bidirectional Co-routed LSP, B), and bits 2-3 (Routing Granularity, RG), all referencing RFC 9504.

routing, registry

registry §8.3

IANA has created a new 'LSP Exclusion Subobject Flag Field' registry within the PCEP Numbers group to manage the Flag field of the LSP Exclusion subobject. Bits 0-7 are currently unassigned; new values are assigned by Standards Action.

routing, registry

registry §8.5

Six new PCEP error codes are allocated in the 'PCEP-ERROR Object Error Types and Values' registry: Error-Type 6 Error-value 20 (LABEL-REQUEST TLV missing), and Error-Type 19 Error-values 23-28 covering reoptimization failure, route exclusion LSP not found, and capability advertisement violations for update, report, and instantiation.

routing, registry

registry §8.1

Three new bits are registered in the IANA 'GMPLS-CAPABILITY TLV Flag Field' subregistry (created by RFC 8779): bit 31 (LSP-REPORT-CAPABILITY, R), bit 30 (LSP-UPDATE-CAPABILITY, U), and bit 29 (LSP-INSTANTIATION-CAPABILITY, I), all referencing RFC 9504.

routing, registry

security-consideration §10

Security considerations from RFC 5440 (base PCEP), RFC 8779 (GMPLS PCEP), RFC 8231 (stateful PCE), and RFC 8281 (PCE-initiated LSPs) all apply to this document. Secure transport via TLS as specified in RFC 8253 (PCEPS) is applicable and recommended.

security, routing, tls

wire-format §6.2.2

The LSP Exclusion subobject for the XRO (Type 11) is a variable-length structure: 1-bit X flag (mandatory/desired exclusion), 7-bit Type (value 11), 1-byte Length, 1-byte Reserved, 1-byte Flags, and a variable-length Symbolic Path Name (printable ASCII, no NULL terminator). Multiple instances may appear in a single XRO.

routing