RFC 9752
Conveying Vendor-Specific Information in the Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE
RFC 9752: Conveying Vendor-Specific Information in the Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE π
okay so before we dive in, here's the title block tea ββ¨
- It's an IETF document (Internet Engineering Task Force π¦) and its number is RFC 9752 π
- It's published in April 2025 πΈ and it's on the Standards Track π, with ISSN 2070-1721
- The authors are C. Li and H. Zheng from Huawei Technologies, S. Sivabalan from Ciena, and S. Sidor and Z. Ali from Cisco Systems, Inc. π«Ά
- It updates RFC 7470 π₯, which is the one that handles vendor-specific info in stateless PCEP. This doc has no "Obsoletes" line, so it doesn't replace anything.
Abstract β¨
okay so this doc adds extensions to PCEP (the Path Computation Element Communication Protocol) that let you put vendor-specific info inside stateful PCE messages π§ That means vendors can tuck proprietary data into PCEP messages, which can help with fancy network optimization in setups that need vendor-specific features π The extensions are built to stay compatible with existing PCEP implementations and to help different network deployments play nicely together π
RFC 7470 already gave us a way to carry vendor-specific info in stateless PCEP messages, and this document extends that same idea to the stateful PCEP messages π
Also, this document updates RFC 7470 so that Enterprise Numbers are managed through the "Private Enterprise Numbers (PENs)" registry π
Status of This Memo β
This is an Internet Standards Track document π
It's a product of the Internet Engineering Task Force (IETF) and it represents the consensus of the IETF community π«Ά It got public review and was approved for publication by the Internet Engineering Steering Group (IESG) π If you want more on Internet Standards, check out Section 2 of RFC 7841 π
For the current status, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc9752 π¦
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://trustee.ietf.org/license-info) as they stand on the publication date. Please actually read these, because they spell out your rights and restrictions for this document π Code Components pulled out of 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 the Revised BSD License describes π₯
Table of Contents π§
1. Introduction
1.1. Requirements Language
1.2. Use of RBNF
2. Procedures for the Vendor Information Object
3. Procedures for the Vendor Information TLV
4. Manageability Considerations
4.1. Control of Function and Policy
4.2. Information and Data Models
4.3. Liveness Detection and Monitoring
4.4. Verifying Correct Operations
4.5. Requirements On Other Protocols
4.6. Impact on Network Operations
5. IANA Considerations
6. Security Considerations
7. References
7.1. Normative References
7.2. Informative References
Acknowledgments
Contributors
Authors' Addresses
1. Introduction β¨
okay so PCEP ([RFC5440]) gives a Path Computation Element (PCE) a way to do path computation when a Path Computation Client (PCC) asks for one π¦
A stateful PCE is the next level π It doesn't just look at the network state in terms of links and nodes (the Traffic Engineering Database, or TED π). It also looks at active services, meaning previously computed paths and resources that are currently reserved, which are stored in the Label Switched Paths Database (LSP-DB) π [RFC8051] covers the general considerations for a stateful PCE deployment, including its applicability, benefits, challenges, and limitations, through a bunch of use cases π
[RFC8231] describes the extensions to PCEP that give you stateful control π A stateful PCE can see not only what the Interior Gateway Protocol (IGP) carries, but also the active paths and their reserved resources, so it can compute constrained paths while considering individual LSPs and how they interact π₯ [RFC8281] covers setting up, maintaining, and tearing down PCE-initiated LSPs under the stateful PCE model, and it adds new messages to PCEP for that π
[RFC7470] defines the Vendor Information object, which can carry arbitrary proprietary info (like vendor-specific constraints) in stateless PCEP π«Ά It also defines the VENDOR-INFORMATION-TLV, which lets you embed arbitrary info inside any existing or future PCEP object that supports TLVs πΈ
The Vendor Information object and the VENDOR-INFORMATION-TLV were originally designed for stateless PCEP, but they're super useful in the stateful PCE model too π The VENDOR-INFORMATION-TLV can already go in any of the stateful PCEP objects per [RFC7470]. This document takes it further and extends stateful PCEP messages so they can use the Vendor Information object π§
1.1. Requirements Language
Here's the deal with the key words π The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document mean what BCP 14 [RFC2119] [RFC8174] says they mean, but only when they show up in ALL CAPS, exactly as shown here π
1.2. Use of RBNF
The message formats in this doc are illustrated with Routing Backus-Naur Form (RBNF), as specified in [RFC5511] π¦ RBNF is just for illustration, so it may leave out some important details π The normative spec for messages lives in the descriptive text π If the RBNF and the descriptive text ever disagree, the descriptive text wins π
2. Procedures for the Vendor Information Object π
A Path Computation LSP State Report message (also called a PCRpt message; see Section 6.1 of [RFC8231]) is a PCEP message that a PCC sends to a PCE to report the current state of an LSP π«Ά If a PCC wants to share proprietary or vendor-specific info or metrics with a PCE, it does that by putting a Vendor Information object in the PCRpt message π The contents and format of the object, including the VENDOR-INFORMATION object and the VENDOR-INFORMATION-TLV, are described in Section 4 of [RFC7470] π§ The PCE figures out how to interpret the info in the Vendor Information object by looking at the Enterprise Number it contains π
[RFC7470] originally said:
Enterprise Numbers are assigned by IANA and managed through an IANA registry [RFC2578].
This document updates [RFC7470] and replaces that text with:
Enterprise Numbers are assigned by IANA and managed through the "Private Enterprise Numbers (PENs)" registry as described in [RFC9371].
The Vendor Information object is OPTIONAL in a PCRpt message πΈ You can have multiple instances of the object in a single PCRpt message (they MAY be included), and different instances MAY carry different Enterprise Numbers π
Here's how the PCRpt message format changes, using Section 6.1 of [RFC8231] as the base π₯
<PCRpt Message> ::= <Common Header>
<state-report-list>
Where:
<state-report-list> ::= <state-report>[<state-report-list>]
<state-report> ::= [<SRP>]
<LSP>
<path>
[<vendor-info-list>]
Where:
<vendor-info-list> ::= <VENDOR-INFORMATION>
[<vendor-info-list>]
<path> is defined in [RFC8231] π¦
A Path Computation LSP Update Request message (also called a PCUpd message; see Section 6.2 of [RFC8231]) is a PCEP message that a PCE sends to a PCC to update the attributes of an LSP π The Vendor Information object can be included in a PCUpd message to carry proprietary or vendor-specific info π
Here's the updated PCUpd format, using the format from Section 6.2 of [RFC8231] as the base π
<PCUpd Message> ::= <Common Header>
<update-request-list>
Where:
<update-request-list> ::= <update-request>
[<update-request-list>]
<update-request> ::= <SRP>
<LSP>
<path>
[<vendor-info-list>]
Where:
<vendor-info-list> ::= <VENDOR-INFORMATION>
[<vendor-info-list>]
<path> is defined in [RFC8231] π«Ά
A Path Computation LSP Initiate Message (also called a PCInitiate message; see Section 5.1 of [RFC8281]) is a PCEP message that a PCE sends to a PCC to trigger an LSP instantiation or deletion π§ The Vendor Information object can go in a PCInitiate message to carry proprietary or vendor-specific info πΈ
Here's the updated PCInitiate format, using the format from Section 5.1 of [RFC8281] as the base π
<PCInitiate Message> ::= <Common Header>
<PCE-initiated-lsp-list>
Where:
<PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request>
[<PCE-initiated-lsp-list>]
<PCE-initiated-lsp-request> ::=
(<PCE-initiated-lsp-instantiation>|
<PCE-initiated-lsp-deletion>)
<PCE-initiated-lsp-instantiation> ::= <SRP>
<LSP>
[<END-POINTS>]
<ERO>
[<attribute-list>]
[<vendor-info-list>]
Where:
<vendor-info-list> ::= <VENDOR-INFORMATION>
[<vendor-info-list>]
<PCE-initiated-lsp-deletion> and <attribute-list> are as defined in [RFC8281] π
A legacy implementation that doesn't recognize the Vendor Information object will act according to the procedures in [RFC8231] and [RFC8281] π An implementation that does support the Vendor Information object, but gets one with an Enterprise Number it doesn't support, MUST ignore the object in the same way described in Section 2 of [RFC7470] π«π
3. Procedures for the Vendor Information TLV π
The Vendor Information TLV can carry vendor-specific info that applies to a specific PCEP object, by including the TLV in that object π¦ This covers objects used in the Stateful PCE extensions, such as the Stateful PCE Request Parameter (SRP) and LSP objects π All of the procedures are the same as described in Section 3 of [RFC7470] π
4. Manageability Considerations π«Ά
All of the manageability requirements and considerations listed in [RFC5440], [RFC7470], [RFC8231], and [RFC8281] apply to the PCEP protocol extensions defined in this document π₯ On top of that, the requirements and considerations listed in this section apply β¨
4.1. Control of Function and Policy
okay so the rules for controlling function and policy for vendor-specific info in [RFC7470] still apply to the Stateful PCEP extensions in this doc π β¨
4.2. Information and Data Models
the PCEP YANG module is specified in [PCEP-YANG] π¦. Any standard YANG module won't include details of vendor-specific info π. BUT a standard YANG module could be extended to report the use of the Vendor Information object or TLV, plus the Enterprise Numbers that the objects and TLVs contain π.
4.3. Liveness Detection and Monitoring
the mechanisms in this doc don't add any new liveness detection and monitoring requirements on top of the ones already listed in [RFC5440] πΈ
4.4. Verifying Correct Operations
same vibe here: no new operation verification requirements beyond the ones already listed in [RFC5440] and [RFC8231] π§
4.5. Requirements On Other Protocols
these mechanisms don't create any new requirements on other protocols π«Ά
4.6. Impact on Network Operations
the mechanisms in [RFC5440] and [RFC8231] also apply to the PCEP extensions in this doc π₯
Section 6.6 of [RFC7470] spills the tea on how extra vendor-specific info in PCEP messages can clog up operations, and how to detect and handle it π. This also applies to stateful PCEP messages, as outlined in Section 2. Specifically, a PCEP speaker SHOULD NOT include vendor information in a stateful PCEP message if it believes the recipient doesn't support that information π«.
Encoding optimization for the Vendor Information object (like, if the object has the same content encoded for multiple LSPs) is out of scope for this doc π. It may be proposed later as a separate document that applies to other PCEP objects β¨.
5. IANA Considerations
zero IANA actions for this doc, nothing to see here π ββοΈπ
6. Security Considerations
okay this section is serious but I'm still gonna be dramatic about it ππ₯
The protocol extensions in this doc don't change the nature of PCEP π . So the security considerations in [RFC5440], [RFC7470], [RFC8231], and [RFC8281] apply unchanged π«Ά.
Per [RFC8231], it is RECOMMENDED that these PCEP extensions only be activated on authenticated and encrypted sessions across PCEs and PCCs using Transport Layer Security (TLS) [RFC8253] πβ¨. Check out the recommendations and best current practices for using TLS in RFC 9325 [BCP195] ππ.
β οΈ the covert channel situation is the real main character moment here, bestie π
The use of vendor-specific info, as defined in [RFC7470] and in this doc, may provide a covert channel that could be misused by PCEP speaker implementations or by malicious software at PCEP speakers π. There's limited protection against this, BUT an operator monitoring the PCEP sessions can detect the use of vendor-specific info, be aware of the decoding mechanism for this data, and inspect it accordingly π΅οΈββοΈπ. It is crucial for the operator to stay vigilant and monitor for any potential misuse of this object π¨. Appropriate steps need to be taken to prevent malicious software from being installed at the PCEP speaker, by implementing robust integrity, authentication, and authorization techniques for installation and updating π‘οΈ. Those techniques are out of scope of this document, so go get them elsewhere π .
7. References
7.1. Normative References
- [BCP195] Best Current Practice 195,
https://www.rfc-editor.org/info/bcp195. At the time of writing, this BCP comprises the following:- Moriarty, K. and S. Farrell, "Deprecating TLS 1.0 and TLS 1.1", BCP 195, RFC 8996, DOI 10.17487/RFC8996, March 2021,
https://www.rfc-editor.org/info/rfc8996. - 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/RFC9325, November 2022,
https://www.rfc-editor.org/info/rfc9325.
- Moriarty, K. and S. Farrell, "Deprecating TLS 1.0 and TLS 1.1", BCP 195, RFC 8996, DOI 10.17487/RFC8996, March 2021,
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997,
https://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/RFC5440, March 2009,
https://www.rfc-editor.org/info/rfc5440. - [RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications", RFC 5511, DOI 10.17487/RFC5511, April 2009,
https://www.rfc-editor.org/info/rfc5511. - [RFC7470] Zhang, F. and A. Farrel, "Conveying Vendor-Specific Constraints in the Path Computation Element Communication Protocol", RFC 7470, DOI 10.17487/RFC7470, March 2015,
https://www.rfc-editor.org/info/rfc7470. - [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017,
https://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/RFC8231, September 2017,
https://www.rfc-editor.org/info/rfc8231. - [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.
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-pce-pcep-yang-30, 26 January 2025,
https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-yang-30. - [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, DOI 10.17487/RFC2578, April 1999,
https://www.rfc-editor.org/info/rfc2578. - [RFC8051] Zhang, X., Ed. and I. Minei, Ed., "Applicability of a Stateful Path Computation Element (PCE)", RFC 8051, DOI 10.17487/RFC8051, January 2017,
https://www.rfc-editor.org/info/rfc8051. - [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/RFC8253, October 2017,
https://www.rfc-editor.org/info/rfc8253. - [RFC9371] Baber, A. and P. Hoffman, "Registration Procedures for Private Enterprise Numbers (PENs)", RFC 9371, DOI 10.17487/RFC9371, March 2023,
https://www.rfc-editor.org/info/rfc9371.
Acknowledgments
huge thanks to Dhruv Dhody for shepherding the doc and for their significant contributions and suggestions π«Άπ.
thanks to Adrian Farrel, Avantika, Deb Cooley, Γric Vyncke, Gunter Van de Velde, John Scudder, Mahendra Singh Negi, Mahesh Jethanandani, Mike McBride, Murray Kucherawy, Orie Steele, Paul Wouters, Roman Danyliw, Susan Hares, Swapna K, Udayasree Palle, Warren Kumari, Wassim Haddad, and Xiao Min for their reviews, comments, and suggestions ππ.
Contributors
Dhruv Dhody
Huawei
India
Email: dhruv.ietf@gmail.com
Mike Koldychev
Ciena
Email: mkoldych@proton.me
Authors' Addresses
Cheng Li
Huawei Technologies
Huawei Campus, No. 156 Beiqing Rd.
Beijing
100095
China
Email: c.l@huawei.com
Haomian Zheng
Huawei Technologies
H1, Huawei Xiliu Beipo Village, Songshan Lake
Dongguan
Guangdong, 523808
China
Email: zhenghaomian@huawei.com
Siva Sivabalan
Ciena
385 Terry Fox Drive
Kanata Ontario K2K 0L1
Canada
Email: msiva282@gmail.com
Samuel Sidor
Cisco Systems, Inc.
Email: ssidor@cisco.com
Zafar Ali
Cisco Systems, Inc.
Email: zali@cisco.com
π¦ where this page comes from
- ietf: rfc9752 2025-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms