Internet-Draft | STATE-REPORTING-EXTENSIONS | March 2025 |
Sidor, et al. | Expires 4 September 2025 | [Page] |
The Path Computation Element Communication Protocol (PCEP) is defined in multiple RFCs for enabling communication between Path Computation Elements (PCEs) and Path Computation Clients (PCCs).¶
Although PCEP defines various LSP identifiers, attributes, and constraints, there are operational attributes available on the PCC that can enhance path computation and improve the debugging experience, which are not currently supported in PCEP.¶
This document proposes extensions to PCEP to include:¶
Support for explicit or dynamic path types¶
Mechanisms to mark LSPs as eligible for use as transit LSPs¶
Allowing instantiation of LSP and optionally do fallback to Binding label/Segment Identifier (SID) allocation by the PCC when the binding value specified by the PCE is unavailable¶
These extensions aim to address the existing gaps, enhancing the overall functionality and operational efficiency of PCEP.¶
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.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents 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 4 September 2025.¶
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 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.¶
A Stateful Path Computation Element (PCE) maintains comprehensive information on the current network state, including computed Label Switched Paths (LSPs), reserved network resources, and the pending path computation requests. This information is critical for computing paths for traffic-engineering LSPs and any associated or dependent LSPs.¶
[RFC9604] outlines the usage of Binding labels/ Segment Identifiers (SID) usage for an RSVP-TE-signaled Label Switched Paths (LSPs) and Segment-routing Traffic Engineering paths. It specifies the possibility of a PCE explicitly requesting the allocation of a specific binding value by a PCC. However, [RFC9604] only considers the option of rejecting entire request if the specified binding value is unavailable, but section 6.2 of [RFC9256] allows also fallback to a dynamically allocated binding value. This document introduces the possibility for a PCC to accept such request and include originally specified binding value for which allocation failed, as well as a binding value allocated from the dynamic range as a fallback.¶
This document specifies a set of extensions to Path Computation Element Communication Protocol(PCEP) to enhance the accuracy of path computations by considering whether the Binding label/SID of an LSP can be utilized in the path computation for another LSP, based on LSP transit eligibility, for example as described in case of LSP stitching in [I-D.ietf-pce-stateful-interdomain].¶
Additionally, this document introduces the ability to encode information regarding whether a path included in an Explicit Route Object (ERO) was specified explicitly or it is the result of dynamic path computation executed by a PCE or PCC. Such information can help in debuggability and can be used by other PCEs in the network to avoid triggering unnecessary path computations for LSPs where it is not intended (e.g., PCE-initiated LSPs with explicit path).¶
The mechanisms described in this document are applicable to all path setup types.¶
The following terminologies are used in this document:¶
New flags are proposed for the STATEFUL-PCE-CAPABILITY TLV, originally defined in Section 5.4 of [RFC8231].¶
F (BSID-FALLBACK-CAPABILITY): If set, indicates that the PCEP peer supports LSP creation and fallback to dynamic binding value allocation if the specific binding value is unavailable, as detailed in Section 4.1 of this document.¶
T (TRANSIT-ELIGIBLE-CAPABILITY): If set, indicates that the PCEP peer supports the advertisement of the Transit Eligible flag in the LSP-EXTENDED-FLAG as described in Section 4.3 of this document.¶
New flags are introduced in the LSP-EXTENDED-FLAG TLV, which was initially defined in Section 3.1 of [RFC9357].¶
New flags proposed in the TE-PATH-BINDING TLV, which was originally defined in Section 4 of [RFC9604].¶
A (Allocated): If set, indicates that the binding value encoded in the TLV represents an allocated binding value.¶
D (Down on BSID Unavailability): If set, indicates that LSP can be created even if specified binding value is unavailable, but LSP will be in down state.¶
F (Fallback): If set, indicates that binding value allocation from the dynamic range will be performed if the specified binding value is unavailable.¶
The PCEP protocol extensions defined in Section 3.3 of this draft MUST NOT be used if one or both PCEP speakers have not indicated support for the extensions using the F flag in the STATEFUL-PCE-CAPABILITY TLV in their respective OPEN messages.¶
[RFC9604] specifies the possibility for a PCE to explicitly request the allocation of a specific binding value by a PCC. If the specified binding value is unavailable, the entire request MUST be rejected. However, if either the D or F flag in the TE-PATH-BINDING TLV is set and the specified binding value in the PCInitiate or PCUpd message is unavailable, the PCC MUST NOT reject the request and MUST proceed with the LSP operation as specified in the message. If the D flag is set, LSP instantiation is allowed, but the LSP SHOULD remain in an operational down state. If the F flag is set, the PCC MUST do a fallback to binding value allocation from the dynamic range, as described in Section 6.2 of [RFC9256].¶
If the originally requested binding value and the allocated binding value differ, two instances of the TE-PATH-BINDING TLV MUST be included in the PCRpt message:¶
A TLV instance with requested binding value with the A flag cleared¶
A TLV instance with allocated binding value with the A flag set¶
The A flag MUST NOT be set if TE-PATH-BINDING TLV is included in PCInitiate and PCUpd messages as encoded value represents requested Binding Label/SID.¶
The A, D and F flags MUST NOT be used if one or both PCEP speakers have not set the BSID-FALLBACK-CAPABILITY in the STATEFUL-PCE-CAPABILITY TLV in their respective OPEN messages.¶
[RFC9256] describes various types of Segment Routing (SR) Policy Candidate Paths and methods to identify them. Specifically, Sections 5.1 and 5.2 are describing explicit and dynamic candidate paths, but there is currently no way to encode this information in PCEP. A similar limitation applies to LSPs of other path setup types.¶
For instance, if an operator requests the creation of a PCE-Initiated Candidate Path with an Explicit Path, then such path will be encoded in the ERO object of the PCInitiate message sent to the PCC. If the delegation of such LSP is transferred to another PCE, the new PCE will not know whether the path of the LSP was computed dynamically or explicitly specified by the operator.¶
Even if similar problem does not exist for LSPs originated on the PCC, information about the type of path may be valuable for other purposes, such as debuggability.¶
For LSPs initiated by PCC, the E flag value is initially set by the PCC in the PCRpt message and the PCE MUST set the flag value in PCUpd messages for such LSP based on the last reported state.¶
For PCE-initiated LSPs, the E flag value is initially set by the PCE in PCInitiate message but MAY be modified in the PCUpd messages. The PCC MUST set the flag value in PCRpt messages for such LSP based on the value received from the last PCInitiate or PCUpd message.¶
The T flag in the LSP-EXTENDED-FLAG TLV MUST NOT be set unless the TRANSIT-ELIGIBLE-CAPABILITY is supported by both PCEP peers.¶
If the TRANSIT-ELIGIBLE-CAPABILITY is not advertised, the PCE implementation MAY use a local policy to determine the value of the Transit Eligible flag.¶
For PCC-initiated LSPs, the T flag value is initially set by the PCC in the PCRpt message. The PCE MUST set the flag value in PCUpd messages for these LSPs based on the last reported state.¶
For PCE-initiated LSPs, the T flag value is initially set by the PCE in the PCInitiate message but MAY be modified in subsequent PCUpd messages. The PCC MUST set the flag value in PCRpt messages for these LSPs based on the value received from the latest PCInitiate or PCUpd message.¶
All manageability requirements and considerations listed in [RFC5440], [RFC8231] and [RFC8281] apply to PCEP protocol extensions defined in this document. In addition, requirements and considerations listed in this section apply.¶
A PCE or PCC implementation MAY allow the capability of supporting PCEP extensions introduced in this document to be enabled/disabled as part of the global configuration.¶
An implementation SHOULD allow the operator to view the capability defined in this document. Sections 4.1 and 4.1.1 of [I-D.ietf-pce-pcep-yang] should be extended to include the capability introduced in Section 3.1 for the PCEP peer.¶
Operation verification requirements already listed in [RFC5440], [RFC8231], [RFC8281] and [RFC8664] are applicable to mechanisms defined in this document.¶
The mechanisms defined in [RFC5440], [RFC8231], and [RFC8281] also apply to the PCEP extensions defined in this document.¶
[Note to the RFC Editor - remove this section before publication, as well as remove the reference to RFC 7942.]¶
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".¶
The security considerations described in [RFC5440], [RFC8231], [RFC8253], [RFC8281], [RFC8664].¶
IANA maintains a registry, named "STATEFUL-PCE-CAPABILITY TLV Flag Field", within the "Path Computation Element Protocol (PCEP) Numbers" registry group to manage the Flags field of the STATEFUL-PCE-CAPABILITY TLV. IANA is requested to make the following assignments:¶
Bit | Description | Reference |
---|---|---|
TBA1 | F (BSID-FALLBACK-CAPABILITY) | This document |
TBA2 | T (TRANSIT-ELIGIBLE-CAPABILITY) | This document |
IANA maintains a registry, named "TE-PATH-BINDING TLV Flag Field", within the "Path Computation Element Protocol (PCEP) Numbers" registry group to manage the Flags field of the TE-PATH-BINDING TLV. IANA is requested to make the following assignments:¶
Bit | Description | Reference |
---|---|---|
TBA3 | A (Allocated) | This document |
TBA4 | D (Down on BSID Unavailability) | This document |
TBA5 | F (Fallback) | This document |
IANA maintains a registry, named "LSP-EXTENDED-FLAG TLV Flag Field", within the "Path Computation Element Protocol (PCEP) Numbers" registry group to manage the Flags field of the LSP-EXTENDED-FLAG TLV. IANA is requested to make the following assignments:¶
Bit | Description | Reference |
---|---|---|
TBA6 | E (Explicit) | This document |
TBA7 | T (Transit Eligible) | This document |
Rajesh Melarcode Venkateswaran Cisco Systems, Inc. Email: rmelarco@cisco.com Andrew Stone Nokia Email: andrew.stone@nokia.com¶