From 4bfd864f10b68b71482b35c818559068ef8d5797 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 27 Nov 2024 20:54:24 +0100 Subject: doc: Add RFC documents --- doc/rfc/rfc9059.txt | 1035 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1035 insertions(+) create mode 100644 doc/rfc/rfc9059.txt (limited to 'doc/rfc/rfc9059.txt') diff --git a/doc/rfc/rfc9059.txt b/doc/rfc/rfc9059.txt new file mode 100644 index 0000000..704ab63 --- /dev/null +++ b/doc/rfc/rfc9059.txt @@ -0,0 +1,1035 @@ + + + + +Internet Engineering Task Force (IETF) R. Gandhi, Ed. +Request for Comments: 9059 Cisco Systems, Inc. +Category: Standards Track C. Barth +ISSN: 2070-1721 Juniper Networks + B. Wen + Comcast + June 2021 + + + Path Computation Element Communication Protocol (PCEP) Extensions for + Associated Bidirectional Label Switched Paths (LSPs) + +Abstract + + This document defines Path Computation Element Communication Protocol + (PCEP) extensions for grouping two unidirectional MPLS-TE Label + Switched Paths (LSPs), one in each direction in the network, into an + associated bidirectional LSP. These PCEP extensions can be applied + either using a stateful PCE for both PCE-initiated and PCC-initiated + LSPs or using a stateless PCE. The PCEP procedures defined are + applicable to the LSPs using RSVP-TE for signaling. + +Status of This Memo + + This is an Internet Standards Track document. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for 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 this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc9059. + +Copyright Notice + + Copyright (c) 2021 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 Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + +Table of Contents + + 1. Introduction + 2. Conventions Used in This Document + 2.1. Key Word Definitions + 2.2. Terminology + 3. Overview + 3.1. Single-Sided Initiation + 3.1.1. PCE-Initiated Single-Sided Bidirectional LSP + 3.1.2. PCC-Initiated Single-Sided Bidirectional LSP + 3.2. Double-Sided Initiation + 3.2.1. PCE-Initiated Double-Sided Bidirectional LSP + 3.2.2. PCC-Initiated Double-Sided Bidirectional LSP + 3.3. Co-routed Associated Bidirectional LSP + 3.4. Summary of PCEP Extensions + 3.5. Operational Considerations + 4. Protocol Extensions + 4.1. ASSOCIATION Object + 4.2. Bidirectional LSP Association Group TLV + 5. PCEP Procedure + 5.1. PCE-Initiated LSPs + 5.2. PCC-Initiated LSPs + 5.3. Stateless PCE + 5.4. Bidirectional (B) Flag + 5.5. PLSP-ID Usage + 5.6. State Synchronization + 5.7. Error Handling + 6. Security Considerations + 7. Manageability Considerations + 7.1. Control of Function and Policy + 7.2. Information and Data Models + 7.3. Liveness Detection and Monitoring + 7.4. Verify Correct Operations + 7.5. Requirements on Other Protocols + 7.6. Impact on Network Operations + 8. IANA Considerations + 8.1. Association Types + 8.2. Bidirectional LSP Association Group TLV + 8.2.1. Flag Field in Bidirectional LSP Association Group TLV + 8.3. PCEP Errors + 9. References + 9.1. Normative References + 9.2. Informative References + Acknowledgments + Authors' Addresses + +1. Introduction + + [RFC5440] describes the Path Computation Element Communication + Protocol (PCEP) as a communication mechanism between a Path + Computation Client (PCC) and a Path Computation Element (PCE), or + between PCE and PCC, that enables computation of Multiprotocol Label + Switching (MPLS) - Traffic Engineering (TE) Label Switched Paths + (LSPs). + + [RFC8231] specifies extensions to PCEP to enable stateful control of + MPLS-TE LSPs. It describes two modes of operation: passive stateful + PCE and active stateful PCE. In [RFC8231], the focus is on active + stateful PCE where LSPs are provisioned on the PCC and control over + them is delegated to a PCE. Further, [RFC8281] describes the setup, + maintenance, and teardown of PCE-initiated LSPs for the stateful PCE + model. + + [RFC8697] introduces a generic mechanism for creating 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) + and the stateless PCE. + + The MPLS Transport Profile (MPLS-TP) requirements document [RFC5654] + specifies that "MPLS-TP MUST support unidirectional, co-routed + bidirectional, and associated bidirectional point-to-point transport + paths". [RFC7551] defines RSVP signaling extensions for binding + forward and reverse unidirectional LSPs into an associated + bidirectional LSP. The fast reroute (FRR) procedures for associated + bidirectional LSPs are described in [RFC8537]. + + This document defines PCEP extensions for grouping two unidirectional + MPLS-TE LSPs into an associated bidirectional LSP for both single- + sided and double-sided initiation cases either when using a stateful + PCE for both PCE-initiated and PCC-initiated LSPs or when using a + stateless PCE. The procedures defined are applicable to the LSPs + using Resource Reservation Protocol - Traffic Engineering (RSVP-TE) + for signaling [RFC3209]. Specifically, this document defines two new + Association Types, Single-Sided Bidirectional LSP Association and + Double-Sided Bidirectional LSP Association, as well as the + Bidirectional LSP Association Group TLV, to carry additional + information for the association. + + The procedure for associating two unidirectional Segment Routing (SR) + paths to form an associated bidirectional SR path is defined in + [BIDIR-PATH] and is outside the scope of this document. + +2. Conventions Used in This Document + +2.1. Key Word Definitions + + 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. + +2.2. Terminology + + The reader is assumed to be familiar with the terminology defined in + [RFC5440], [RFC7551], [RFC8231], and [RFC8697]. + +3. Overview + + As shown in Figure 1, forward and reverse unidirectional LSPs can be + grouped to form an associated bidirectional LSP. Node A is the + ingress node for LSP1 and egress node for LSP2, whereas node D is the + ingress node for LSP2 and egress node for LSP1. There are two + methods of initiating the Bidirectional LSP Association, single-sided + and double-sided, as defined in [RFC7551] and described in the + following sections. + + LSP1 --> LSP1 --> LSP1 --> + +-----+ +-----+ +-----+ +-----+ + | A +-----------+ B +-----------+ C +-----------+ D | + +-----+ +--+--+ +--+--+ +-----+ + <-- LSP2 | | <-- LSP2 + | | + | | + +--+--+ +--+--+ + | E +-----------+ F | + +-----+ +-----+ + <-- LSP2 + + Figure 1: Example of Associated Bidirectional LSP + +3.1. Single-Sided Initiation + + As specified in [RFC7551], in the single-sided case, the + bidirectional tunnel is provisioned only on one endpoint node (PCC) + of the tunnel. Both endpoint nodes act as PCCs. Both forward and + reverse LSPs of this tunnel are initiated with the Association Type + set to "Single-Sided Bidirectional LSP Association" on the + originating endpoint node. The forward and reverse LSPs are + identified in the Bidirectional LSP Association Group TLV of their + PCEP ASSOCIATION objects. + + The originating endpoint node signals the properties for the reverse + LSP in the RSVP REVERSE_LSP object [RFC7551] of the forward LSP Path + message. The remote endpoint node then creates the corresponding + reverse tunnel and reverse LSP, and it then signals the reverse LSP + in response to the received RSVP-TE Path message. Similarly, the + remote endpoint node deletes the reverse LSP when it receives the + RSVP-TE message to delete the forward LSP [RFC3209]. + + As specified in [RFC8537], for fast reroute bypass tunnel assignment, + the LSP starting from the originating endpoint node is identified as + the forward LSP of the single-sided initiated bidirectional LSP. + +3.1.1. PCE-Initiated Single-Sided Bidirectional LSP + + +-----+ + | PCE | + +-----+ + Initiates: | \ + Tunnel 1 (F) | \ + (LSP1 (F, 0), LSP2 (R, 0)) | \ + Association #1 v \ + +-----+ +-----+ + | A | | D | + +-----+ +-----+ + + + +-----+ + | PCE | + +-----+ + Reports: ^ ^ Reports: + Tunnel 1 (F) | \ Tunnel 2 (F) + (LSP1 (F, P1), LSP2 (R, P2)) | \ (LSP2 (F, P3)) + Association #1 | \ Association #1 + +-----+ +-----+ + | A | | D | + +-----+ +-----+ + + Legend: F = Forward LSP, R = Reverse LSP, (0,P1,P2,P3) = PLSP-IDs + + Figure 2: Example of PCE-Initiated Single-Sided Bidirectional LSP + + Using partial topology from Figure 1, as shown in Figure 2, the + forward Tunnel 1 and both forward LSP1 and reverse LSP2 are initiated + on the originating endpoint node A by the PCE. The PCEP-specific LSP + identifiers (PLSP-IDs) used are P1 and P2 on the originating endpoint + node A and P3 on the remote endpoint node D. The originating + endpoint node A reports Tunnel 1 and forward LSP1 and reverse LSP2 to + the PCE. The endpoint (PCC) node D reports Tunnel 2 and LSP2 to the + PCE. + +3.1.2. PCC-Initiated Single-Sided Bidirectional LSP + + +-----+ + | PCE | + +-----+ + Reports/Delegates: ^ ^ Reports: + Tunnel 1 (F) | \ Tunnel 2 (F) + (LSP1 (F, P1), LSP2 (R, P2)) | \ (LSP2 (F, P3)) + Association #2 | \ Association #2 + +-----+ +-----+ + | A | | D | + +-----+ +-----+ + + Legend: F = Forward LSP, R = Reverse LSP, (P1,P2,P3) = PLSP-IDs + + Figure 3: Example of PCC-Initiated Single-Sided Bidirectional LSP + + Using partial topology from Figure 1, as shown in Figure 3, the + forward Tunnel 1 and both forward LSP1 and reverse LSP2 are initiated + on the originating endpoint node A (the originating PCC). The PLSP- + IDs used are P1 and P2 on the originating endpoint node A and P3 on + the remote endpoint node D. The originating endpoint (PCC) node A + may delegate the forward LSP1 and reverse LSP2 to the PCE. The + originating endpoint node A reports Tunnel 1 and forward LSP1 and + reverse LSP2 to the PCE. The endpoint (PCC) node D reports Tunnel 2 + and LSP2 to the PCE. + +3.2. Double-Sided Initiation + + As specified in [RFC7551], in the double-sided case, the + bidirectional tunnel is provisioned on both endpoint nodes (PCCs) of + the tunnel. The forward and reverse LSPs of this tunnel are + initiated with the Association Type set to "Double-Sided + Bidirectional LSP Association" on both endpoint nodes. The forward + and reverse LSPs are identified in the Bidirectional LSP Association + Group TLV of their ASSOCIATION objects. + + As specified in [RFC8537], for fast reroute bypass tunnel assignment, + the LSP with the higher source address [RFC3209] is identified as the + forward LSP of the double-sided initiated bidirectional LSP. + +3.2.1. PCE-Initiated Double-Sided Bidirectional LSP + + +-----+ + | PCE | + +-----+ + Initiates: | \ Initiates: + Tunnel 1 (F) | \ Tunnel 2 (F) + (LSP1 (F, 0)) | \ (LSP2 (F, 0)) + Association #3 v v Association #3 + +-----+ +-----+ + | A | | D | + +-----+ +-----+ + + + +-----+ + | PCE | + +-----+ + Reports: ^ ^ Reports: + Tunnel 1 (F) | \ Tunnel 2 (F) + (LSP1 (F, P4)) | \ (LSP2 (F, P5)) + Association #3 | \ Association #3 + +-----+ +-----+ + | A | | D | + +-----+ +-----+ + + Legend: F = Forward LSP, (0,P4,P5) = PLSP-IDs + + Figure 4: Example of PCE-Initiated Double-Sided Bidirectional LSP + + Using partial topology from Figure 1, as shown in Figure 4, the + forward Tunnel 1 and forward LSP1 are initiated on the endpoint node + A, and the reverse Tunnel 2 and reverse LSP2 are initiated on the + endpoint node D by the PCE. The PLSP-IDs used are P4 on the endpoint + node A and P5 on the endpoint node D. The endpoint node A (PCC) + reports the forward LSP1, and endpoint node D reports the forward + LSP2 to the PCE. + +3.2.2. PCC-Initiated Double-Sided Bidirectional LSP + + +-----+ + | PCE | + +-----+ + Reports/Delegates: ^ ^ Reports/Delegates: + Tunnel 1 (F) | \ Tunnel 2 (F) + (LSP1 (F, P4)) | \ (LSP2 (F, P5)) + Association #4 | \ Association #4 + +-----+ +-----+ + | A | | D | + +-----+ +-----+ + + Legend: F = Forward LSP, (P4,P5) = PLSP-IDs + + Figure 5: Example of PCC-Initiated Double-Sided Bidirectional LSP + + Using partial topology from Figure 1, as shown in Figure 5, the + forward Tunnel 1 and forward LSP1 are initiated on the endpoint node + A, and the reverse Tunnel 2 and reverse LSP2 are initiated on the + endpoint node D (the PCCs). The PLSP-IDs used are P4 on the endpoint + node A and P5 on the endpoint node D. Both endpoint (PCC) nodes may + delegate the forward LSP1 and LSP2 to the PCE. The endpoint node A + (PCC) reports the forward LSP1, and endpoint node D reports the + forward LSP2 to the PCE. + +3.3. Co-routed Associated Bidirectional LSP + + In both single-sided and double-sided initiation cases, forward and + reverse LSPs can be co-routed as shown in Figure 6, where both + forward and reverse LSPs of a bidirectional LSP follow the same + congruent path in the forward and reverse directions, respectively. + + LSP3 --> LSP3 --> LSP3 --> + +-----+ +-----+ +-----+ +-----+ + | A +-----------+ B +-----------+ C +-----------+ D | + +-----+ +-----+ +-----+ +-----+ + <-- LSP4 <-- LSP4 <-- LSP4 + + Figure 6: Example of Co-routed Associated Bidirectional LSP + + The procedure specified in [RFC8537] for fast reroute bypass tunnel + assignment is also applicable to the co-routed associated + bidirectional LSPs. + +3.4. Summary of PCEP Extensions + + The PCEP extensions defined in this document cover the following + modes of operation under the stateful PCE model: + + * A PCC initiates the forward and reverse LSP of a single-sided + bidirectional LSP and retains control of the LSPs. Similarly, + both PCCs initiate the forward LSPs of a double-sided + bidirectional LSP and retain control of the LSPs. The PCC + computes the path itself or makes a request for path computation + to a PCE. After the path setup, it reports the information and + state of the path to the PCE. This includes the association group + identifying the bidirectional LSP. This is the passive stateful + mode defined in [RFC8051]. + + * A PCC initiates the forward and reverse LSP of a single-sided + bidirectional LSP and delegates control of the LSPs to a stateful + PCE. Similarly, both PCCs initiate the forward LSPs of a double- + sided bidirectional LSP and delegate control of the LSPs to a + stateful PCE. During delegation, the association group + identifying the bidirectional LSP is included. The PCE computes + the path of the LSP and updates the PCC with the information about + the path as long as it controls the LSP. This is the active + stateful mode defined in [RFC8051]. + + * A PCE initiates the forward and reverse LSP of a single-sided + bidirectional LSP on a PCC and retains control of the LSP. + Similarly, a PCE initiates the forward LSPs of a double-sided + bidirectional LSP on both PCCs and retains control of the LSPs. + The PCE is responsible for computing the path of the LSP and + updating the PCC with the information about the path as well as + the association group identifying the bidirectional LSP. This is + the PCE-initiated mode defined in [RFC8281]. + + * A PCC requests co-routed or non-co-routed paths for forward and + reverse LSPs of a bidirectional LSP, including when using a + stateless PCE [RFC5440]. + +3.5. Operational Considerations + + The double-sided case has an advantage when compared to the single- + sided case, summarized as follows: + + * In the double-sided case, two existing unidirectional LSPs in + reverse directions in the network can be associated to form a + bidirectional LSP without significantly increasing the operational + complexity. + + The single-sided case has some advantages when compared to the + double-sided case, summarized as follows: + + * Some Operations, Administration, and Maintenance (OAM) use cases + may require an endpoint node to know both forward and reverse + paths for monitoring the bidirectional LSP. For such use cases, + the single-sided case may be preferred. + + * For co-routed associated bidirectional LSPs in PCC-initiated mode, + the single-sided case allows the originating PCC to dynamically + compute co-routed forward and reverse paths. This may not be + possible with the double-sided case where the forward and reverse + paths are computed separately as triggered by two different PCCs. + + * The associated bidirectional LSPs in the single-sided case can be + deployed in a network where PCEP is only enabled on the + originating endpoint nodes as remote endpoint nodes create the + reverse tunnels using RSVP-TE Path messages. + +4. Protocol Extensions + +4.1. ASSOCIATION Object + + As per [RFC8697], LSPs are associated by adding them to a common + association group. This document defines two new Association Types, + called "Single-Sided Bidirectional LSP Association" (4) and "Double- + Sided Bidirectional LSP Association" (5), using the generic + ASSOCIATION object (Object-Class value 40). A member of the + Bidirectional LSP Association can take the role of a forward or + reverse LSP and follows the following rules: + + * An LSP (forward or reverse) MUST NOT be part of more than one + Bidirectional LSP Association. + + * The LSPs in a Bidirectional LSP Association MUST have matching + endpoint nodes in the reverse directions. + + * The same tunnel (as defined in Section 2.1 of [RFC3209]) MUST + contain the forward and reverse LSPs of the Single-Sided + Bidirectional LSP Association on the originating node, albeit both + LSPs have reversed endpoint nodes. + + The Bidirectional LSP Association Types are considered to be both + dynamic and operator configured in nature. As per [RFC8697], the + association group could be manually created by the operator on the + PCEP peers, and the LSPs belonging to this association are conveyed + via PCEP messages to the PCEP peer; alternately, the association + group could be created dynamically by the PCEP speaker, and both the + association group information and the LSPs belonging to the + association group are 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 bidirectional LSPs, these + associations are dynamically created by the PCE on the PCE peers. + Similarly, for both the PCE-initiated and the PCC-initiated single- + sided cases, these associations are also dynamically created on the + remote endpoint node using the information received from the RSVP + message from the originating node. + + The Association ID, Association Source, optional Global Association + Source TLV, and optional Extended Association ID TLV in the + Bidirectional LSP ASSOCIATION object are initialized using the + procedures defined in [RFC8697] and [RFC7551]. + + [RFC8697] specifies the mechanism for the capability advertisement of + the Association Types supported by a PCEP speaker by defining an + ASSOC-Type-List TLV to be carried within an OPEN object. This + capability exchange for the Bidirectional LSP Association Types MUST + be done before using the Bidirectional LSP Association. Thus, the + PCEP speaker MUST include the Bidirectional LSP Association Types in + the ASSOC-Type-List TLV and MUST receive the same from the PCEP peer + before using the Bidirectional LSP Association in PCEP messages. + +4.2. Bidirectional LSP Association Group TLV + + The Bidirectional LSP Association Group TLV is an OPTIONAL TLV for + use with Bidirectional LSP Associations (ASSOCIATION object with + Association Type 4 for Single-Sided Bidirectional LSP Association or + 5 for Double-Sided Bidirectional LSP Association). + + * The Bidirectional LSP Association Group TLV follows the PCEP TLV + format from [RFC5440]. + + * The Type (16 bits) of the TLV is 54. + + * The Length is 4 bytes. + + * The value comprises of a single field, the Flags field (32 bits), + where each bit represents a flag option. + + * If the Bidirectional LSP Association Group TLV is missing, it + means the LSP is the forward LSP, and it is not a co-routed LSP. + + * When the Bidirectional LSP Association Group TLV is present, the R + flag MUST be reset for the forward LSP for both co-routed and non- + co-routed LSPs. + + * For co-routed LSPs, this TLV MUST be present and the C flag set. + + * For reverse LSPs, this TLV MUST be present and the R flag set. + + * The Bidirectional LSP Association Group TLV MUST NOT be present + more than once. If it appears more than once, only the first + occurrence is processed, and any others MUST be ignored. + + The format of the Bidirectional LSP Association Group TLV is shown in + Figure 7. + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Type = 54 | Length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Flags |C|R| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Figure 7: Bidirectional LSP Association Group TLV Format + + Flags for the Bidirectional LSP Association Group TLV are defined as + follows. + + R (Reverse LSP, 1 bit, bit number 31): Indicates whether the LSP + associated is the reverse LSP of the bidirectional LSP. If this + flag is set, the LSP is a reverse LSP. If this flag is not set, + the LSP is a forward LSP. + + C (Co-routed Path, 1 bit, bit number 30): Indicates whether the + bidirectional LSP is co-routed. This flag MUST be set for both + the forward and reverse LSPs of a co-routed bidirectional LSP. + + The C flag is used by the PCE (both stateful and stateless) to + compute bidirectional paths of the forward and reverse LSPs of a co- + routed bidirectional LSP. + + The unassigned flags (bit numbers 0-29) MUST be set to 0 when sent + and MUST be ignored when received. + +5. PCEP Procedure + + The PCEP procedure defined in this document is applicable to the + following three scenarios: + + * Neither unidirectional LSP exists, and both must be established. + + * Both unidirectional LSPs exist, but the association must be + established. + + * One LSP exists, but the reverse associated LSP must be + established. + +5.1. PCE-Initiated LSPs + + As specified in [RFC8697], Bidirectional LSP Associations can be + created and updated by a stateful PCE. + + * For a Single-Sided Bidirectional LSP Association initiated by the + PCE, the PCE MUST send a PCInitiate message to the originating + endpoint node with both forward and reverse LSPs. For a Double- + Sided Bidirectional LSP Association initiated by the PCE, it MUST + send a PCInitiate message to both endpoint nodes with forward + LSPs. + + * Both PCCs MUST report the forward and reverse LSPs in the + Bidirectional LSP Association to the PCE. A PCC reports via a + PCRpt message. + + * Stateful PCEs MAY create and update the forward and reverse LSPs + independently for the Single-Sided Bidirectional LSP Association + on the originating endpoint node. + + * Stateful PCEs MAY create and update the forward LSP independently + for the Double-Sided Bidirectional LSP Association on the endpoint + nodes. + + * Stateful PCEs establish and remove the association relationship on + a per-LSP basis. + + * Stateful PCEs create and update the LSP and the association on + PCCs via PCInitiate and PCUpd messages, respectively, using the + procedures described in [RFC8697]. + +5.2. PCC-Initiated LSPs + + As specified in [RFC8697], Bidirectional LSP Associations can also be + created and updated by a PCC. + + * For a Single-Sided Bidirectional LSP Association initiated at a + PCC, the PCC MUST send a PCRpt message to the PCE with both + forward and reverse LSPs. For a Double-Sided Bidirectional LSP + Association initiated at the PCCs, both PCCs MUST send a PCRpt + message to the PCE with forward LSPs. + + * PCCs on the originating endpoint node MAY create and update the + forward and reverse LSPs independently for the Single-Sided + Bidirectional LSP Association. + + * PCCs on the endpoint nodes MAY create and update the forward LSP + independently for the Double-Sided Bidirectional LSP Association. + + * PCCs establish and remove the association group on a per-LSP + basis. PCCs MUST report the change in the association group of an + LSP to PCE(s) via a PCRpt message. + + * PCCs report the forward and reverse LSPs in the Bidirectional LSP + Association independently to PCE(s) via a PCRpt message. + + * PCCs for the single-sided case MAY delegate the forward and + reverse LSPs independently to a stateful PCE, where the PCE would + control the LSPs. In this case, the originating (PCC) endpoint + node SHOULD delegate both forward and reverse LSPs of a tunnel + together to a stateful PCE in order to avoid any race condition. + + * PCCs for the double-sided case MAY delegate the forward LSPs to a + stateful PCE, where the PCE would control the LSPs. + + * A stateful PCE updates the LSPs in the Bidirectional LSP + Association via a PCUpd message, using the procedures described in + [RFC8697]. + +5.3. Stateless PCE + + 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 paths from a stateless PCE for a Bidirectional + LSP Association. + +5.4. Bidirectional (B) Flag + + As defined in [RFC5440], the Bidirectional (B) flag in the Request + Parameters (RP) object is set when the PCC specifies that the path + computation request is for a bidirectional TE LSP with the same TE + requirements in each direction. For an associated bidirectional LSP, + the B flag is also set when the PCC makes the path computation + request for the same TE requirements for the forward and reverse + LSPs. + + Note that the B flag defined in a Stateful PCE Request Parameter + (SRP) object [STATEFUL-PCE-GMPLS] to indicate "bidirectional co- + routed LSP" is used for GMPLS-signaled bidirectional LSPs and is not + applicable to the associated bidirectional LSPs. + +5.5. PLSP-ID Usage + + As defined in [RFC8231], a PCEP-specific LSP Identifier (PLSP-ID) is + created by a PCC to uniquely identify an LSP, and it remains the same + for the lifetime of a PCEP session. + + In the case of a Single-Sided Bidirectional LSP Association, the + reverse LSP of a bidirectional LSP created on the originating + endpoint node is identified by the PCE using two different PLSP-IDs, + based on the PCEP session on the ingress or egress node PCCs for the + LSP. In other words, the LSP will have a PLSP-ID P2 allocated at the + ingress node PCC, while it will have a PLSP-ID P3 allocated at the + egress node PCC (as shown in Figures 2 and 3). There is no change in + the PLSP-ID allocation procedure for the forward LSP of a single- + sided bidirectional LSP created on the originating endpoint node. + + In the case of a Double-Sided Bidirectional LSP Association, there is + no change in the PLSP-ID allocation procedure for the forward LSPs on + either PCC. + + For an associated bidirectional LSP, the LSP-IDENTIFIERS TLV + [RFC8231] MUST be included in all forward and reverse LSPs. + +5.6. State Synchronization + + During state synchronization, a PCC MUST report all the existing + Bidirectional LSP Associations to the stateful PCE, as per [RFC8697]. + After the state synchronization, the PCE MUST remove all previous + Bidirectional LSP Associations absent in the report. + +5.7. Error Handling + + If a PCE speaker receives an LSP with a Bidirectional LSP Association + Type that it does not support, the PCE speaker MUST send PCErr with + Error-Type = 26 (Association Error) and Error-value = 1 (Association + Type is not supported). + + An LSP (forward or reverse) cannot be part of more than one + Bidirectional LSP Association. If a PCE speaker receives an LSP not + complying to this rule, the PCE speaker MUST send PCErr with Error- + Type = 26 (Association Error) and Error-value = 14 (Association group + mismatch). + + The LSPs (forward or reverse) in a Single-Sided Bidirectional + Association MUST belong to the same TE tunnel (as defined in + [RFC3209]). If a PCE speaker attempts to add an LSP in a Single- + Sided Bidirectional LSP Association for a different tunnel, the PCE + speaker MUST send PCErr with Error-Type = 26 (Association Error) and + Error-value = 15 (Tunnel mismatch in the association group). + + The PCEP Path Setup Type (PST) for RSVP-TE is set to "Path is set up + using the RSVP-TE signaling protocol" (Value 0) [RFC8408]. If a PCEP + speaker receives a different PST value for the Bidirectional LSP + Associations defined in this document, the PCE speaker MUST return a + PCErr message with Error-Type = 26 (Association Error) and Error- + value = 16 (Path Setup Type not supported). + + A Bidirectional LSP Association cannot have both unidirectional LSPs + identified as reverse LSPs or both LSPs identified as forward LSPs. + If a PCE speaker receives an LSP not complying to this rule, the PCE + speaker MUST send PCErr with Error-Type = 26 (Association Error) and + Error-value = 17 (Bidirectional LSP direction mismatch). + + A Bidirectional LSP Association cannot have one unidirectional LSP + identified as co-routed and the other identified as non-co-routed. + If a PCE speaker receives an LSP not complying to this rule, the PCE + speaker MUST send PCErr with Error-Type = 26 (Association Error) and + Error-value = 18 (Bidirectional LSP co-routed mismatch). + + The unidirectional LSPs forming the Bidirectional LSP Association + MUST have matching endpoint nodes in the reverse directions. If a + PCE speaker receives an LSP not complying to this rule, the PCE + speaker MUST send PCErr with Error-Type = 26 (Association Error) and + Error-value = 19 (Endpoint mismatch in the association group). + + The processing rules as specified in Section 6.4 of [RFC8697] + continue to apply to the Association Types defined in this document. + +6. Security Considerations + + The security considerations described in [RFC5440], [RFC8231], and + [RFC8281] apply to the extensions defined in this document as well. + + Two new Association Types for the ASSOCIATION object, Single-Sided + Bidirectional LSP Association and Double-Sided Bidirectional LSP + Association, are introduced in this document. Additional security + considerations related to LSP associations due to a malicious PCEP + speaker are described in [RFC8697] and apply to these Association + Types. Hence, securing the PCEP session using Transport Layer + Security (TLS) [RFC8253] is RECOMMENDED. + +7. Manageability Considerations + +7.1. Control of Function and Policy + + The mechanisms defined in this document do not imply any control or + policy requirements in addition to those already listed in [RFC5440], + [RFC8231], and [RFC8281]. + +7.2. Information and Data Models + + [RFC7420] describes the PCEP MIB; there are no new MIB objects + defined for LSP associations. + + The PCEP YANG module [PCE-PCEP-YANG] defines a data model for LSP + associations. + +7.3. Liveness Detection and Monitoring + + The mechanisms defined in this document do not imply any new liveness + detection and monitoring requirements in addition to those already + listed in [RFC5440], [RFC8231], and [RFC8281]. + +7.4. Verify Correct Operations + + The mechanisms defined in this document do not imply any new + operation verification requirements in addition to those already + listed in [RFC5440], [RFC8231], and [RFC8281]. + +7.5. Requirements on Other Protocols + + The mechanisms defined in this document do not add any new + requirements on other protocols. + +7.6. Impact on Network Operations + + The mechanisms defined in this document do not have any impact on + network operations in addition to those already listed in [RFC5440], + [RFC8231], and [RFC8281]. + +8. IANA Considerations + +8.1. Association Types + + This document defines two new Association Types [RFC8697]. IANA has + assigned the following new values in the "ASSOCIATION Type Field" + subregistry [RFC8697] within the "Path Computation Element Protocol + (PCEP) Numbers" registry: + + +======+============================================+===========+ + | Type | Name | Reference | + +======+============================================+===========+ + | 4 | Single-Sided Bidirectional LSP Association | RFC 9059 | + +------+--------------------------------------------+-----------+ + | 5 | Double-Sided Bidirectional LSP Association | RFC 9059 | + +------+--------------------------------------------+-----------+ + + Table 1: Additions to ASSOCIATION Type Field Subregistry + +8.2. Bidirectional LSP Association Group TLV + + This document defines a new TLV for carrying additional information + about LSPs within a Bidirectional LSP Association. IANA has assigned + the following value in the "PCEP TLV Type Indicators" subregistry + within the "Path Computation Element Protocol (PCEP) Numbers" + registry: + + +=======+=========================================+===========+ + | Value | Meaning | Reference | + +=======+=========================================+===========+ + | 54 | Bidirectional LSP Association Group TLV | RFC 9059 | + +-------+-----------------------------------------+-----------+ + + Table 2: Addition to PCEP TLV Type Indicators Subregistry + +8.2.1. Flag Field in Bidirectional LSP Association Group TLV + + IANA has created a new subregistry, named "Bidirectional LSP + Association Group TLV Flag Field", within the "Path Computation + Element Protocol (PCEP) Numbers" registry to manage the Flag field in + the Bidirectional LSP Association Group TLV. New values are assigned + by Standards Action [RFC8126]. Each bit should be tracked with the + following qualities: + + * Bit number (count from 0 as the most significant bit) + + * Description + + * Reference + + The initial contents of this registry are as follows: + + +======+====================+===========+ + | Bit | Description | Reference | + +======+====================+===========+ + | 0-29 | Unassigned | | + +------+--------------------+-----------+ + | 30 | C - Co-routed Path | RFC 9059 | + +------+--------------------+-----------+ + | 31 | R - Reverse LSP | RFC 9059 | + +------+--------------------+-----------+ + + Table 3: New Bidirectional LSP + Association Group TLV Flag Field + Subregistry + +8.3. PCEP Errors + + This document defines new Error-values for Error-Type 26 (Association + Error). IANA has allocated the following new Error-values within the + "PCEP-ERROR Object Error Types and Values" subregistry of the "Path + Computation Element Protocol (PCEP) Numbers" registry: + + +============+=============+==========================+===========+ + | Error-Type | Meaning | Error-value | Reference | + +============+=============+==========================+===========+ + | 26 | Association | 14: Association group | RFC 9059 | + | | Error | mismatch | | + | | +--------------------------+-----------+ + | | | 15: Tunnel mismatch in | RFC 9059 | + | | | the association group | | + | | +--------------------------+-----------+ + | | | 16: Path Setup Type not | RFC 9059 | + | | | supported | | + | | +--------------------------+-----------+ + | | | 17: Bidirectional LSP | RFC 9059 | + | | | direction mismatch | | + | | +--------------------------+-----------+ + | | | 18: Bidirectional LSP | RFC 9059 | + | | | co-routed mismatch | | + | | +--------------------------+-----------+ + | | | 19: Endpoint mismatch in | RFC 9059 | + | | | the association group | | + +------------+-------------+--------------------------+-----------+ + + Table 4: Additions to PCEP-ERROR Object Error Types and Values + Subregistry + +9. References + +9.1. Normative References + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, + DOI 10.17487/RFC2119, March 1997, + . + + [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., + and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP + Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, + . + + [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation + Element (PCE) Communication Protocol (PCEP)", RFC 5440, + DOI 10.17487/RFC5440, March 2009, + . + + [RFC7551] Zhang, F., Ed., Jing, R., and R. Gandhi, Ed., "RSVP-TE + Extensions for Associated Bidirectional Label Switched + Paths (LSPs)", RFC 7551, DOI 10.17487/RFC7551, May 2015, + . + + [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, + . + + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, . + + [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, + . + + [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, + . + + [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, + . + + [RFC8537] Gandhi, R., Ed., Shah, H., and J. Whittaker, "Updates to + the Fast Reroute Procedures for Co-routed Associated + Bidirectional Label Switched Paths (LSPs)", RFC 8537, + DOI 10.17487/RFC8537, February 2019, + . + + [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, + . + +9.2. Informative References + + [BIDIR-PATH] + Li, C., Chen, M., Cheng, W., Gandhi, R., and Q. Xiong, + "Path Computation Element Communication Protocol (PCEP) + Extensions for Associated Bidirectional Segment Routing + (SR) Paths", Work in Progress, Internet-Draft, draft-ietf- + pce-sr-bidir-path-05, 26 January 2021, + . + + [PCE-PCEP-YANG] + Dhody, D., Ed., Hardwick, J., Beeram, V., and J. Tantsura, + "A YANG Data Model for Path Computation Element + Communications Protocol (PCEP)", Work in Progress, + Internet-Draft, draft-ietf-pce-pcep-yang-16, 22 February + 2021, + . + + [RFC5654] Niven-Jenkins, B., Ed., Brungard, D., Ed., Betts, M., Ed., + Sprecher, N., and S. Ueno, "Requirements of an MPLS + Transport Profile", RFC 5654, DOI 10.17487/RFC5654, + September 2009, . + + [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. + Hardwick, "Path Computation Element Communication Protocol + (PCEP) Management Information Base (MIB) Module", + RFC 7420, DOI 10.17487/RFC7420, December 2014, + . + + [RFC8051] Zhang, X., Ed. and I. Minei, Ed., "Applicability of a + Stateful Path Computation Element (PCE)", RFC 8051, + DOI 10.17487/RFC8051, January 2017, + . + + [RFC8408] Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J. + Hardwick, "Conveying Path Setup Type in PCE Communication + Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, + July 2018, . + + [STATEFUL-PCE-GMPLS] + Lee, Y., Ed., Zheng, H., Ed., de Dios, O., Lopez, V., and + Z. Ali, "Path Computation Element (PCE) Protocol + Extensions for Stateful PCE Usage in GMPLS-controlled + Networks", Work in Progress, Internet-Draft, draft-ietf- + pce-pcep-stateful-pce-gmpls-14, 28 December 2020, + . + +Acknowledgments + + The authors would like to thank Dhruv Dhody for various discussions + on association groups and inputs to this document. The authors would + also like to thank Mike Taillon, Harish Sitaraman, Al Morton, and + Marina Fizgeer for reviewing this document and providing valuable + comments. The authors would like to thank the following IESG members + for their review comments and suggestions: Barry Leiba, Éric Vyncke, + Benjamin Kaduk, Murray Kucherawy, Martin Duke, and Alvaro Retana. + +Authors' Addresses + + Rakesh Gandhi (editor) + Cisco Systems, Inc. + Canada + + Email: rgandhi@cisco.com + + + Colby Barth + Juniper Networks + + Email: cbarth@juniper.net + + + Bin Wen + Comcast + + Email: Bin_Wen@cable.comcast.com -- cgit v1.2.3