| Internet-Draft | PCEP for Associated Bidirectional SR | November 2025 |
| Li, et al. | Expires 1 June 2026 | [Page] |
The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Clients (PCCs) requests. Segment Routing (SR) leverages the source routing and tunneling paradigms. The Stateful PCEP extensions allow stateful control of Segment Routing Traffic Engineering (TE) paths. Furthermore, PCEP can be used to allow a PCE to compute SR TE paths in the network.¶
This document defines PCEP extensions for grouping two unidirectional SR paths (one in each direction in the network) into a single associated bidirectional SR path. The mechanisms defined in this document are applicable to both stateless and stateful PCEs for PCE-initiated and PCC-initiated LSPs.¶
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 1 June 2026.¶
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.¶
Segment routing (SR) [RFC8402] leverages the source routing and tunneling paradigms. SR supports steering packets onto an explicit forwarding path at the ingress node. SR is specified for unidirectional paths. However, some applications require bidirectional paths in SR networks, for example, in mobile backhaul transport networks. The requirement for bidirectional SR paths is specified in [RFC9545] and [I-D.ietf-spring-srv6-path-segment].¶
[RFC5440] describes the Path Computation Element (PCE) Communication Protocol (PCEP). PCEP enables the communication between a Path Computation Client (PCC) and a PCE, or between PCE and PCE, for the purpose of computation of Traffic Engineering (TE) Label Switched Paths (LSPs). [RFC8231] specifies a set of extensions to PCEP to enable stateful control of TE LSPs within and across PCEP sessions. The mode of operation where LSPs are initiated from the PCE is described in [RFC8281].¶
[RFC8664] specifies extensions to the PCEP for SR networks that allow a stateful PCE to compute and initiate SR TE paths, as well as a PCC to request, report or delegate them. As specified in [RFC8664], an SR path corresponds to an MPLS Label Switching Path (LSP) in PCEP when using the SR-TE path setup type. As specified in [RFC9603], the term "LSP" used in the PCEP specifications would be equivalent to an SRv6 path (represented as a list of SRv6 segments) in the context of supporting SRv6 in PCEP using SRv6 path setup type.¶
[RFC8697] introduces a generic mechanism to create a grouping of LSPs. This grouping can then be used to define associations between sets of LSPs or between a set of LSPs and a set of attributes, and it is equally applicable to the stateful PCE (active and passive modes) [RFC8231] and the stateless PCE [RFC5440].¶
For bidirectional SR paths, there are use-cases such as directed BFD [RFC9612] and Performance Measurement (PM) [RFC9503] that require the ingress node (PCC) to be aware of the reverse direction SR path. For such use-cases, the reverse SR paths need to be communicated to the ingress nodes (PCCs) using PCEP mechanisms. This allows both endpoint ingress nodes to be aware of the SR paths in both directions, including their status and all other path-related information.¶
[RFC9059] defines PCEP extensions for grouping two unidirectional Resource Reservation Protocol - Traffic Engineering (RSVP-TE) LSPs into an associated bidirectional LSP when using a stateful PCE for both PCE-initiated and PCC-initiated LSPs as well as when using a stateless PCE. Specifically, it defines the procedure for 'Double-Sided Bidirectional LSP Association', where the PCE creates the association and provisions the forward LSPs at their ingress nodes. The RSVP-TE signals the forward LSPs to the egress nodes. Thus, both endpoints learn the reverse LSPs forming the bidirectional LSP association via RSVP signaling.¶
An SR Policy contains one or more Candidate Paths (CPs) [RFC9256] from which one or more Candidate Paths can be computed via PCE. A Candidate Path of an SR Policy can contain one or more Segment Lists (SLs) [RFC9256]. When a Candidate Path is computed by the PCE, it means that the PCE computed all SLs of that Candidate Path. [I-D.ietf-pce-multipath] defines PCEP extensions for carrying multiple SLs in a Candidate Path. In PCEP messages, an SR path SL is encoded as an Explicit Route Object (ERO) as described in Section 4.3 of [RFC8664]. In case of multiple SLs of a CP, multiple EROs are encoded in a PCEP message along with their path properties as specified in [I-D.ietf-pce-multipath].¶
This document extends the bidirectional LSP association to SR paths by specifying PCEP extensions for grouping two unidirectional SR paths into an associated bidirectional SR path. [I-D.ietf-pce-multipath] defines PCEP extensions for carrying multiple SLs along with their opposite direction SLs for each CP of an SR Policy, as shown in an example in Section 6.4 (Opposite Direction Tunnels) in [I-D.ietf-pce-multipath]. The procedure defined in this document for associating the forward and reverse SR paths, works in conjunction with the procedure defined in [I-D.ietf-pce-multipath] that carry multiple EROs and the associated reverse path EROs for an LSP.¶
Note that the procedure for using the association group defined in this document is specific to the associated bidirectional SR paths. Associating a unidirectional SR path with a reverse direction unidirectional RSVP-TE LSP to form a bidirectional LSP, is outside the scope of this document.¶
This document makes use of the terms defined in [RFC8408]. The reader is assumed to be familiar with the terminology defined in [RFC5440], [RFC8231], [RFC8281], [RFC8697], [RFC9059], and [I-D.ietf-pce-multipath].¶
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.¶
Associated bidirectional SR paths can be created and updated by a Stateful PCE or by a PCC using the procedures defined in [RFC8697], [RFC9059], and [I-D.ietf-pce-multipath] as described in the sub-sections below.¶
High-level steps for creating associated bidirectional SR paths by a Stateful PCE are shown in Figure 1.¶
Step 1 - Stateful PCE Behaviour:¶
Stateful PCE MAY create and update the associated reverse SR path EROs for an SR path for the 'Double-Sided Bidirectional with Reverse LSP Association'. Stateful PCE MUST create and update the associated reverse SR path EROs for an SR path on a PCC via PCInitiate and PCUpd messages, respectively.¶
Step 2 - PCC Behaviour:¶
The PCC upon receiving the PCInitiate for the SR path and the associated reverse SR path EROs, MUST locally assign a PLSP-ID and report to the PCE via a PCRpt message.¶
+-----+
| PCE |
+-----+
PCInitiate: / \ PCInitiate:
Tunnel 1 (0) / \ Tunnel 2 (0)
LSP1 (F1, R2) / \ LSP2 (F2, R1)
Association #1 / \ Association #1
/ \
v v
+-----+ LSP1 +-----+
| S |------------>| D |
| |<------------| |
+-----+ LSP2 +-----+
<no signaling>
Legends: F=Forward LSP EROs, R=Reverse LSP EROs, (0)=PLSP-ID
Figure 1a: Step 1: PCE-Initiated Associated Bidirectional SR Path
with Forward and Reverse Direction SR Paths
---------------------------------------------------------------------
+-----+
| PCE |
+-----+
PCRpt: ^ ^ PCRpt:
Tunnel 1 (100) / \ Tunnel 2 (200)
LSP1 (F1, R2) / \ LSP2 (F2, R1)
Association #1 / \ Association #1
/ \
/ \
+-----+ LSP1 +-----+
| S |------------>| D |
| |<------------| |
+-----+ LSP2 +-----+
<no signaling>
Legends: F=Forward LSP EROs, R=Reverse LSP EROs, (100,200)=PLSP-IDs
Figure 1b: Step 2: PCC-Reported Bidirectional SR Path
with Forward and Reverse Direction SR Paths
¶
High-level steps for creating associated bidirectional SR paths by a PCC are shown in Figure 2.¶
Step 1 - PCC Behaviour:¶
PCC MAY create and update an SR path for the 'Double-Sided Bidirectional with Reverse LSP Association'. PCC MUST report the change in the association group of an SR path to PCE(s) via a PCRpt message.¶
Step 2 - Stateful PCE Behaviour:¶
Stateful PCE MUST update the associated reverse SR path EROs for the SR path in the 'Double-Sided Bidirectional with Reverse LSP Association' on a PCC via a PCInitiate message or a PCUpd message.¶
+-----+
| PCE |
+-----+
Report/Delegate: ^ ^ Report/Delegate:
Tunnel 1 (100) / \ Tunnel 2 (200)
LSP1 (F1) / \ LSP2 (F2)
Association #2 / \ Association #2
/ \
/ \
+-----+ LSP1 +-----+
| S |------------>| D |
| |<------------| |
+-----+ LSP2 +-----+
<no signaling>
Legends: F=Forward LSP EROs, (100,200)=PLSP-IDs
Figure 2a: Step 1: PCC-Initiated Associated Bidirectional SR
Path with Forward Direction SR Paths
---------------------------------------------------------------------
+-----+
| PCE |
+-----+
PCInitiate: / \ PCInitiate:
Tunnel 1 (100) / \ Tunnel 2 (200)
LSP1 (F1, R2) / \ LSP2 (F2, R1)
Association #2 / \ Association #2
/ \
v v
+-----+ LSP1 +-----+
| S |------------>| D |
| |<------------| |
+-----+ LSP2 +-----+
<no signaling>
Legends: F=Forward LSP EROs, R=Reverse LSP EROs, (100,200)=PLSP-IDs
Figure 2b: Step 2: PCE-Initiated Associated Bidirectional SR
Path with Reverse Direction SR Paths
¶
As per [RFC8697], TE LSPs are associated by adding them to a common association group by a PCEP peer. [RFC9059] uses the association group object and the procedures as specified in [RFC8697] to group two unidirectional RSVP-TE LSPs. Similarly, two SR paths can also be associated using a similar technique. This document extends these association mechanisms for bidirectional SR paths. Two unidirectional SR paths (one in each direction between two nodes in a network) can be associated together by using the association group defined in this document for PCEP messages.¶
For associating two unidirectional SR paths, this document defines a new Association Type called 'Double-Sided Bidirectional with Reverse LSP Association' for the Association Group object (Class-Value 40) as follows:¶
Association Type (value 8) = Double-Sided Bidirectional with Reverse LSP Association¶
The bidirectional association can be either dynamic or operator-configured. As per [RFC8697], the association group could be manually created by the operator on the PCEP peers, and the LSP belonging to this association is conveyed to the PCEP peer; alternatively, the association group could be created dynamically by the PCEP speaker, and both the association group information and the LSP belonging to the association group is conveyed to the PCEP peer.¶
The Operator-configured Association Range MUST be set for this Association Type to mark a range of Association Identifiers that are used for operator-configured associations to avoid any Association Identifier clash within the scope of the Association Source (refer to [RFC8697]). Specifically, for the PCE-initiated associated bidirectional SR paths, the Association Type is dynamically created by the PCE on the PCE peers.¶
The handling of the Association ID, Association Source, optional Global Association Source and optional Extended Association ID in this association are set as defined in [RFC8697].¶
[RFC8697] specifies the mechanism for the capability advertisement of the Association Types supported by a PCEP speaker by defining an ASSOC-Type-List TLV (value 35) to be carried within an OPEN object. This capability exchange for the Bidirectional Association MUST be done before using the Bidirectional Association Type. Thus, the PCEP speaker MUST include the bidirectional Association Type in the ASSOC-Type-List TLV and MUST receive the same from the PCEP peer before using the Bidirectional Association in PCEP messages.¶
An SR path (forward or reverse direction) MUST NOT be part of more than one 'Double-Sided Bidirectional with Reverse LSP Association' on a PCE. A PCE, upon detecting this condition, MUST NOT send the associated reverse SR path EROs to the ingress node PCC.¶
The endpoint nodes of the SR paths (forward and reverse direction) in 'Double-Sided Bidirectional with Reverse LSP Association' MUST be matching in the reverse directions.¶
The 'Bidirectional LSP Association Group TLV' defined in Section 4.2 of [RFC9059] is also applicable to the 'Double-Sided Bidirectional with Reverse LSP Association' defined in this document. A PCEP message for an associated bidirectional SR path MAY include the 'Bidirectional LSP Association Group TLV' to indicate the co-routed path property using the C flag defined in Section 4.2 of [RFC9059]. Note that the Reverse LSP (R flag) is not applicable to the associated bidirectional SR paths. The processing rules for this association group TLV are followed as described in Section 4.2 of [RFC9059].¶
When a PCE informs an ingress node PCC about the associated reverse SR path EROs computed for an SR path with the 'Double-Sided Bidirectional with Reverse LSP Association', it MUST include the 'PATH-ATTRIB' object to indicate the reverse direction for each ERO, and it MAY optionally include the 'MULTIPATH-OPPDIR-PATH TLV' to indicate the co-routed path properties for the ERO using the procedure defined in Section 3 of [I-D.ietf-pce-multipath].¶
The PCEP extensions defined in this document for an associated bidirectional SR path are applicable to the three scenarios described in Section 5 of [RFC9059].¶
Additional considerations for associating bidirectional SR paths are summarized in the sub-sections below.¶
As defined in Section 5.3 of [RFC9059], for a stateless PCE, it might be useful to associate a path computation request to an association group, thus enabling it to associate a common set of configuration parameters or behaviors with the request [RFC8697]. A PCC can request co-routed or non-co-routed forward and reverse direction SR paths from a stateless PCE for an associated bidirectional SR path using the 'Bidirectional Association Group TLV' as described in Section 4.2 of [RFC9059].¶
The Bidirectional (B) flag in the Request Parameters (RP) object [RFC5440] and Stateful PCE Request Parameter (SRP) object [RFC9504] follows the procedure defined in Section 5.4 of [RFC9059].¶
For an SR Policy, the ingress PCC node reports a unique PLSP-ID [RFC8231] for each CP of the SR Policy.¶
For an associated bidirectional SR path, the PCE will maintain two PLSP-IDs, one from the ingress node PCC and one from the egress node PCC. In the examples shown in Figure 1 and Figure 2, the ingress node PCC S reports the Tunnel 1, LSP1 to the PCE with PLSP-ID 100 whereas the egress node PCC D reports the Tunnel 2, LSP2 to the PCE with PLSP-ID 200.¶
[I-D.ietf-pce-sr-path-segment] defines a mechanism for communicating Path Segment Identifier (PSID) in PCEP for SR. The SR-MPLS PSID is defined in [RFC9545] and SRv6 PSID is defined in [I-D.ietf-spring-srv6-path-segment]. The PSID can be used for identifying the SR path of an associated bidirectional SR path. The PATH-SEGMENT TLV MAY be included for the SR path in the LSP object to support the use-cases, such as PM, as required. The PATH-SEGMENT TLV MUST be handled as defined in [I-D.ietf-pce-sr-path-segment] and is not modified for an associated bidirectional SR path.¶
The error handling as described in Section 5.7 of [RFC9059] continues to apply for the 'Double-Sided Bidirectional with Reverse LSP Association'.¶
[RFC9059] in Section 5.7, defines a PCErr message for the Path Setup Type (PST) of '0: Path is set up using the RSVP-TE signaling protocol' [RFC8408]. The PST for SR path is set to '1: Traffic-engineering path is set up using Segment Routing' [RFC8664] or '3: Traffic engineering path is set up using SRv6' [RFC9603]. If a PCEP speaker receives an unsupported PST value for the 'Double-Sided Bidirectional with Reverse LSP Association', the PCE speaker MUST return a PCErr message with Error-Type = 26 (Association Error) and Error-value = '16: Path Setup Type not supported' [RFC9059].¶
[Note to the RFC Editor - remove this section before publication, as well as remove the reference to [RFC7942].¶
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 feature is developing based on Huawei VRP8.¶
The security considerations described in [RFC5440], [RFC8231], [RFC8281], [RFC8408], and [I-D.ietf-pce-multipath] apply to the extensions defined in this document as well.¶
A new Association Type for the Association object, 'Double-Sided Bidirectional with Reverse LSP Association' is introduced in this document. Additional security considerations related to LSP associations due to a malicious PCEP speaker are described in [RFC8697] and apply to this Association Type. Hence, securing the PCEP session using Transport Layer Security (TLS) [RFC8253] is recommended.¶
All manageability requirements and considerations listed in [RFC5440], [RFC8231], [RFC8281], and [I-D.ietf-pce-multipath] apply to PCEP protocol extensions defined in this document. In addition, requirements and considerations listed in this section apply.¶
The mechanisms defined in this document do not imply any control or policy requirements in addition to those already listed in [RFC5440], [RFC8231], [RFC8281], and [I-D.ietf-pce-multipath].¶
[RFC7420] describes the PCEP MIB; there are no new MIB Objects defined for LSP associations.¶
The PCEP YANG module [RFC9826] defines a data model for LSP associations. However, it does not include associated bidirectional SR path information.¶
Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in [RFC5440], [RFC8231], [RFC8281], and [I-D.ietf-pce-multipath].¶
Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in [RFC5440], [RFC8231], [RFC8408], and [I-D.ietf-pce-multipath].¶
Mechanisms defined in this document do not imply any new requirements on other protocols.¶
Mechanisms defined in [RFC5440], [RFC8231], [RFC8408], and [I-D.ietf-pce-multipath] also apply to PCEP extensions defined in this document.¶
Associating forward and reverse SR paths to form a bidirectional SR path requires an operator to ensure that the correct LSP associations are employed on both sides of the SR paths. New tools such as directed BFD [RFC9612] and Performance Measurement (PM) [RFC9503] can be used to verify the correct operation of a bidirectional SR path.¶
This document defines a new Association Type, originally described in [RFC8697]. IANA is requested to update the value it has assigned through the early allocation process in the "ASSOCIATION Type Field" registry [RFC8697] within the "Path Computation Element Protocol (PCEP) Numbers" registry group, making it permanent:¶
Type Name Reference
--------------------------------------------------------------------
8 Double-Sided Bidirectional [This document]
with Reverse LSP Association
¶
Many thanks to Marina Fizgeer, Adrian Farrel, Andrew Stone, Tarek Saad, Samuel Sidor, and Mike Koldychev for the detailed review of this document and for providing many useful comments. Also, thank you, John Scudder, for the RtgDir Early review, and Carlos Pignataro for the OpsDir review, which helped improve this document.¶
The following people have substantially contributed to this document:¶
Dhruv Dhody Huawei Technologies Divyashree Techno Park, Whitefield Bangalore, Karnataka 560066 India Email: dhruv.ietf@gmail.com Zhenbin Li Huawei Technologies Huawei Campus, No. 156 Beiqing Rd. Beijing 100095 China Email: lizhenbin@huawei.com Jie Dong Huawei Technologies Huawei Campus, No. 156 Beiqing Rd. Beijing 100095 China Email: jie.dong@huawei.com¶