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. |