RFC 9753: Extension for Stateful PCE to Allow Optional Processing of Path Computation Element Communication Protocol (PCEP) Objects
- C. Li,
- H. Zheng,
- S. Litkowski
Abstract
This document introduces a mechanism to mark some of the Path Computation Element Communication Protocol (PCEP) objects as optional during PCEP message exchange, so the stateful Path Computation Element (PCE) model can relax some constraints during path computation and setup. This document introduces this relaxation to stateful PCE, and it updates RFC 8231.¶
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
[RFC5440] describes the Path Computation Element Communication Protocol (PCEP), which enables communication between a Path Computation Client (PCC) and a Path Control Element (PCE), or between two PCEs based on the PCE architecture [RFC4655].¶
PCEP extensions for the stateful PCE model [RFC8231] describes a set of extensions to PCEP to enable active control of Multiprotocol Label Switching Traffic Engineering (MPLS-TE) and Generalized MPLS (GMPLS) tunnels. [RFC8281] describes the setup and teardown of PCE-initiated LSPs under the active stateful PCE model, without the need for local configuration on the PCC, thus allowing for dynamic control.¶
[RFC5440] defined the P flag
This document updates [RFC8231] concerning usage of the P and I flags as well as the handling of unknown objects in stateful PCEP message exchange.¶
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
2. Overview
Setting the P flag in the PCReq message to handle unknown objects is as described in Section 7.2 of [RFC5440]. Further, [RFC8231] defined the usage of the LSP Error Code TLV in the PCRpt message in response to a failed LSP Update Request via the PCUpd message (for example, due to an unsupported object or TLV).¶
This document specifies the procedure of marking some objects as 'optional to be processed' by the PCEP peer in the stateful PCEP messages. Furthermore, this document updates the procedure for handling unknown objects in stateful PCEP messages based on the P flag.¶
2.1. Usage Example
The PCRpt message is used to report the current state of an LSP. As
part of the message, both the <intended
Thus, this document specifies how the already existing P and I flags in the PCEP common object header could be used during the stateful PCEP message exchange. The scope of how P and I flags are applied is defined in [RFC5440] and is unchanged by this document. Therefore, these flags can only be applied to an entire PCEP object; they cannot be applied at the granularity of optional TLVs encoded in the PCEP object.¶
3. PCEP Extension
3.1. STATEFUL-PCE-CAPABILITY TLV
A PCEP speaker indicates its ability to support the handling of the
P and I flags in the stateful PCEP message exchange during the PCEP
initialization phase, as follows. During the PCEP initialization
phase, a PCC sends an Open message with an OPEN object that contains
the STATEFUL
R (RELAX bit - 17): If set to 1 by a PCEP Speaker, the R flag indicates that the PCEP Speaker is willing to handle the P and I flags in the PCEP common object header for the PCEP objects in the stateful PCEP messages. If the bit is unset, it indicates that the PCEP Speaker will not handle the P and I flags in the PCEP common object header for stateful PCE messages.¶
The R flag MUST be set by both the PCC and PCE to indicate support for handling the P and I flags in the PCEP common object header to allow relaxing some constraints by marking objects as 'optional to process'. If the PCEP speaker does not set the R flag but receives PCEP objects with the P or I bits set, it MUST ignore the flags. [RFC8231] states that P and I flags of the PCEP objects are set to 0 on transmission and ignored on receipt. It fails to mention the behaviour of objects defined outside of [RFC8231], leading to ambiguity.¶
3.2. Handling of the P Flag
3.2.1. The PCRpt Message
The P flag in the PCRpt message [RFC8231] allows a
PCC to specify to a PCE whether the object must be taken into
account by the PCE (during state maintenance, path computation, or
re
3.2.1.1. Delegation
Delegation is an operation to grant a PCE temporary rights to modify a subset of parameters on one or more LSPs by a PCC as described in [RFC8051]. Note that for the delegated LSPs, the PCE can update and mark some objects as ignored even when the PCC has set the P flag during the delegation. Similarly, the PCE can update and mark some objects as a 'must to process' even when the PCC has not set the P flag during delegation.¶
The PCC MUST acknowledge this by sending the PCRpt message with the P flag set as per the PCE expectation for the corresponding object. If the PCC cannot accept the update message, it MUST react as per the processing rules of unacceptable update in Section 5.8.3 of [RFC8231].¶
3.2.2. The PCUpd Message and the PCInitiate Message
The P flag in the PCUpd message [RFC8231] and the
PCInitiate message [RFC8281] allows a PCE to specify
to a PCC whether the object must be taken into account by the PCC
(during path setup) or is optional to process. When the P flag is
set in the PCUpd
3.3. Handling of the I Flag
3.3.1. The PCUpd Message
The I flag in the PCUpd message [RFC8231] allows a PCE to indicate to a PCC whether or not an optional object was processed. The PCE MAY include the ignored optional object in its update request and set the I flag to indicate that the optional object was ignored. When the I flag is cleared, the PCE indicates that the optional object was processed.¶
Note that when a PCE is unable to find the path that meets all the constraints as per the PCEP object that cannot be ignored (i.e. the P flag is set), the PCUpd message MAY optionally include the PCEP objects that caused the path computation to fail along with the empty ERO.¶
3.3.2. The PCRpt Message
The I flag in the PCRpt message [RFC8231] allows a PCC to indicate to a PCE whether or not an optional object was processed in response to a PCUpd or PCInitiate message. The PCC MAY include the ignored optional object in its report and set the I flag to indicate that the optional object was ignored at PCC. When the I flag is cleared, the PCC indicates that the optional object was processed. The I flag has no meaning if the PCRpt message is not in response to a PCUpd or PCInitiate message (i.e., without the SRP object in the PCRpt message).¶
Note that when a PCC is unable to set up a path that meets all the parameters as per the PCEP object that cannot be ignored (i.e., the P flag is set), the PCRpt message MAY optionally include the PCEP objects that caused the path setup to fail along with the LSP-ERROR-CODE TLV [RFC8231] indicating the reason for the failure.¶
3.3.3. The PCInitiate Message
The I flag has no meaning in the PCInitiate message [RFC8281], so the I flag MUST set to 0 on transmission and ignored on receipt.¶
3.4. Unknown Object Handling
This document updates the handling of unknown objects in the stateful PCEP messages by setting the P flag in the common object header in a similar way as described in [RFC5440]. That is, if a PCEP speaker does not understand an object with the P flag set, or if the PCEP speaker understands the object but decides to ignore the object, the entire stateful PCEP message MUST be rejected, and the PCE MUST send a PCErr message with Error- Type="Unknown Object" or "Not supported object" [RFC5440]. If the P flag is not set, the PCEP speaker can ignore the object and continue with the message processing as defined.¶
[RFC8231] defined the LSP Error Code TLV to be carried in the PCRpt message in the LSP object to convey error information. This document does not change that procedure.¶
4. Security Considerations
This document specifies how the already existing P and I flags in the PCEP common object header could be used during stateful PCEP exchanges. It updates the unknown object error handling in stateful PCEP message exchange. On their own, these changes do not add any new security concerns. The security considerations identified in [RFC5440], [RFC8231], and [RFC8281] continue to apply.¶
As per [RFC8231], it is RECOMMENDED that these PCEP extensions can only be activated on authenticated and encrypted sessions across PCEs and PCCs belonging to the same administrative authority, using Transport Layer Security (TLS) [RFC8253] as per the recommendations and best current practices described in [RFC9325].¶
5. IANA Considerations
5.1. STATEFUL-PCE-CAPABILITY TLV
[RFC8231] defined the STATEFUL
6. Manageability Considerations
6.1. Control of Function and Policy
An implementation supporting this document SHOULD allow configuration of the capability to support relaxation of constraints in the stateful PCEP message exchange. They SHOULD also allow configuration of related LSP constraints (or parameters) that are optional to process.¶
6.2. Information and Data Models
An implementation supporting this document SHOULD allow the operator to view the capability defined in this document. To serve this purpose, the PCEP YANG module [PCEP-YANG] could be extended in the future.¶
6.3. Liveness Detection and Monitoring
Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in [RFC5440].¶
6.4. Verify Correct Operations
Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in [RFC5440].¶
6.5. Requirements on Other Protocols
Mechanisms defined in this document do not imply any new requirements on other protocols.¶
6.6. Impact on Network Operations
Mechanisms defined in this document do not have any impact on network operations in addition to those already listed in [RFC5440].¶
7. References
7.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC5440]
-
Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, DOI 10
.17487 , , <https:///RFC5440 www >..rfc -editor .org /info /rfc5440 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8231]
-
Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE", RFC 8231, DOI 10
.17487 , , <https:///RFC8231 www >..rfc -editor .org /info /rfc8231 - [RFC8253]
-
Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, "PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP)", RFC 8253, DOI 10
.17487 , , <https:///RFC8253 www >..rfc -editor .org /info /rfc8253 - [RFC8281]
-
Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model", RFC 8281, DOI 10
.17487 , , <https:///RFC8281 www >..rfc -editor .org /info /rfc8281
7.2. Informative References
- [PCEP-YANG]
-
Dhody, D., Ed., Beeram, V. P., Hardwick, J., and J. Tantsura, "A YANG Data Model for Path Computation Element Communications Protocol (PCEP)", Work in Progress, Internet-Draft, draft
-ietf , , <https://-pce -pcep -yang -30 datatracker >..ietf .org /doc /html /draft -ietf -pce -pcep -yang -30 - [RFC4655]
-
Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, DOI 10
.17487 , , <https:///RFC4655 www >..rfc -editor .org /info /rfc4655 - [RFC8051]
-
Zhang, X., Ed. and I. Minei, Ed., "Applicability of a Stateful Path Computation Element (PCE)", RFC 8051, DOI 10
.17487 , , <https:///RFC8051 www >..rfc -editor .org /info /rfc8051 - [RFC8233]
-
Dhody, D., Wu, Q., Manral, V., Ali, Z., and K. Kumaki, "Extensions to the Path Computation Element Communication Protocol (PCEP) to Compute Service-Aware Label Switched Paths (LSPs)", RFC 8233, DOI 10
.17487 , , <https:///RFC8233 www >..rfc -editor .org /info /rfc8233 - [RFC9325]
-
Sheffer, Y., Saint-Andre, P., and T. Fossati, "Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)", BCP 195, RFC 9325, DOI 10
.17487 , , <https:///RFC9325 www >..rfc -editor .org /info /rfc9325
Acknowledgments
Thanks to Jonathan Hardwick for the discussion and suggestions around this document.¶
Thanks to Oscar Gonzalez de Dios, Mike Koldychev, Samuel Sidor, and Peng Shaofu for their review comments.¶