Extensions to the Path Computation Element Communication Protocol (PCEP) for Inter-Layer MPLS and GMPLS Traffic Engineering
Extracted elements (25)
Multiple OF objects MAY be present in a PCReq to allow different Objective Functions to be applied within different network layers. The first OF object specifies an objective function for the higher-layer network, and subsequent OF objects specify objective functions for the subsequent lower-layer networks.
The I and M flags differ in key ways: when I=0, virtual TE links must not be used and loose hops spanning lower-layer networks must not be specified. When I=1 and M=0 and T=1, virtual TE links are allowed and loose hops spanning the lower-layer may be specified, which will initiate lower-layer LSP setup even though the path computation result includes hops from the same layer only.
When the SERVER-INDICATION object is included in a PCRep, the PCRep includes at least two sets of ERO information in the path-list: one for the client-layer path and one for the server-layer path. This allows the PCC (e.g., NMS or ingress node) to trigger signaling to set up LSPs at both layers according to computed paths.
The objects defined in this document (INTER-LAYER, SWITCH-LAYER, REQ-ADAP-CAP, SERVER-INDICATION) are applicable to stateful PCE messages (PCRpt, PCUpd) and PCE-initiated LSP messages (PCInitiate) consistent with RFC 8231 and RFC 8281, using the extended <attribute-list> defined in Section 5.
A PCE that forwards a path computation request to other PCEs MUST preserve the settings of reserved bits in the PCReq messages it sends and in the PCRep messages it forwards to PCCs.
If no INTER-LAYER object is present in a PCReq, the PCE MUST process the SWITCH-LAYER object as though inter-layer path computation had been explicitly disallowed, and in such a case the SWITCH-LAYER object MUST NOT have more than one LSP Encoding Type and Switching Type with the I flag set.
The SWITCH-LAYER object MUST NOT be present in a PCReq unless the INTER-LAYER object is also present.
When metric type 18 is used in a PCReq, path computation MUST minimize or bound the number of adaptations on a path; when metric type 19 is used, path computation MUST minimize or bound the number of layers involved.
When the C flag of the METRIC object in a PCReq is set, the METRIC object MUST be included in the PCRep to provide the computed metric value, as specified in RFC 5440.
When the I flag is clear (zero) in a PCRep, the path returned MUST NOT be an inter-layer path. If the I flag is clear, the T flag has no meaning and MUST be ignored.
When the I flag is set, the M flag is clear, and the T flag is clear, triggered signaling is not allowed; virtual TE links that have not been pre-signaled MUST NOT be used in path computation, and loose hops spanning the lower-layer network MUST NOT be specified.
When the INTER-LAYER object is absent from a PCReq message, the receiving PCE MUST process as though inter-layer path computation had been explicitly disallowed (I-bit set to zero).
The INTER-LAYER object (Object-Class 36, Object-Type 1) is a 32-bit object containing three flags (I, M, T) used in PCReq and PCRep messages to indicate whether inter-layer path computation is allowed, whether a mono-layer or multi-layer path is requested/returned, and whether triggered signaling is allowed/required.
The REQ-ADAP-CAP object (Object-Class 38, Object-Type 1) is optional and specifies the requested adaptation capability for both ends of the lower-layer LSP, using Switching Capability (8 bits) and Encoding (8 bits) fields based on RFC 6001 semantics.
The SERVER-INDICATION object (Object-Class 39, Object-Type 1) is optional and indicates that ERO path information is server-layer information, specifying the server layer's Switching Capability (8 bits), Encoding (8 bits), and optional TLVs for additional server-layer path information.
The SWITCH-LAYER object (Object-Class 37, Object-Type 1) is optional on PCReq messages and specifies switching layers (as switching type and encoding type per RFC 3471) in which a path MUST or MUST NOT be established. Each row contains LSP Encoding Type (8 bits), Switching Type (8 bits), Reserved, and an I flag (1 bit).
Two new metric types are defined for the PCEP METRIC object: metric type 18 indicates 'Number of adaptations on a path' and metric type 19 indicates 'Number of layers on a path'. These can be used to minimize or bound adaptation count and layer count in computed paths.
IANA has assigned four new PCEP Object-Classes in the 'PCEP Objects' subregistry: INTER-LAYER (36), SWITCH-LAYER (37), REQ-ADAP-CAP (38), and SERVER-INDICATION (39), each with Object-Type 1 as the active type and types 2-15 unassigned.
IANA has assigned two new values in the 'Metric Object T Field' registry: value 18 for 'Number of adaptations on a path' and value 19 for 'Number of layers on a path', both defined by RFC 8282 with IETF Review registration procedure.
IANA has created a new 'Inter-Layer Object Path Property Bits' subregistry for the INTER-LAYER object Flag field, with bits 0-28 unassigned, bit 29 (T) for Triggered Signaling Allowed, bit 30 (M) for Multi-Layer Requested, and bit 31 (I) for Inter-Layer Allowed. New bits require IETF Review.
Inter-layer traffic engineering with PCE may raise new security issues when PCE-PCE communication is done between different layer networks, and when a single PCE is granted full visibility of TE information across multiple layers. The Path-Key-based mechanism defined in RFC 5520 MAY be applied to address topology confidentiality between different layers.
The INTER-LAYER object body is a single 32-bit word with Reserved bits in bits 0-28, T flag at bit 29, M flag at bit 30, and I flag at bit 31. All reserved bits MUST be transmitted as zero and SHOULD be ignored on receipt.
The REQ-ADAP-CAP object body is a single 32-bit word: Switching Capability (8 bits) from RFC 4203, Encoding (8 bits) from RFC 3471, and Reserved (16 bits). When only Switching Capability is specified, Encoding MUST be set to zero.
The SERVER-INDICATION object body contains Switching Capability (8 bits), Encoding (8 bits), Reserved (16 bits), followed by optional TLVs that may specify traffic parameters or other server-layer path details.
The SWITCH-LAYER object body contains one or more 32-bit rows, each with LSP Encoding Type (8 bits), Switching Type (8 bits), Reserved (15 bits), and I flag (1 bit). When I=1, the path MUST traverse a layer with that switching/encoding type; when I=0, the path MUST NOT enter or traverse any layer with that combination.