RFC 9756
Update to the IANA Path Communication Element Protocol (PCEP) Numbers Registration Procedures and the Allowance of Experimental Error Codes
RFC 9756: Update to the IANA PCEP Numbers Registration Procedures ๐ฆ
Bestie, this one is a whole vibe. It's a Standards Track doc from March 2025 (ISSN 2070-1721) by D. Dhody (Huawei) and A. Farrel (Old Dog Consulting). It's officially titled "Update to the IANA Path Communication Element Protocol (PCEP) Numbers Registration Procedures and the Allowance of Experimental Error Codes" ๐ . It updates RFCs 5440, 8231, 8233, 8281, 8623, 8664, 8685, 8697, 8733, 8745, 8779, 8780, 8800, 8934, 9050, 9059, 9168, 9357, 9504, 9603, and 9604. Its job is to change how some IANA PCEP registries get new numbers, and to carve out room for experiments. ๐
Abstract โจ
Okay, the abstract is basically the TL;DR. It changes the registration procedure for the IANA "Path Computation Element Protocol (PCEP) Numbers" registry group. Some registries that used Standards Action now use IETF Review, as defined in RFC 8126. That's why it updates RFCs 8231, 8233, 8281, 8623, 8664, 8685, 8697, 8733, 8745, 8779, 8780, 8800, 8934, 9050, 9059, 9168, 9357, 9504, 9603, and 9604. ๐ธ
Experimental sub-ranges are super useful for testing things in controlled environments ๐งช. The PCEP message, object, and TLV registries already have Experimental Use sub-ranges, but the Error-Types and Error-values registry doesn't. So this document updates RFC 5440 and designates a specific range of PCEP Error-Types for Experimental Use. Iconic. ๐
Status of This Memo โจ
Quick status check: this is an Internet Standards Track document ๐. It's a product of the Internet Engineering Task Force (IETF), it represents the IETF community's consensus, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication. For more on Internet Standards, check Section 2 of RFC 7841. For the current status, errata, and where to send feedback, go to https://www.rfc-editor.org/info/rfc9756. ๐ซถ
Copyright Notice โจ
Legal stuff, but make it cute ๐: 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://trustee.ietf.org/license-info) in effect on the date of publication. Please read these carefully, because they spell out your rights and restrictions for this document ๐. Code Components pulled from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Revised BSD License. ๐
Table of Contents โจ
1. Introduction
2. Standards Action PCEP Registries Affected
3. Experimental Error-Types
3.1. Advice on Experimentation
3.2. Handling of Unknown Experimentation
4. IANA Considerations
5. Security Considerations
6. References
6.1. Normative References
6.2. Informative References
Appendix A. Rationale for Updating All Registries with Standards
Action
Appendix B. Consideration of RFC 8356
Acknowledgements
Contributors
Authors' Addresses
1. Introduction ๐
Okay, so the IANA "Path Computation Element Protocol (PCEP) Numbers" registry group got filled up by a bunch of RFCs from the Path Computation Element (PCE) Working Group ๐ง. Most of those registries use IETF Review [RFC8126] as the registration procedure. A few use Standards Action, which means values there can only be assigned through Standards Track or Best Current Practice RFCs in the IETF Stream. This memo switches those from Standards Action to IETF Review, so any type of RFC in the IETF Stream can make the allocation request. Main character energy for the whole stream ๐ .
Now, in Section 9 of [RFC5440], IANA assigns values to the PCEP parameters, and the allocation policy for each of those parameters is IETF Review [RFC8126]. Experiments with PCEP are a big deal, and experimental codepoints are useful [RFC3692], so codepoint ranges for PCEP messages, objects, and TLV types for Experimental Use [RFC8126] were designated in [RFC8356]. ๐ฆ
But here's the gap ๐: experiments might also need to send back protocol error messages for experiment-specific error cases. Often, error codes that were already assigned (in the "PCEP-ERROR Object Error Types and Values" registry) can cover those cases. Sometimes, though, you genuinely need brand-new experimental error codes. It's really important that experimental codepoint values don't collide with existing codepoints or future allocations, so experiments don't mess each other up ๐. This document updates [RFC5440] by changing the allocation policy for the PCEP Error-Types registry, marking some codepoints as assigned for Experimental Use. As [RFC3692] says, experiments using these codepoints aren't meant for general deployments, and you need to take real care that two experiments using the same codepoints don't run in the same environment โ ๏ธ.
2. Standards Action PCEP Registries Affected ๐
Here's the table of every registry in the "Path Computation Element Protocol (PCEP) Numbers" group whose registration policy moved from Standards Action to IETF Review. Each affected registry now lists this document as an extra reference ๐. If the change only applies to a specific range within a registry, that range shows up in the Remarks column ๐.
+========================================+===========+=========+
| Registry | RFC | Remarks |
+========================================+===========+=========+
| BU Object Type Field | [RFC8233] | |
+----------------------------------------+-----------+---------+
| LSP Object Flag Field | [RFC8231] | |
+----------------------------------------+-----------+---------+
| STATEFUL-PCE-CAPABILITY TLV Flag Field | [RFC8231] | |
+----------------------------------------+-----------+---------+
| LSP-ERROR-CODE TLV Error Code Field | [RFC8231] | |
+----------------------------------------+-----------+---------+
| SRP Object Flag Field | [RFC8281] | |
+----------------------------------------+-----------+---------+
| SR-ERO Flag Field | [RFC8664] | |
+----------------------------------------+-----------+---------+
| PATH-SETUP-TYPE-CAPABILITY Sub-TLV | [RFC8664] | |
| Type Indicators | | |
+----------------------------------------+-----------+---------+
| SR Capability Flag Field | [RFC8664] | |
+----------------------------------------+-----------+---------+
| WA Object Flag Field | [RFC8780] | |
+----------------------------------------+-----------+---------+
| Wavelength Restriction TLV Action | [RFC8780] | |
| Values | | |
+----------------------------------------+-----------+---------+
| Wavelength Allocation TLV Flag Field | [RFC8780] | |
+----------------------------------------+-----------+---------+
| S2LS Object Flag Field | [RFC8623] | |
+----------------------------------------+-----------+---------+
| H-PCE-CAPABILITY TLV Flag Field | [RFC8685] | |
+----------------------------------------+-----------+---------+
| H-PCE-FLAG TLV Flag Field | [RFC8685] | |
+----------------------------------------+-----------+---------+
| ASSOCIATION Flag Field | [RFC8697] | |
+----------------------------------------+-----------+---------+
| ASSOCIATION Type Field | [RFC8697] | |
+----------------------------------------+-----------+---------+
| AUTO-BANDWIDTH-CAPABILITY TLV Flag | [RFC8733] | |
| Field | | |
+----------------------------------------+-----------+---------+
| Path Protection Association Group TLV | [RFC8745] | |
| Flag Field | | |
+----------------------------------------+-----------+---------+
| Generalized Endpoint Types | [RFC8779] | 0-244 |
+----------------------------------------+-----------+---------+
| GMPLS-CAPABILITY TLV Flag Field | [RFC8779] | |
+----------------------------------------+-----------+---------+
| DISJOINTNESS-CONFIGURATION TLV Flag | [RFC8800] | |
| Field | | |
+----------------------------------------+-----------+---------+
| SCHED-PD-LSP-ATTRIBUTE TLV Opt Field | [RFC8934] | |
+----------------------------------------+-----------+---------+
| Schedule TLVs Flag Field | [RFC8934] | |
+----------------------------------------+-----------+---------+
| FLOWSPEC Object Flag Field | [RFC9168] | |
+----------------------------------------+-----------+---------+
| Bidirectional LSP Association Group | [RFC9059] | |
| TLV Flag Field | | |
+----------------------------------------+-----------+---------+
| PCECC-CAPABILITY sub-TLV | [RFC9050] | |
+----------------------------------------+-----------+---------+
| CCI Object Flag Field for MPLS Label | [RFC9050] | |
+----------------------------------------+-----------+---------+
| TE-PATH-BINDING TLV BT Field | [RFC9604] | |
+----------------------------------------+-----------+---------+
| TE-PATH-BINDING TLV Flag Field | [RFC9604] | |
+----------------------------------------+-----------+---------+
| LSP-EXTENDED-FLAG TLV Flag Field | [RFC9357] | |
+----------------------------------------+-----------+---------+
| LSP Exclusion Subobject Flag Field | [RFC9504] | |
+----------------------------------------+-----------+---------+
| SRv6-ERO Flag Field | [RFC9603] | |
+----------------------------------------+-----------+---------+
| SRv6 Capability Flag Field | [RFC9603] | |
+----------------------------------------+-----------+---------+
Table 1: PCEP Registries Affected
Also, the registries in this group that get added later should prefer IETF Review over Standards Action. That's the plan going forward ๐ฎ.
3. Experimental Error-Types โจ
Okay so bestie, this section is where the experiments get their own little playground ๐ฆ Per this document, IANA has designated four PCEP Error-Type codepoints (252-255) for Experimental Use. Four whole codepoints, all reserved for experiments, iconic ๐
IANA maintains the "PCEP-ERROR Object Error Types and Values" registry under the "Path Computation Element Protocol (PCEP) Numbers" registry group. IANA has changed the assignment policy for the "PCEP-ERROR Object Error Types and Values" registry as follows:
+=========+==============+=====================================+
| Range | Registration | Note |
| | Procedures | |
+=========+==============+=====================================+
| 0-251 | IETF Review | The IETF Review procedure applies |
| | | to all Error-values (0-255) for |
| | | Error-Types in this range. |
+---------+--------------+-------------------------------------+
| 252-255 | Experimental | The Experimental Use policy applies |
| | Use | to all Error-values (0-255) for |
| | | Error-Types in this range. |
+---------+--------------+-------------------------------------+
Table 2: PCEP-ERROR Object Error Types and Values Registry
Assignment Policy
Furthermore, IANA has added the following entry to the registry:
+============+==================+=====================+===========+
| Error-Type | Meaning | Error-value | Reference |
+============+==================+=====================+===========+
| 252-255 | Reserved for | 0-255: Reserved for | RFC 9756 |
| | Experimental Use | Experimental Use | |
+------------+------------------+---------------------+-----------+
Table 3: PCEP-ERROR Object Error Types and Values Registry
3.1. Advice on Experimentation ๐งช
An experiment that wishes to return experimental error codes should use one of the experimental Error-Type values as defined in this document. The experiment should agree on, between all participating parties, which Error-Type to use and which Error-values to use within that Error-Type. The experiment will describe what the meanings of those Error-Type/Error-value pairs are. Those Error-Types and Error-values should not be recorded in any public (especially any IETF) documentation. Textual or symbolic names for the Error-Types and Error-values may be used to help keep the documentation clear. ๐ธ
If multiple experiments are taking place at the same time using the same implementations, care must be taken to keep the sets of Error-Types/Error-values distinct. Think of it like group chats ๐ฌ you don't want two friend groups mixing up their inside jokes lol
Note that there is no scope for experimental Error-values within existing non-experimental Error-Types. This reduces the complexity of the registry and implementations. Experiments should place all experimental Error-values under the chosen experimental Error-Types. Keep it clean, babe ๐ง
If, at some future time, the experiment is declared a success and moved to IETF work targeting publication on the Standards Track, each pair of Error-Types/Error-values will need to be assigned by IANA from the registry. In some cases, this will involve assigning a new Error-Type with its subtended Error-values. In other cases, use may be made of an existing Error-Type with new subtended Error-values being assigned. The resulting change to code in an implementation is as simple as changing the numeric values of the Error-Types and Error-values. Glow-up arc unlocked ๐ฆโจ
3.2. Handling of Unknown Experimentation ๐
A PCEP implementation that receives an experimental Error-Type in a PCEP message and does not recognize the Error-Type (i.e., is not part of the experiment) will treat the error as it would treat any other unknown Error-Type (such as from a new protocol extension). An implementation that is notified of a PCEP error will normally close the PCEP session (see [RFC5440]). In general, PCEP implementations are not required to take specific action based on Error-Types but may log the errors for diagnostic purposes. Not my favorite vibe, but that's the rule ๐ญ
An implementation that is part of an experiment may receive an experimental Error-Type but not recognize the Error-value. This could happen because of any of the following reasons:
- a faulty implementation
- two implementations not being synchronized with respect to which Error-values to use in the experiment
- more than one experiment being run at the same time
As with unknown Error-Types, an implementation receiving an unknown Error-value is not expected to do more than log the received error and may close the PCEP session. ๐
4. IANA Considerations ๐
This memo is entirely about updating the IANA "Path Computation Element Protocol (PCEP) Numbers" registry group. Literally the whole memo is about this one registry group, no side quests ๐
5. Security Considerations ๐
This memo does not change the security considerations for any of the updated RFCs. Refer to [RFC5440] and [PCEPS-UPDATES] for further details of the specific security measures applicable to PCEP.
[RFC3692] asserts that the existence of experimental codepoints introduces no new security considerations. However, implementations accepting experimental error codepoints need to consider how they parse and process them in case they come, accidentally, from another experiment. Further, an implementation accepting experimental codepoints needs to consider the security aspects of the experimental extensions. [RFC6709] provides various design considerations for protocol extensions (including those designated as experimental). Okay this part is serious, bestie, so please double-check your experiment's codepoints don't leak into another one ๐จ
6. References ๐
6.1. Normative References ๐
okay bestie, these are the must-read docs that the spec leans on ๐ซถ if you want the full picture you NEED these, no cap ๐
- [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, DOI 10.17487/RFC5440, March 2009,
<https://www.rfc-editor.org/info/rfc5440>. - [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. - [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/RFC8231, September 2017,
<https://www.rfc-editor.org/info/rfc8231>. - [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/RFC8233, September 2017,
<https://www.rfc-editor.org/info/rfc8233>. - [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/RFC8281, December 2017,
<https://www.rfc-editor.org/info/rfc8281>. - [RFC8356] Dhody, D., King, D., and A. Farrel, "Experimental Codepoint Allocation for the Path Computation Element Communication Protocol (PCEP)", RFC 8356, DOI 10.17487/RFC8356, March 2018,
<https://www.rfc-editor.org/info/rfc8356>. - [RFC8623] Palle, U., Dhody, D., Tanaka, Y., and V. Beeram, "Stateful Path Computation Element (PCE) Protocol Extensions for Usage with Point-to-Multipoint TE Label Switched Paths (LSPs)", RFC 8623, DOI 10.17487/RFC8623, June 2019,
<https://www.rfc-editor.org/info/rfc8623>. - [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., and J. Hardwick, "Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing", RFC 8664, DOI 10.17487/RFC8664, December 2019,
<https://www.rfc-editor.org/info/rfc8664>. - [RFC8685] Zhang, F., Zhao, Q., Gonzalez de Dios, O., Casellas, R., and D. King, "Path Computation Element Communication Protocol (PCEP) Extensions for the Hierarchical Path Computation Element (H-PCE) Architecture", RFC 8685, DOI 10.17487/RFC8685, December 2019,
<https://www.rfc-editor.org/info/rfc8685>. - [RFC8697] Minei, I., Crabbe, E., Sivabalan, S., Ananthakrishnan, H., Dhody, D., and Y. Tanaka, "Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships between Sets of Label Switched Paths (LSPs)", RFC 8697, DOI 10.17487/RFC8697, January 2020,
<https://www.rfc-editor.org/info/rfc8697>. - [RFC8733] Dhody, D., Ed., Gandhi, R., Ed., Palle, U., Singh, R., and L. Fang, "Path Computation Element Communication Protocol (PCEP) Extensions for MPLS-TE Label Switched Path (LSP) Auto-Bandwidth Adjustment with Stateful PCE", RFC 8733, DOI 10.17487/RFC8733, February 2020,
<https://www.rfc-editor.org/info/rfc8733>. - [RFC8745] Ananthakrishnan, H., Sivabalan, S., Barth, C., Minei, I., and M. Negi, "Path Computation Element Communication Protocol (PCEP) Extensions for Associating Working and Protection Label Switched Paths (LSPs) with Stateful PCE", RFC 8745, DOI 10.17487/RFC8745, March 2020,
<https://www.rfc-editor.org/info/rfc8745>. - [RFC8779] Margaria, C., Ed., Gonzalez de Dios, O., Ed., and F. Zhang, Ed., "Path Computation Element Communication Protocol (PCEP) Extensions for GMPLS", RFC 8779, DOI 10.17487/RFC8779, July 2020,
<https://www.rfc-editor.org/info/rfc8779>. - [RFC8780] Lee, Y., Ed. and R. Casellas, Ed., "The Path Computation Element Communication Protocol (PCEP) Extension for Wavelength Switched Optical Network (WSON) Routing and Wavelength Assignment (RWA)", RFC 8780, DOI 10.17487/RFC8780, July 2020,
<https://www.rfc-editor.org/info/rfc8780>. - [RFC8800] Litkowski, S., Sivabalan, S., Barth, C., and M. Negi, "Path Computation Element Communication Protocol (PCEP) Extension for Label Switched Path (LSP) Diversity Constraint Signaling", RFC 8800, DOI 10.17487/RFC8800, July 2020,
<https://www.rfc-editor.org/info/rfc8800>. - [RFC8934] Chen, H., Ed., Zhuang, Y., Ed., Wu, Q., and D. Ceccarelli, "PCE Communication Protocol (PCEP) Extensions for Label Switched Path (LSP) Scheduling with Stateful PCE", RFC 8934, DOI 10.17487/RFC8934, October 2020,
<https://www.rfc-editor.org/info/rfc8934>. - [RFC9050] Li, Z., Peng, S., Negi, M., Zhao, Q., and C. Zhou, "Path Computation Element Communication Protocol (PCEP) Procedures and Extensions for Using the PCE as a Central Controller (PCECC) of LSPs", RFC 9050, DOI 10.17487/RFC9050, July 2021,
<https://www.rfc-editor.org/info/rfc9050>. - [RFC9059] Gandhi, R., Ed., Barth, C., and B. Wen, "Path Computation Element Communication Protocol (PCEP) Extensions for Associated Bidirectional Label Switched Paths (LSPs)", RFC 9059, DOI 10.17487/RFC9059, June 2021,
<https://www.rfc-editor.org/info/rfc9059>. - [RFC9168] Dhody, D., Farrel, A., and Z. Li, "Path Computation Element Communication Protocol (PCEP) Extension for Flow Specification", RFC 9168, DOI 10.17487/RFC9168, January 2022,
<https://www.rfc-editor.org/info/rfc9168>. - [RFC9357] Xiong, Q., "Label Switched Path (LSP) Object Flag Extension for Stateful PCE", RFC 9357, DOI 10.17487/RFC9357, February 2023,
<https://www.rfc-editor.org/info/rfc9357>. - [RFC9504] Lee, Y., Zheng, H., Gonzalez de Dios, O., Lopez, V., and Z. Ali, "Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE Usage in GMPLS-Controlled Networks", RFC 9504, DOI 10.17487/RFC9504, December 2023,
<https://www.rfc-editor.org/info/rfc9504>. - [RFC9603] Li, C., Ed., Kaladharan, P., Sivabalan, S., Koldychev, M., and Y. Zhu, "Path Computation Element Communication Protocol (PCEP) Extensions for IPv6 Segment Routing", RFC 9603, DOI 10.17487/RFC9603, July 2024,
<https://www.rfc-editor.org/info/rfc9603>. - [RFC9604] Sivabalan, S., Filsfils, C., Tantsura, J., Previdi, S., and C. Li, Ed., "Carrying Binding Label/SID in PCE-Based Networks", RFC 9604, DOI 10.17487/RFC9604, August 2024,
<https://www.rfc-editor.org/info/rfc9604>.
6.2. Informative References ๐ธ
these ones are the extra reading, nice to have but not required to get the spec ๐ง
- [PCEPS-UPDATES] Dhody, D., Turner, S., and R. Housley, "Updates for PCEPS: TLS Connection Establishment Restrictions", Work in Progress, Internet-Draft, draft-ietf-pce-pceps-tls13-04, 9 January 2024,
<https://datatracker.ietf.org/doc/html/ draft-ietf-pce-pceps-tls13-04>. - [RFC3692] Narten, T., "Assigning Experimental and Testing Numbers Considered Useful", BCP 82, RFC 3692, DOI 10.17487/RFC3692, January 2004,
<https://www.rfc-editor.org/info/rfc3692>. - [RFC6709] Carpenter, B., Aboba, B., Ed., and S. Cheshire, "Design Considerations for Protocol Extensions", RFC 6709, DOI 10.17487/RFC6709, September 2012,
<https://www.rfc-editor.org/info/rfc6709>.
Appendix A. Rationale for Updating All Registries with Standards Action ๐
okay so this bit explains WHY everything got bumped to Standards Action ๐ this spec updates every registry we mentioned to use that policy. the PCE WG did think about keeping it lighter for some registries, like flag fields where the bits are super tight ๐ฅบ but they said nah. the vibe is that Working Group Last Call and IETF Last Call should be enough to stop silly experiments from hogging the few codepoints ๐ and if things ever get crowded, the working group could just make a brand new protocol field and registry for the future, which they've done before (see [RFC9357]) โจ
Appendix B. Consideration of RFC 8356 ๐ฆ
this is the tea โ [RFC8356] deliberately made experimental codepoints available ONLY in the PCEP messages, objects, and TLV type registries. Appendix A of [RFC8356] explains the reasoning, and it says:
The justification for this decision is that, if an experiment finds that it wants to use a new codepoint in another PCEP sub-registry, it can implement the same function using a new experimental object or TLV instead.
and honestly? it's true that an experiment could just grab an experimental PCEP object, call it the "experimental errors object", and stuff arbitrary contents in there, including experimental error codes ๐ BUT that would cause unnecessary divergence in the code, which is messy bestie ๐ญ so letting experimental Error-Types exist is the better move, because it makes it way easier for successful experiments to graduate onto the Standards Track ๐๐
Acknowledgements ๐ซถ
huge thank yous ๐ to John Scudder for kicking off the initial discussion behind this document ๐ and to Ketan Talaulikar, Andrew Stone, Samuel Sidor, Quan Xiong, Cheng Li, and Aijun Wang for the review comments ๐ also to Carlos Pignataro for the OPSDIR review, Meral Shirazipour for the GENART review, Paul Kyzivat for the ArtArt review, and Alexey Melnikov for the SECDIR review ๐
Contributors ๐
- Haomian Zheng
- Huawei Technologies
- Email: zhenghaomian@huawei.com
Authors' Addresses โจ
- Dhruv Dhody
- Huawei
- India
- Email: dhruv.ietf@gmail.com
- Adrian Farrel
- Old Dog Consulting
- Email: adrian@olddog.co.uk
๐ฆ where this page comes from
- ietf: rfc9756 2025-03
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms