rfc9753v1.txt   rfc9753.txt 
Internet Engineering Task Force (IETF) C. Li Internet Engineering Task Force (IETF) C. Li
Request for Comments: 9753 H. Zheng Request for Comments: 9753 H. Zheng
Updates: 8231 Huawei Technologies Updates: 8231 Huawei Technologies
Category: Standards Track S. Litkowski Category: Standards Track S. Litkowski
ISSN: 2070-1721 Cisco ISSN: 2070-1721 Cisco
March 2025 April 2025
Extension for Stateful PCE to Allow Optional Processing of Path Extension for Stateful PCE to Allow Optional Processing of Path
Computation Element Communication Protocol (PCEP) Objects Computation Element Communication Protocol (PCEP) Objects
Abstract Abstract
This document introduces a mechanism to mark some of the Path This document introduces a mechanism to mark some of the Path
Computation Element Communication Protocol (PCEP) objects as optional Computation Element Communication Protocol (PCEP) objects as optional
during PCEP message exchange, so the stateful Path Computation during PCEP message exchange, so the stateful Path Computation
Element (PCE) model can relax some constraints during path Element (PCE) model can relax some constraints during path
skipping to change at line 77 skipping to change at line 77
4. Security Considerations 4. Security Considerations
5. IANA Considerations 5. IANA Considerations
5.1. STATEFUL-PCE-CAPABILITY TLV 5.1. STATEFUL-PCE-CAPABILITY TLV
6. Manageability Considerations 6. Manageability Considerations
6.1. Control of Function and Policy 6.1. Control of Function and Policy
6.2. Information and Data Models 6.2. Information and Data Models
6.3. Liveness Detection and Monitoring 6.3. Liveness Detection and Monitoring
6.4. Verify Correct Operations 6.4. Verify Correct Operations
6.5. Requirements on Other Protocols 6.5. Requirements on Other Protocols
6.6. Impact on Network Operations 6.6. Impact on Network Operations
7. Acknowledgments 7. References
8. References 7.1. Normative References
8.1. Normative References 7.2. Informative References
8.2. Informative References Acknowledgments
Contributors Contributors
Authors' Addresses Authors' Addresses
1. Introduction 1. Introduction
[RFC5440] describes the Path Computation Element Communication [RFC5440] describes the Path Computation Element Communication
Protocol (PCEP), which enables communication between a Path Protocol (PCEP), which enables communication between a Path
Computation Client (PCC) and a Path Control Element (PCE), or between Computation Client (PCC) and a Path Control Element (PCE), or between
two PCEs based on the PCE architecture [RFC4655]. two PCEs based on the PCE architecture [RFC4655].
skipping to change at line 130 skipping to change at line 130
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Overview 2. Overview
[RFC5440] describes the handling of unknown objects as per the Setting the P flag in the PCReq message to handle unknown objects is
setting of the P flag for the PCReq message. Further, [RFC8231] as described in Section 7.2 of [RFC5440]. Further, [RFC8231] defined
defined the usage of the LSP Error Code TLV in the PCRpt message in the usage of the LSP Error Code TLV in the PCRpt message in response
response to a failed LSP Update Request via the PCUpd message (for to a failed LSP Update Request via the PCUpd message (for example,
example, due to an unsupported object or TLV). due to an unsupported object or TLV).
This document specifies the procedure of marking some objects as This document specifies the procedure of marking some objects as
'optional to be processed' by the PCEP peer in the stateful PCEP 'optional to be processed' by the PCEP peer in the stateful PCEP
messages. Furthermore, this document updates the procedure for messages. Furthermore, this document updates the procedure for
handling unknown objects in stateful PCEP messages based on the P handling unknown objects in stateful PCEP messages based on the P
flag. flag.
2.1. Usage Example 2.1. Usage Example
The PCRpt message is used to report the current state of an LSP. As The PCRpt message is used to report the current state of an LSP. As
part of the message, both the <intended-attribute-list> and <actual- part of the message, both the <intended-attribute-list> and <actual-
attribute-list> are encoded (see [RFC8231]). For example, the attribute-list> are encoded (see [RFC8231]). For example, the
<intended-attribute-list> could include the METRIC object to indicate <intended-attribute-list> could include the METRIC object to indicate
a limiting constraint (Bound 'B' flag set) for the Path Delay a limiting constraint (Bound 'B' flag set) for the Path Delay
Variation metric [RFC8233]. In some scenarios, it would be useful to Variation metric [RFC8233]. In some scenarios, it would be useful to
indicate that this constraint can be relaxed by the PCE in case it indicate that this constraint can be relaxed by the PCE in case it
cannot find a path. In these cases, it would be useful to mark the cannot find a path. In these cases, it would be useful to mark the
objects as 'optional' and they could be ignored by the PCEP peer. objects as 'optional' so they could be ignored by the PCEP peer.
Also, it would be useful for the PCEP speaker to learn if the PCEP Also, it would be useful for the PCEP speaker to learn if the PCEP
peer has relaxed the constraint and ignored the processing of the peer has relaxed the constraint and ignored the processing of the
PCEP object. PCEP object.
Thus, this document specifies how the already existing P and I flags Thus, this document specifies how the already existing P and I flags
in the PCEP common object header could be used during the stateful in the PCEP common object header could be used during the stateful
PCEP message exchange. It should be noted that similar to handling PCEP message exchange. The scope of how P and I flags are applied is
of P and I flags in [RFC5440], the flag applies to full PCEP object defined in [RFC5440] and is unchanged by this document. Therefore,
and could not be applied to the granularity of an optional TLVs these flags can only be applied to an entire PCEP object; they cannot
encoded in the PCEP object. be applied at the granularity of optional TLVs encoded in the PCEP
object.
3. PCEP Extension 3. PCEP Extension
3.1. STATEFUL-PCE-CAPABILITY TLV 3.1. STATEFUL-PCE-CAPABILITY TLV
A PCEP speaker indicates its ability to support the handling of the P 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 and I flags in the stateful PCEP message exchange during the PCEP
initialization phase, as follows. During the PCEP initialization initialization phase, as follows. During the PCEP initialization
phase, a PCC sends an Open message with an OPEN object that contains phase, a PCC sends an Open message with an OPEN object that contains
the STATEFUL-PCE-CAPABILITY TLV, as defined in [RFC8231]. A new the STATEFUL-PCE-CAPABILITY TLV, as defined in [RFC8231]. A new
skipping to change at line 277 skipping to change at line 278
Note that when a PCE is unable to find the path that meets all the 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 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 P flag is set), the PCUpd message MAY optionally include the PCEP
objects that caused the path computation to fail along with the empty objects that caused the path computation to fail along with the empty
ERO. ERO.
3.3.2. The PCRpt Message 3.3.2. The PCRpt Message
The I flag in the PCRpt message [RFC8231] allows a PCC to indicate to 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 PCE whether or not an optional object was processed in response to
an LSP Update Request (PCUpd) or LSP Initiate Request (PCInitiate). a PCUpd or PCInitiate message. The PCC MAY include the ignored
The PCC MAY include the ignored optional object in its report and set optional object in its report and set the I flag to indicate that the
the I flag to indicate that the optional object was ignored at PCC. optional object was ignored at PCC. When the I flag is cleared, the
When the I flag is cleared, the PCC indicates that the optional PCC indicates that the optional object was processed. The I flag has
object was processed. The I flag has no meaning if the PCRpt message no meaning if the PCRpt message is not in response to a PCUpd or
is not in response to a PCUpd or PCInitiate message (i.e., without PCInitiate message (i.e., without the SRP object in the PCRpt
the SRP object in the PCRpt message). message).
Note that when a PCC is unable to set up a path that meets all the 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 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 flag is set), the PCRpt message MAY optionally include the PCEP
objects that caused the path setup to fail along with the LSP-ERROR- objects that caused the path setup to fail along with the LSP-ERROR-
CODE TLV [RFC8231] indicating the reason for the failure. CODE TLV [RFC8231] indicating the reason for the failure.
3.3.3. The PCInitiate Message 3.3.3. The PCInitiate Message
The I flag has no meaning in the PCinitiate message [RFC8281], so the 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. I flag MUST set to 0 on transmission and ignored on receipt.
3.4. Unknown Object Handling 3.4. Unknown Object Handling
This document updates the handling of unknown objects in the stateful This document updates the handling of unknown objects in the stateful
PCEP messages as per the setting of the P flag in the common object PCEP messages by setting the P flag in the common object header in a
header in a similar way as [RFC5440], i.e. if a PCEP speaker does not similar way as described in [RFC5440]. That is, if a PCEP speaker
understand an object with the P flag set or understands the object does not understand an object with the P flag set, or if the PCEP
but decides to ignore the object, the entire stateful PCEP message speaker understands the object but decides to ignore the object, the
MUST be rejected and the PCE MUST send a PCErr message with Error- entire stateful PCEP message MUST be rejected, and the PCE MUST send
Type="Unknown Object" or "Not supported object" [RFC5440]. If the P a PCErr message with Error- Type="Unknown Object" or "Not supported
flag is not set, the PCEP speaker can ignore the object and continue object" [RFC5440]. If the P flag is not set, the PCEP speaker can
with the message processing as defined. ignore the object and continue with the message processing as
defined.
[RFC8231] defined the LSP Error Code TLV to be carried in the PCRpt [RFC8231] defined the LSP Error Code TLV to be carried in the PCRpt
message in the LSP object to convey error information. This document message in the LSP object to convey error information. This document
does not change that procedure. does not change that procedure.
4. Security Considerations 4. Security Considerations
This document specifies how the already existing P and I flags in the This document specifies how the already existing P and I flags in the
PCEP common object header could be used during stateful PCEP PCEP common object header could be used during stateful PCEP
exchanges. It updates the unknown object error handling in stateful exchanges. It updates the unknown object error handling in stateful
skipping to change at line 383 skipping to change at line 385
6.5. Requirements on Other Protocols 6.5. Requirements on Other Protocols
Mechanisms defined in this document do not imply any new requirements Mechanisms defined in this document do not imply any new requirements
on other protocols. on other protocols.
6.6. Impact on Network Operations 6.6. Impact on Network Operations
Mechanisms defined in this document do not have any impact on network Mechanisms defined in this document do not have any impact on network
operations in addition to those already listed in [RFC5440]. operations in addition to those already listed in [RFC5440].
7. Acknowledgments 7. References
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.
8. References
8.1. Normative References 7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440, Element (PCE) Communication Protocol (PCEP)", RFC 5440,
DOI 10.17487/RFC5440, March 2009, DOI 10.17487/RFC5440, March 2009,
<https://www.rfc-editor.org/info/rfc5440>. <https://www.rfc-editor.org/info/rfc5440>.
skipping to change at line 427 skipping to change at line 421
Path Computation Element Communication Protocol (PCEP)", Path Computation Element Communication Protocol (PCEP)",
RFC 8253, DOI 10.17487/RFC8253, October 2017, RFC 8253, DOI 10.17487/RFC8253, October 2017,
<https://www.rfc-editor.org/info/rfc8253>. <https://www.rfc-editor.org/info/rfc8253>.
[RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
Computation Element Communication Protocol (PCEP) Computation Element Communication Protocol (PCEP)
Extensions for PCE-Initiated LSP Setup in a Stateful PCE Extensions for PCE-Initiated LSP Setup in a Stateful PCE
Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
<https://www.rfc-editor.org/info/rfc8281>. <https://www.rfc-editor.org/info/rfc8281>.
8.2. Informative References 7.2. Informative References
[PCEP-YANG] [PCEP-YANG]
Dhody, D., Ed., Beeram, V. P., Hardwick, J., and J. Dhody, D., Ed., Beeram, V. P., Hardwick, J., and J.
Tantsura, "A YANG Data Model for Path Computation Element Tantsura, "A YANG Data Model for Path Computation Element
Communications Protocol (PCEP)", Work in Progress, Communications Protocol (PCEP)", Work in Progress,
Internet-Draft, draft-ietf-pce-pcep-yang-30, 26 January Internet-Draft, draft-ietf-pce-pcep-yang-30, 26 January
2025, <https://datatracker.ietf.org/doc/html/draft-ietf- 2025, <https://datatracker.ietf.org/doc/html/draft-ietf-
pce-pcep-yang-30>. pce-pcep-yang-30>.
[RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path [RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path
skipping to change at line 459 skipping to change at line 453
Protocol (PCEP) to Compute Service-Aware Label Switched Protocol (PCEP) to Compute Service-Aware Label Switched
Paths (LSPs)", RFC 8233, DOI 10.17487/RFC8233, September Paths (LSPs)", RFC 8233, DOI 10.17487/RFC8233, September
2017, <https://www.rfc-editor.org/info/rfc8233>. 2017, <https://www.rfc-editor.org/info/rfc8233>.
[RFC9325] Sheffer, Y., Saint-Andre, P., and T. Fossati, [RFC9325] Sheffer, Y., Saint-Andre, P., and T. Fossati,
"Recommendations for Secure Use of Transport Layer "Recommendations for Secure Use of Transport Layer
Security (TLS) and Datagram Transport Layer Security Security (TLS) and Datagram Transport Layer Security
(DTLS)", BCP 195, RFC 9325, DOI 10.17487/RFC9325, November (DTLS)", BCP 195, RFC 9325, DOI 10.17487/RFC9325, November
2022, <https://www.rfc-editor.org/info/rfc9325>. 2022, <https://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.
Contributors Contributors
Dhruv Dhody Dhruv Dhody
Huawei Huawei
India India
Email: dhruv.ietf@gmail.com Email: dhruv.ietf@gmail.com
Authors' Addresses Authors' Addresses
Cheng Li Cheng Li
 End of changes. 12 change blocks. 
42 lines changed or deleted 44 lines changed or added

This html diff was produced by rfcdiff 1.48.