rfc-9863

Path Computation Element Protocol (PCEP) Extension for Color

B. Rajagopalan, V. Beeram, S. Peng, M. Koldychev, G. Mishra
date2025-10 streamIETF areartg wgpce statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc9863 doi10.17487/RFC9863
Color is a 32-bit numerical (unsigned integer) attribute used to associate a Traffic Engineering (TE) tunnel or policy with an intent or objective. For example, a TE Tunnel constructed to deliver low latency services and whose path is optimized for delay can be tagged with a color that represents "low latency." This document specifies extensions to the Path Computation Element Protocol (PCEP) to carry the color attribute.

Extracted elements (19)

design-rationale §2

The COLOR TLV is carried in the LSP object (rather than a new object) because the LSP object is already a mandatory inclusion in PCRpt, PCUpd, and PCInitiate messages under the stateful PCE model, making it a natural container for per-LSP attributes like color.

routing

design-rationale §1

The term 'color' in this document must not be interpreted as the 'thread color' from RFC 3063 or the 'resource color' (link color) from RFCs 3630, 5329, 5305, and 7308. This clarification prevents confusion with pre-existing TE coloring concepts that serve distinct purposes.

routing

interoperability-note §2

If the COLOR TLV appears in the LSP object of a message that also carries an ASSOCIATION object of type SR Policy Association (RFC 9862), the COLOR TLV is ignored and the color encoded in the SR Policy Association takes precedence.

routing

interoperability-note §2

LSPs belonging to the same TE Tunnel within the same Path Protection Association Group (RFC 8745) are all expected to carry the same color value; inconsistency is treated as an error.

routing

interoperability-note §1

The extensions defined in this document MUST NOT be used to carry the color attribute for SR paths established using RFC 9862 (SR Policy Candidate Paths), because the color is already included as part of the SR Policy identifier encoding in that specification.

routing

normative-requirement §2 MUST NOT

A PCEP speaker that advertises both color capability and SR Policy Association (RFC 9862) capability MUST NOT send the COLOR TLV in the LSP object for SR Paths; for such paths the color is encoded in the SR Policy Association object.

routing

normative-requirement §2 MUST NOT

A PCEP speaker that has advertised color capability MUST NOT send the COLOR TLV in the LSP object to a PCEP peer that has not advertised color capability.

routing

normative-requirement §5.1 SHOULD

An implementation supporting this document SHOULD allow the operator to enable or disable the PCEP color capability advertisement and SHOULD allow configuration of color assignment to a TE Tunnel or SR Policy.

routing

normative-requirement §2 MUST

If a PCC is unable to honor a color value passed in a PCUpd or PCInitiate message, the PCC MUST reject the message and send a PCErr with Error-Type=19 (Invalid Operation) and Error-value=31 (Invalid color).

routing

normative-requirement §2 SHOULD

Only one COLOR TLV SHOULD be included in the LSP object. If the COLOR TLV appears more than once, only the first occurrence is processed and any others MUST be ignored.

routing

normative-requirement §2 MUST

When a PCEP speaker determines inconsistency in the color associated with LSPs belonging to the same Path Protection Association Group, it MUST reject the offending message and send a PCErr with Error-Type=19 and Error-value=32 (Inconsistent color).

routing

protocol-element §3.1

Color capability is advertised by setting the C-bit (Bit 20) in the STATEFUL-PCE-CAPABILITY TLV during PCEP session Open message exchange. This flag signals that the PCEP speaker supports the color attribute defined in this document.

routing

protocol-element §1

Color is a 32-bit unsigned integer attribute used to associate a TE Tunnel or SR Policy with an intent or objective (e.g., 'low latency'). It is carried in the COLOR TLV within the LSP object of PCRpt, PCUpd, and PCInitiate messages.

routing, mpls

registry §6.2

IANA assigned Bit 20 (COLOR-CAPABILITY) in the 'STATEFUL-PCE-CAPABILITY TLV Flag Field' registry to indicate support for the color capability defined in this document.

registry, routing

registry §6.1

IANA assigned TLV Type 67 in the 'PCEP TLV Type Indicators' registry for the COLOR TLV defined by this document.

registry, routing

registry §6.3

IANA assigned two new Error-values under Error-Type=19 (Invalid Operation) in the 'PCEP-ERROR Object Error Types and Values' registry: Error-value=31 (Invalid Color) and Error-value=32 (Inconsistent Color).

registry, routing

registry §6.4

IANA deprecated LSP-ERROR-CODE TLV Error Code value 9 ('Unsupported Color'), which had been early-allocated for a draft version of this document but is no longer used in the final specification.

registry, routing

security-consideration §4

The COLOR TLV and color-capability flag do not introduce security concerns beyond those in RFC 5440, RFC 8231, and RFC 8281. However, an unauthorized PCE could maliciously associate an LSP with an incorrect color; RFC 8253 (PCEPS/TLS) and RFC 9325 (secure TLS usage) should be used to protect against this.

security, routing

wire-format §3.2

The COLOR TLV has Type=67, Length=4 (fixed), and a 4-byte Color field carrying the unsigned integer color value. A value of zero is explicitly allowed.

routing