IS-IS 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 (28)
No additional sub-TLVs will be added to the PCED TLV in the future. If a future application requires advertisement of additional PCE information in IS-IS, it will not be carried in the CAPABILITY TLV, ensuring the PCED TLV remains stable and bounded.
PCE discovery information is by nature fairly static and does not change with PCE activity; changes occur only due to configuration updates, deployment/activation, deactivation, or failure. This justifies using IS-IS flooding rather than a more dynamic signaling mechanism.
The document leverages the generic IS-IS Router Capability advertisement mechanism from RFC 4971 rather than defining a new top-level TLV, reusing its flooding scope control (S flag) and backward-compatibility behavior to fully satisfy PCE discovery requirements.
An IS-IS router not supporting the PCED sub-TLV will silently ignore it as specified in RFC 4971, introducing no interoperability issues. The PCED sub-TLV is defined entirely within the existing Router Capability TLV framework.
A change in the state of a PCE (activate, deactivate, or parameter change) MUST result in a corresponding change in the PCED sub-TLV information advertised by an IS-IS router in its LSP. However, a change in PCED sub-TLV information MUST NOT trigger any SPF computation at a receiving router.
A PCE implementation SHOULD allow the following parameters to be configured: PCE IPv4/IPv6 addresses, PCE scope (inter-domain functions, preferences, default-PCE capability), PCE-Domains, neighbor PCE-Domains, and PCE capabilities.
Flooding scope is controlled by the S flag in the IS-IS Router Capability TLV. When scope is area-local, the PCED sub-TLV MUST be carried in a Router Capability TLV with S bit cleared; when scope is the entire IS-IS routing domain, the S bit MUST be set. When only the L bit of PATH-SCOPE is set, flooding scope MUST be area-local.
It is RECOMMENDED to use a PCE address (in PCE-ADDRESS sub-TLV) that is always reachable if there is any connectivity to the PCE, and the PCE address SHOULD be reachable via some prefixes advertised by IS-IS.
PCED sub-TLV information regarding a specific PCE is only considered current and useable when the router advertising this information is itself reachable via IS-IS calculated paths at the level of the LSP in which the PCED sub-TLV appears.
The NEIG-PCE-DOMAIN sub-TLV MUST be present at least once with domain-type 1 (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 sub-TLV. Any unrecognized sub-TLV MUST be silently ignored.
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 within a PCED sub-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 sub-TLV. If it appears more than once, only the first occurrence is processed and any others MUST be ignored.
To manage instability caused by frequent PCE information changes, it MUST be possible to apply configurable rate limits on announcement of changed parameters at a PCE, rate-limiting of PCED sub-TLV processing at PCCs, and configurable control of triggers that cause a PCC to swap to another PCE.
When the PCE function is deactivated, the IS-IS speaker advertising this PCE MUST originate a new IS-IS LSP that no longer includes the corresponding PCED TLV.
When the R bit is clear, the Rd bit SHOULD be clear on transmission and MUST be ignored on receipt. When the S bit is clear, the Sd bit SHOULD be clear on transmission and MUST be ignored on receipt. Similarly, when L/R/S/Y bits are cleared, the corresponding PrefL/PrefR/PrefS/PrefY fields SHOULD be set to 0 on transmission and MUST be ignored on receipt.
When the Rd and Sd bits are both set in PATH-SCOPE, the PCED sub-TLV MUST NOT contain a NEIG-PCE-DOMAIN sub-TLV, since setting these bits already implies the PCE can reach any neighbor area or AS.
The IS-IS PCED sub-TLV (Type 5, variable length) is the top-level container for PCE discovery information, carried within the IS-IS Router Capability TLV defined in RFC 4971. It contains a non-ordered set of five defined sub-TLVs: PCE-ADDRESS (1), PATH-SCOPE (2), PCE-DOMAIN (3), NEIG-PCE-DOMAIN (4), and PCE-CAP-FLAGS (5).
The PATH-SCOPE preference fields (PrefL, PrefR, PrefS, PrefY) are each 3 bits wide, encoding values 0–7 where 7 is highest preference. These preferences support weighted load balancing of path computation requests across PCEs; the algorithms for using them are a matter of local or network-wide policy.
IANA assigned sub-TLV codepoint 5 (PCED sub-TLV) in the IS-IS Router Capability TLV sub-TLV registry defined by RFC 4971. The PCE capability flags registry (for PCE-CAP-FLAGS) is separate, shared with OSPF, and managed via RFC 5088.
IS-IS provides no encryption mechanism for protecting the privacy of LSPs and, in particular, the privacy of PCE discovery information. Operators should be aware that PCED sub-TLV contents (PCE addresses, capabilities, domain scope) are transmitted in the clear.
The security of PCE discovery relies entirely on the security of IS-IS. Mechanisms from RFC 3567 for ensuring authenticity and integrity of IS-IS LSPs and their TLVs can be used to secure the PCED sub-TLV as well.
The NEIG-PCE-DOMAIN sub-TLV (Type 4, variable length) has the same format as PCE-DOMAIN: one octet domain-type (1=Area ID, 2=AS Number) followed by a variable-length IS-IS area ID or 32-bit AS number. Multiple instances are permitted when the PCE can compute paths toward several neighbor PCE-Domains.
The PATH-SCOPE sub-TLV (Type 2, LENGTH 3) contains a 1-octet flags field with bits L (intra-area), R (inter-area PCE), Rd (default inter-area PCE), S (inter-AS PCE), Sd (default inter-AS PCE), Y (inter-layer PCE), and 2 reserved bits; followed by a 2-octet preferences field with four 3-bit fields (PrefL, PrefR, PrefS, PrefY) and reserved padding.
The PCE-ADDRESS sub-TLV (Type 1) encodes one octet for address-type (1=IPv4, 2=IPv6) followed by 4 octets for IPv4 or 16 octets for IPv6, giving total LENGTH of 5 or 17. It MAY appear twice (once per address family) but MUST NOT appear more than once for the same address type.
The PCE-CAP-FLAGS sub-TLV (Type 5, LENGTH a multiple of 4) contains an array of 32-bit flags numbered from the most significant bit as bit zero, where each bit represents one PCE capability. The capability bit registry is shared with OSPF and managed by IANA per RFC 5088.
The PCE-DOMAIN sub-TLV (Type 3, variable length) encodes one octet domain-type (1=Area ID, 2=AS Number) followed by a variable-length IS-IS area ID or a 32-bit AS number. When a 2-octet AS number is used, the first two octets of the AS Number field MUST be set to 0.