rfc-9005

Path Computation Element Communication Protocol (PCEP) Extension for Associating Policies and Label Switched Paths (LSPs)

S. Litkowski, S. Sivabalan, J. Tantsura, J. Hardwick, C. Li
date2021-03 streamIETF areartg wgpce statusPROPOSED STANDARD pages15 canonicalhttps://www.rfc-editor.org/rfc/rfc9005 doi10.17487/RFC9005
This document introduces a simple mechanism to associate policies with a group of Label Switched Paths (LSPs) via an extension to the Path Computation Element Communication Protocol (PCEP). The extension allows a PCEP speaker to advertise to a PCEP peer that a particular LSP belongs to a particular Policy Association Group (PAG).

Extracted elements (20)

design-rationale §3

The Policy Association mechanism avoids conveying policy details in PCEP messages, allowing PCEP speakers to associate LSPs with policies without knowing policy internals. This simplifies network operations, avoids frequent software upgrades, and speeds introduction of new policies.

mpls, routing

design-rationale §5.1

The POLICY-PARAMETERS-TLV is intentionally opaque at the protocol level, carrying parameters in any format understood by PCEP peers. This design choice decouples policy parameter encoding from the PCEP protocol itself, at the cost of requiring out-of-band agreement on encoding formats.

mpls, routing

interoperability-note §4

The PAG and the policy MUST be configured on the PCEP peers as per operator-configured association procedures (RFC 8697). The Policy Association Type is operator-configured, meaning the association is created manually on both PCEP peers before LSP membership can be conveyed via PCEP.

mpls, routing

normative-requirement §8.1 MUST

An operator MUST be allowed to configure the Policy Associations at PCEP peers and associate them with LSPs; they MAY also allow configuration of related policy parameters and encoding information for the POLICY-PARAMETERS-TLV.

mpls, routing

normative-requirement §4 MUST NOT

For the Policy Association Type, the Operator-configured Association Range MUST NOT be set and MUST be ignored if received, since there is no need to artificially limit available Association IDs.

mpls, routing

normative-requirement §4 MUST

If a PCE speaker receives a PAG in a PCEP message and the Policy Association information is not configured, it MUST return a PCErr message with Error-Type 26 'Association Error' and Error-value 4 'Association unknown'.

mpls, routing

normative-requirement §4 MUST NOT

If a PCEP speaker does not support handling multiple policies for an LSP, it MUST NOT add the LSP into the association group and MUST return a PCErr with Error-Type 26 'Association Error' and Error-value 7 'Cannot join the association group'.

mpls, routing

normative-requirement §4 MUST

If a PCEP speaker does not support the Policy Association Type, it MUST return a PCErr with Error-Type 26 'Association Error' and Error-value 1 'Association type is not supported'.

mpls, routing

normative-requirement §5.1 MUST

If at least one parameter in the POLICY-PARAMETERS-TLV is considered unacceptable (e.g., out of range, badly encoded), the PCEP speaker MUST reject the PCEP message and send a PCErr with Error-Type 26 'Association Error' and Error-value 13 'Unacceptable policy parameters'.

mpls, routing

normative-requirement §5.1 MUST

If the PCEP peer is unaware of the policy parameters associated with the policy and receives the POLICY-PARAMETERS-TLV, it MUST reject the PCEP message and send a PCErr with Error-Type 26 'Association Error' and Error-value 12 'Not expecting policy parameters'.

mpls, routing

normative-requirement §4 MUST

The capability exchange for the Policy Association Type (PAT) MUST be done before using the Policy Association. The PCEP speaker MUST include the PAT in the ASSOC-Type-List TLV and MUST receive the same from the PCEP peer before using the PAG in PCEP messages.

mpls, routing

normative-requirement §5.1 MUST

The encoding format and order of POLICY-PARAMETERS-TLV content MUST be known to the PCEP peers in advance, established during policy configuration. Only one POLICY-PARAMETERS-TLV can be carried; any additional occurrences MUST be ignored.

mpls, routing

protocol-element §4

The Policy Association Group (PAG) is a new association type (value 3) defined via the generic ASSOCIATION object from RFC 8697, used to associate one or more LSPs with operator-configured policies in PCEP messages.

mpls, routing

registry §7.3

IANA allocated two new Error-values for Error-Type 26 'Association Error': value 12 ('Not expecting policy parameters') and value 13 ('Unacceptable policy parameters') in the 'PCEP-ERROR Object Error Types and Values' subregistry.

registry, mpls

registry §7.1

IANA registered a new Association Type value 3 ('Policy Association') in the 'ASSOCIATION Type Field' subregistry of the 'Path Computation Element Protocol (PCEP) Numbers' registry.

registry, mpls

registry §7.2

IANA registered TLV Type Indicator value 48 ('POLICY-PARAMETERS-TLV') in the 'PCEP TLV Type Indicators' subregistry of the 'Path Computation Element Protocol (PCEP) Numbers' registry.

registry, mpls

security-consideration §6 RECOMMENDED

A malicious PCEP speaker could be spoofed and used as an attack vector by creating spurious Policy Associations. A spurious LSP can have policies inconsistent with legitimate LSPs, causing problems in policy handling. Securing the PCEP session using TLS as per BCP 195 is RECOMMENDED.

security, mpls, tls

security-consideration §6

Policy Association could provide an adversary with the opportunity to eavesdrop on the relationship between LSPs. RFC 8697 suggests using indirect values to hide sensitive business relationships.

security, privacy, mpls

security-consideration §6

The POLICY-PARAMETERS-TLV parsing is particularly sensitive since it is opaque to PCEP and can carry data with many different internal formats. Using a wrong decoder could produce garbage results; using standard and well-known policy formats is advised to mitigate this risk.

security, mpls

wire-format §5.1

The POLICY-PARAMETERS-TLV has Type=48 and variable length. The Value field carries opaque policy parameters, is variable-length, and is padded to 4-byte alignment; padding is not included in the Length field.

mpls, routing