OSPF Protocol Extensions for Path Computation Element (PCE) Discovery
updated by
- rfc-9353 — IGP Extension for Path Computation Element Communication Protocol (PCEP) Security Capability Support in PCE Discovery (PCED)
Extracted elements (27)
IGP flooding is chosen as the PCE discovery mechanism because when PCEs are LSRs or servers participating in the IGP, it provides a simple and efficient way to announce PCEs dynamically. This avoids requiring a separate discovery protocol and leverages existing OSPF infrastructure.
No additional sub-TLVs will ever be added to the PCED TLV; future PCE information advertisement in OSPF will use a different LSA rather than extending the Router Information LSA. This prevents unbounded growth of a single TLV type.
The PCED TLV is carried within the existing OSPF Router Information LSA (RFC 4970) rather than defining a new LSA type. This leverages the generic capability advertisement mechanism already defined for OSPF, reusing its flooding scope controls and procedures.
The PrefL/PrefR/PrefS/PrefY 3-bit preference fields allow operators to configure weighted load balancing across PCEs with different computation scopes, enabling a PCE capable of both inter-area and inter-AS computation to be preferred for one scope over another without binary exclusion.
Routers not supporting the PCED TLV will silently ignore it as specified in RFC 4970, ensuring backward compatibility. The PCED TLV does not introduce any interoperability issues with existing OSPF implementations.
The PCED TLV is only considered current and useable when the router advertising it is itself reachable via OSPF calculated paths in the same area of the LSA in which the PCED TLV appears. Stale information from unreachable routers must not be used.
When the AS number is coded in two octets (2-byte ASN), the AS Number field in PCE-DOMAIN and NEIG-PCE-DOMAIN sub-TLVs MUST have its first two octets set to 0 to fit within the 32-bit Domain ID field.
A change in the state of a PCE (activate, deactivate, or parameter change) MUST result in a corresponding change in the PCED TLV information advertised. A change in PCED TLV information MUST NOT trigger any SPF computation at a receiving router.
Malformed PCED TLVs or sub-TLVs not explicitly described in this document MUST cause the LSA to be treated as malformed according to normal OSPF procedures. Any unrecognized sub-TLV MUST be silently ignored.
The NEIG-PCE-DOMAIN sub-TLV MUST be present at least once with domain-type=1 (OSPF Area ID) if the R bit is set and Rd bit is cleared, and MUST be present at least once with domain-type=2 (AS Number) if the S bit is set and Sd bit is cleared.
The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within the PCED TLV. These two sub-TLVs are mandatory for any valid PCE discovery advertisement.
The PCE-ADDRESS sub-TLV MUST NOT appear more than once for the same address type. If it appears more than once for the same address type, only the first occurrence is processed and any others MUST be ignored.
The PCE-CAP-FLAGS sub-TLV MUST NOT be present more than once in the PCED TLV. If it appears more than once, only the first occurrence is processed and any others MUST be ignored.
There MUST be exactly one instance of the PATH-SCOPE sub-TLV within each PCED TLV. If it appears more than once, only the first occurrence is processed and any others MUST be ignored.
To control network stability impact, it MUST be possible to apply configurable rate limiting on PCE announcement of changed parameters, control of PCED TLV processing rate on PCCs, and configurable control of triggers that cause a PCC to swap to another PCE.
When only the L bit of the PATH-SCOPE sub-TLV is set (intra-area only PCE), the flooding scope MUST be area local, requiring use of OSPFv2 type 10 or OSPFv3 Router Information LSA with S1 set and S2 clear.
When the PCE function is deactivated, the OSPF speaker MUST originate a new Router Information LSA that no longer includes the PCED TLV. If no other TLVs remain, it MUST either send an empty Router Information LSA or purge it by prematurely aging it.
When the Rd and Sd bits are set in the PATH-SCOPE sub-TLV, the PCED TLV MUST NOT contain a NEIG-PCE-DOMAIN sub-TLV. When the R bit is clear, the Rd bit MUST be ignored on receipt; when S bit is clear, the Sd bit MUST be ignored on receipt.
The OSPF PCE Discovery TLV (PCED TLV) is carried within the OSPF Router Information LSA and contains a non-ordered set of sub-TLVs. It is assigned type value 6 and uses the same TLV format as Traffic Engineering Extensions to OSPF (RFC 3630): 2-octet type, 2-octet length, variable value, padded to 4-octet alignment.
IANA assigned TLV codepoint 6 (PCED) in the registry for TLVs carried in the OSPF Router Information LSA defined in RFC 4970.
IANA created the 'PCE Capability Flags' registry, a top-level OSPF registry managing 32-bit capability flags for PCE-CAP-FLAGS. Initial assignments include bits 0-8 for GMPLS constraints, bidirectional, diverse, load-balanced, synchronized, multiple objectives, additive constraints, request prioritization, and multiple requests per message. New bits require IETF Consensus.
PCE discovery security relies on the security of OSPF. Authenticity and integrity of OSPF LSAs and their TLVs can be secured using mechanisms defined in RFC 2154. However, OSPF provides no encryption mechanism for protecting the privacy of LSAs, including PCE discovery information.
The NEIG-PCE-DOMAIN sub-TLV (type=4, length=8) specifies a neighbor PCE-Domain toward which a PCE can compute paths. It has the same format as PCE-DOMAIN: 2-octet domain-type (1=OSPF Area ID, 2=AS Number), 2-octet reserved, and 32-bit Domain ID.
The PATH-SCOPE sub-TLV (type=2, length=4) contains a 2-octet flags field with bits L, R, Rd, S, Sd, Y indicating supported path scopes (intra-area, inter-area, inter-area default, inter-AS, inter-AS default, inter-layer), plus four 3-bit preference fields (PrefL, PrefR, PrefS, PrefY) for load balancing.
The PCE-ADDRESS sub-TLV (type=1) carries the IP address used to reach the PCE. Length is 8 octets for IPv4 and 20 octets for IPv6. The value field contains a 2-octet address-type (1=IPv4, 2=IPv6), 2-octet reserved field, and the PCE IP address.
The PCE-CAP-FLAGS sub-TLV (type=5, length a multiple of 4 octets) carries an array of 32-bit flags numbered from most significant bit as bit zero, each bit representing one PCE capability such as GMPLS constraints, bidirectional paths, diversity, load balancing, synchronization, and request prioritization.
The PCE-DOMAIN sub-TLV (type=3, length=8) specifies a PCE-Domain where the PCE has topology visibility. It contains a 2-octet domain-type (1=OSPF Area ID, 2=AS Number), 2-octet reserved, and a 32-bit Domain ID.