PCE Working Group

Internet Engineering Task Force (IETF)                             C. Li
Internet-Draft
Request for Comments: 9752                                      H. Zheng
Updates: 7470 (if approved)                                        Huawei Technologies
Intended status:
Category: Standards Track                                   S. Sivabalan
Expires: 29 May 2025
ISSN: 2070-1721                                                    Ciena
                                                                S. Sidor
                                                                  Z. Ali
                                                     Cisco Systems, Inc.
                                                        25 November 2024
                                                              March 2025

 Conveying Vendor-Specific Information in the Path Computation Element
    (PCE)
       Communication Protocol (PCEP) extensions Extensions for Stateful PCE.
                 draft-ietf-pce-stateful-pce-vendor-13 PCE

Abstract

   This document specifies extensions to the Path Computation Element
   Communication Protocol (PCEP) that enable the inclusion of vendor-
   specific information in stateful PCE Path Computation Element (PCE)
   operations.  These extensions allow vendors to incorporate
   proprietary data within PCEP messages, facilitating enhanced network
   optimization and functionality in environments requiring vendor-specific vendor-
   specific features.  The extensions maintain compatibility with
   existing PCEP implementations and promote interoperability across
   diverse network deployments.  RFC 7470 defines a facility to carry
   vendor-specific information in stateless
   PCE Communication Protocol (PCEP) PCEP messages.  This
   document extends this capability for the Stateful PCEP messages.

   This document updates RFC 7470 to revise the reference to the IANA
   registry for managing Enterprise Numbers.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list  It represents the consensus of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid the IETF community.  It has
   received public review and has been approved for a maximum 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 six months this document, any errata,
   and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 29 May 2025.
   https://www.rfc-editor.org/info/rfc9752.

Copyright Notice

   Copyright (c) 2024 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)
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Revised BSD License text as described in Section 4.e of the
   Trust Legal Provisions and are provided without warranty as described
   in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
     1.2.  Use of RBNF . . . . . . . . . . . . . . . . . . . . . . .   4
   2.  Procedures for the Vendor Information Object  . . . . . . . .   4
   3.  Procedures for the Vendor Information TLV . . . . . . . . . .   6
   4.  Manageability Considerations  . . . . . . . . . . . . . . . .   7
     4.1.  Control of Function and Policy  . . . . . . . . . . . . .   7
     4.2.  Information and Data Models . . . . . . . . . . . . . . .   7
     4.3.  Liveness Detection and Monitoring . . . . . . . . . . . .   7
     4.4.  Verifying Correct Operations  . . . . . . . . . . . . . .   7
     4.5.  Requirements On Other Protocols . . . . . . . . . . . . .   7
     4.6.  Impact On on Network Operations  . . . . . . . . . . . . . .   7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   6.  Implementation Status . . . . . . . . . . . . . . . . . . . .   8
     6.1.  Cisco Systems . . . . . . . . . . . . . . . . . . . . . .   8
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   8.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   9
   9.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .   9
   10.
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     10.1.
     7.1.  Normative References . . . . . . . . . . . . . . . . . .  10
     10.2.
     7.2.  Informative References . . . . . . . . . . . . . . . . .  11
   Acknowledgments
   Contributors
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   The Path Computation Element Communication Protocol (PCEP) [RFC5440]
   provides mechanisms for a Path Computation Element (PCE) to perform
   path computation in response to a Path Computation Client (PCC)
   request.

   A Stateful PCE is capable of considering, for the purposes of the path
   computation, not only the network state in terms of links and nodes
   (referred to as the Traffic Engineering Database or TED) but also the
   status of active services (previously computed paths, and currently
   reserved resources, stored in the Label Switched Paths Database (LSP-DB)). (LSP-
   DB)).  [RFC8051] describes general considerations for a Stateful PCE
   deployment and examines its applicability and benefits, as well as
   its challenges and limitations through a number of use cases.

   [RFC8231] describes a set of extensions to PCEP to provide stateful
   control.  A Stateful PCE has access to not only the information
   carried by the network's Interior Gateway Protocol (IGP), but also
   the set of active paths and their reserved resources for its
   computations.  The additional state allows the PCE to compute
   constrained paths while considering individual LSPs and their
   interactions.  [RFC8281] describes the setup, maintenance, and
   teardown of PCE-initiated LSPs under the Stateful PCE model.  These
   extensions add new messages in PCEP for Stateful PCE.

   [RFC7470] defines the Vendor Information Object, object, which can carry
   arbitrary, proprietary information, such as vendor-specific
   constraints, in stateless PCEP.  It also defines the VENDOR-
   INFORMATION-TLV, which allows arbitrary information to be embedded
   within any existing or future PCEP object that supports TLVs.

   While originally designed for stateless PCEP, the Vendor Information
   Object
   object and VENDOR-INFORMATION-TLV are also useful in the Stateful PCE
   model.  The VENDOR-INFORMATION-TLV can already be included in any of
   the stateful PCEP objects as per [RFC7470] already. [RFC7470].  This document further
   extends stateful PCEP messages to support the use of the Vendor
   Information Object. object.

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.

1.2.  Use of RBNF

   The message formats in this document are illustrated using Routing
   Backus-Naur Form (RBNF) encoding, as specified in [RFC5511].  The use
   of RBNF is illustrative only and may omit certain important details;
   the normative specification of messages is found in the descriptive
   text.  If there is any divergence between the RBNF and the
   descriptive text, the descriptive text is considered authoritative.

2.  Procedures for the Vendor Information Object

   A Path Computation LSP State Report message (also referred to as
   PCRpt message) [RFC8231] (Section 6.1) message; see Section 6.1 of [RFC8231]) is a PCEP message sent
   by a PCC to a PCE to report the current state of an LSP.  A PCC that
   wants to convey proprietary or vendor-specific information or metrics
   to a PCE does so by including 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 determines how to
   interpret the information in the Vendor Information object by
   examining the Enterprise Number it contains.

   [RFC7470] stated that:

      "Enterprise

   |  Enterprise Numbers are assigned by IANA and managed through an
   |  IANA registry [RFC2578]". [RFC2578].

   This document updates [RFC7470] and replaces this text with:

      "Enterprise

   |  Enterprise Numbers are assigned by IANA and managed through the
   |  "Private Enterprise Numbers (PENs)" registry as described in
      [RFC9371]."
   |  [RFC9371].

   The Vendor Information object is OPTIONAL in a PCRpt message.
   Multiple instances of the object MAY be contained in a single PCRpt
   message.  Different instances of the object MAY have different
   Enterprise Numbers.

   The format of the PCRpt message (with Section 6.1 of [RFC8231] as the
   base) is updated as follows:

         <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 referred to as
   PCUpd message) [RFC8231] (Section 6.2) message; see Section 6.2 of [RFC8231]) is a PCEP message sent
   by a PCE to a PCC to update the attributes of an LSP.  The Vendor
   Information object can be included in a PCUpd message to convey
   proprietary or vendor-specific information.

   The format of the PCUpd message (with Section 6.2 of [RFC8231] as the
   base) is updated as follows:

         <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 referred to as
   PCInitiate message) [RFC8281] (Section 5.1) message; see Section 5.1 of [RFC8281]) is a PCEP message
   sent by a PCE to a PCC to trigger an LSP instantiation or deletion.
   The Vendor Information object can be included in a PCInitiate message
   to convey proprietary or vendor-specific information.

   The format of the PCInitiate message (with Section 5.1 of [RFC8281]
   as the base) is updated as follows:

        <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> is are as per defined in
   [RFC8281].

   A legacy implementation that does not recognize the Vendor
   Information object will act according to the procedures set out in
   [RFC8231] and [RFC8281].  An implementation that supports the Vendor
   Information object, but receives one carrying an Enterprise Number
   that it does not support, MUST ignore the object in the same way as
   described in Section 2 of [RFC7470].

3.  Procedures for the Vendor Information TLV

   The Vendor Information TLV can be used to carry vendor-specific
   information that applies to a specific PCEP object by including the
   TLV in the object.  This includes objects used in Stateful PCE
   extensions such as Stateful PCE Request Parameter (SRP) and LSP
   objects.  All of the procedures are as per section described in Section 3 of
   [RFC7470].

4.  Manageability Considerations

   All manageability requirements and considerations listed in
   [RFC5440], [RFC7470], [RFC8231], and [RFC8281] apply to the PCEP
   protocol extensions defined in this document.  In addition, the
   requirements and considerations listed in this section apply.

4.1.  Control of Function and Policy

   The requirements for control of function and policy for vendor-
   specific information as set out in [RFC7470] continue to apply to
   Stateful PCEP extensions specified in this document.

4.2.  Information and Data Models

   The PCEP YANG module is specified in [I-D.ietf-pce-pcep-yang]. [PCEP-YANG].  Any standard YANG
   module will not include details of vendor-specific information.
   However, the a standard YANG module could be extended to report the use
   of the Vendor Information object or TLV and the Enterprise Numbers
   that the objects and TLVs contain.

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

4.4.  Verifying Correct Operations

   Mechanisms defined in this document do not imply any new operation
   verification requirements in addition to those already listed in
   [RFC5440] and [RFC8231].

4.5.  Requirements On Other Protocols

   Mechanisms defined in this document do not imply any new requirements
   on other protocols.

4.6.  Impact On on Network Operations

   Mechanisms defined in [RFC5440] and [RFC8231] also apply to PCEP
   extensions defined in this document.

   Section 6.6 of [RFC7470] highlights how the presence of additional
   vendor-specific information in PCEP messages may congest the
   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 stateful PCEP
   message if it believes the recipient does not support that
   information.

   Encoding optimization for the Vendor Information Object, object, for example,
   in case of the object with has the same content encoded for multiple LSPs, is
   considered out of the scope of this document and may be proposed in
   the future as a separate document applicable to other PCEP objects.

5.  IANA Considerations

   There are

   This document has no IANA actions in this document. actions.

6.  Implementation Status

   [NOTE TO RFC EDITOR : This whole section and the reference to RFC
   7942 is to be removed before publication as an RFC]

   This section records the status of known implementations of the
   protocol defined by this specification at the time of posting of this
   Internet-Draft, and is based on a proposal described in [RFC7942].
   The description of implementations in this section is intended to
   assist the IETF in its decision processes in progressing drafts to
   RFCs.  Please note that the listing of any individual implementation
   here does not imply endorsement by the IETF.  Furthermore, no effort
   has been spent to verify the information presented here that was
   supplied by IETF contributors.  This is not intended as, and must not
   be construed to be, a catalog of available implementations or their
   features.  Readers are advised to note that other implementations may
   exist.

   According to [RFC7942], "this will allow reviewers and working groups
   to assign due consideration to documents that have the benefit of
   running code, which may serve as evidence of valuable experimentation
   and feedback that have made the implemented protocols more mature.
   It is up to the individual working groups to use this information as
   they see fit".

6.1.  Cisco Systems

   *  Organization: Cisco Systems, Inc.

   *  Implementation: Cisco IOS-XR PCE and PCC
   *  Description: Vendor Information Object used in PCRpt, PCUpd and
      PCInitiate messages.

   *  Maturity Level: Production

   *  Coverage: Full

   *  Contact: ssidor@cisco.com

7.  Security Considerations

   The protocol extensions defined in this document do not change the
   nature of PCEP.  Therefore, the security considerations set out in
   [RFC5440], [RFC7470], [RFC8231] [RFC8231], and [RFC8281] apply unchanged.

   As per [RFC8231] [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], as per the
   recommendations and best current practices in RFC 9325 [BCP195].

   The use of vendor-specific information as defined in [RFC7470] and in
   this document may provide a covert channel that could be misused by
   PCEP speaker implementations or by malicious software at PCEP
   speakers.  While there is limited protection against this, an
   operator monitoring the PCEP sessions can detect the use of vendor-
   specific information, be aware of the decoding mechanism for this
   data, and inspect it accordingly.  It is crucial for the operator to
   remain vigilant and monitor for any potential misuse of this object.
   Appropriate steps need to be taken to prevent the installation of
   malicious software at the PCEP speaker by implementing robust
   integrity, authentication, and authorization techniques for
   installation and updating, which are out of scope of this draft.

8.  Acknowledgments

   Thanks to Dhruv Dhody for shepherding and for 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, Xiao Min for their reviews, comments and suggestions.

9.  Contributors
   Dhruv Dhody
   Huawei
   India

   EMail: dhruv.ietf@gmail.com

   Mike Koldychev
   Ciena

   EMail: mkoldych@proton.me

10. document.

7.  References

10.1.

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

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

10.2.

7.2.  Informative References

   [I-D.ietf-pce-pcep-yang]

   [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-26, 19 October
              2024, draft-ietf-pce-pcep-yang-30, 26 January
              2025, <https://datatracker.ietf.org/doc/html/draft-ietf-
              pce-pcep-yang-26>.
              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>.

   [RFC7942]  Sheffer, Y. and A. Farrel, "Improving Awareness of Running
              Code: The Implementation Status Section", BCP 205,
              RFC 7942, DOI 10.17487/RFC7942, July 2016,
              <https://www.rfc-editor.org/info/rfc7942>.

   [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

   Thanks to Dhruv Dhody for shepherding the document 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