Internet Engineering Task Force (IETF) L. Martini, Ed. Request for Comments: 7267 Cisco Systems, Inc. Updates: 6073 M. Bocci, Ed. Category: Standards Track F. Balus, Ed. ISSN: 2070-1721 Alcatel-Lucent June 2014 Dynamic Placement of Multi-Segment Pseudowires Abstract RFC 5254 describes the service provider requirements for extending the reach of pseudowires (PWs) across multiple Packet Switched Network domains. A multi-segment PW is defined as a set of two or more contiguous PW segments that behave and function as a single point-to-point PW. This document describes extensions to the PW control protocol to dynamically place the segments of the multi- segment pseudowire among a set of Provider Edge (PE) routers. This document also updates RFC 6073 by updating the value of the Length field of the PW Switching Point PE Sub-TLV Type 0x06 to 14. 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 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7267. Martini, et al. Standards Track [Page 1] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 Copyright Notice Copyright (c) 2014 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 (http://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. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Martini, et al. Standards Track [Page 2] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 Table of Contents 1. Introduction ....................................................4 1.1. Scope ......................................................4 1.2. Specification of Requirements ..............................4 1.3. Terminology ................................................4 1.4. Architecture Overview ......................................5 2. Applicability ...................................................6 2.1. Changes to Existing PW Signaling ...........................6 3. PW Layer 2 Addressing ...........................................6 3.1. Attachment Circuit Addressing ..............................7 3.2. S-PE Addressing ............................................8 4. Dynamic Placement of MS-PWs .....................................8 4.1. Pseudowire Routing Procedures ..............................8 4.1.1. AII PW Routing Table Lookup Aggregation Rules .......9 4.1.2. PW Static Route .....................................9 4.1.3. Dynamic Advertisement with BGP .....................10 4.2. LDP Signaling .............................................11 4.2.1. Multiple Alternative Paths in PW Routing ...........13 4.2.2. Active/Passive T-PE Election Procedure .............14 4.2.3. Detailed Signaling Procedures ......................15 5. Procedures for Failure Handling ................................16 5.1. PSN Failures ..............................................16 5.2. S-PE Failures .............................................17 5.3. PW Reachability Changes ...................................17 6. Operations, Administration, and Maintenance (OAM) ..............18 7. Security Considerations ........................................18 8. IANA Considerations ............................................19 8.1. Correction ................................................19 8.2. LDP TLV Type Name Space ...................................19 8.3. LDP Status Codes ..........................................20 8.4. BGP SAFI ..................................................20 9. References .....................................................20 9.1. Normative References ......................................20 9.2. Informative References ....................................21 10. Contributors ..................................................22 11. Acknowledgements ..............................................23 Martini, et al. Standards Track [Page 3] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 1. Introduction 1.1. Scope [RFC5254] describes the service provider requirements for extending the reach of pseudowires across multiple Packet Switched Network (PSN) domains. This is achieved using a multi-segment pseudowire (MS-PW). An MS-PW is defined as a set of two or more contiguous pseudowire (PW) segments that behave and function as a single point- to-point PW. This architecture is described in [RFC5659]. The procedures for establishing PWs that extend across a single PSN domain are described in [RFC4447], while procedures for setting up PWs across multiple PSN domains or control plane domains are described in [RFC6073]. The purpose of this document is to specify extensions to the pseudowire control protocol [RFC4447], and [RFC6073] procedures, to enable multi-segment PWs to be dynamically placed. The procedures follow the guidelines defined in [RFC5036] and enable the reuse of existing TLVs, and procedures defined for Single-Segment Pseudowires (SS-PWs) in [RFC4447]. Dynamic placement of point-to-multipoint (P2MP) PWs is for further study and outside the scope of this document. 1.2. Specification of Requirements The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 1.3. Terminology [RFC5659] provides terminology for multi-segment pseudowires. This document defines the following additional terms: - Source Terminating Provider Edge (ST-PE): A Terminating Provider Edge (T-PE) that assumes the active signaling role and initiates the signaling for multi-segment PWs. - Target Terminating Provider Edge (TT-PE): A Terminating Provider Edge (T-PE) that assumes the passive signaling role. It waits and responds to the multi-segment PW signaling message in the reverse direction. - Forward Direction: ST-PE to TT-PE. Martini, et al. Standards Track [Page 4] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 - Reverse Direction: TT-PE to ST-PE. - Pseudowire Routing (PW routing): The dynamic placement of the segments that compose an MS-PW, as well as the automatic selection of Switching PEs (S-PEs). 1.4. Architecture Overview The following figure shows the reference model, derived from [RFC5659], to support PW emulated services using multi-segment PWs. Native |<---------Multi-Segment Pseudowire-------->| Native Service | PSN PSN | Service (AC) | |<--Tunnel-->| |<--Tunnel-->| | (AC) | V V 1 V V 2 V V | | +-----+ +-----+ +-----+ | +---+ | |T-PE1|============|S-PE1|============|T-PE2| | +---+ | |------|...... PW.Seg't 1....X....PW.Seg't 3.......|-------| | |CE1| | | | | | | | | |CE2| | |------|...... PW.Seg't 2....X....PW.Seg't 4.......|-------| | +---+ | | |============| |============| | | +---+ ^ +-----+ +-----+ +-----+ ^ | Provider Edge 1 ^ Provider Edge 2 | | | | | | | | PW switching point | | | |<-------------------- Emulated Service ------------------>| Figure 1: MS-PW Reference Model The PEs that provide services to CE1 and CE2 are Terminating PE1 (T-PE1) and Terminating PE2 (T-PE2), respectively. A PSN tunnel extends from T-PE1 to Switching PE1 (S-PE1), and a second PSN tunnel extends from S-PE1 to T-PE2 . PWs are used to connect the attachment circuits (ACs) attached to PE1 to the corresponding ACs attached to T-PE2. A PW segment on PSN Tunnel 1 is connected to a PW segment on PSN Tunnel 2 at S-PE1 to complete the multi-segment PW (MS-PW) between T-PE1 and T-PE2. S-PE1 is therefore the PW switching point and is referred to as the switching provider edge (S-PE). PW Segment 1 and PW Segment 3 are segments of the same MS-PW, while PW Segment 2 and PW Segment 4 are segments of another MS-PW. PW segments of the same MS-PW (e.g., PW Segment 1 and PW Segment 3) MUST be of the same PW type, and PSN tunnels can be of the same or a different technology. An S-PE switches an MS-PW from one segment to another based on the PW identifiers (PWid, or Attachment Individual Identifier (AII)). How Martini, et al. Standards Track [Page 5] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 the PW protocol data units (PDUs) are switched at the S-PE depends on the PSN tunnel technology: in the case of a Multiprotocol Label Switching (MPLS) PSN to another MPLS PSN, PW switching involves a standard MPLS label swap operation. Note that although Figure 1 only shows a single S-PE, a PW may transit more than one S-PE along its path. Although [RFC5659] describes MS-PWs that span more than one PSN, this document does not specify how the Label Distribution Protocol (LDP) is used for PW control [RFC4447] in an inter-AS (Autonomous System) environment. 2. Applicability This document describes the case where the PSNs carrying the MS-PW are only MPLS PSNs using the Generalized Pseudowire Identifier (PWid) Forwarding Equivalence Class (FEC) element (also known as FEC 129). Interactions with an IP PSN using the Layer 2 Tunneling Protocol version 3 (L2TPv3) as described in Section 8 of [RFC6073] are left for further study. 2.1. Changes to Existing PW Signaling The procedures described in this document make use of existing LDP TLVs and related PW signaling procedures described in [RFC4447] and [RFC6073]. The following optional TLV is also defined: - A Bandwidth TLV to address QoS Signaling requirements (see Section 4.2). This document also updates the value of the Length field of the PW Switching Point PE Sub-TLV Type 0x06 to 14. 3. PW Layer 2 Addressing Single-segment pseudowires on an MPLS PSN can use attachment circuit identifiers for a PW using FEC 129. In the case of a dynamically placed MS-PW, there is a requirement for the attachment circuit identifiers to be globally unique, for the purposes of reachability and manageability of the PW. Referencing Figure 1 above, individual globally unique addresses MUST be allocated to all the ACs and S-PEs of an MS-PW. Martini, et al. Standards Track [Page 6] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 3.1. Attachment Circuit Addressing The attachment circuit addressing is derived from AII Type 2 [RFC5003], as shown here: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AII Type=02 | Length | Global ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Global ID (continued) | Prefix | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Prefix (continued) | AC ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AC ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: AII Type 2 TLV Structure The fields are defined in Section 3.2 of [RFC5003]. Addressing schemes based on AII Type 2 permit varying levels of AII summarization, thus reducing the scaling burden on PW routing. PW addressing based on AII Type 2 is suitable for point-to-point provisioning models where auto-discovery of the address at the TT-PE is not required. That is, it is known a priori by provisioning. Implementations of the following procedure MUST interpret the AII type to determine the meaning of the address format of the AII, irrespective of the number of segments in the MS-PW. All segments of the PW MUST be signaled with the same AII type. A unique combination of Global ID, Prefix, and AC ID parts of the AII Type 2 are assigned to each AC. In general, the same Global ID and Prefix are be assigned for all ACs belonging to the same T-PE. This is not a strict requirement, however. A particular T-PE might have more than one Prefix assigned to it, and likewise a fully qualified AII with the same Global ID/Prefix but different AC IDs might belong to different T-PEs. For the purpose of MS-PWs, the AII MUST be globally unique across all PSNs that are spanned by the MS-PW. The AII for a local attachment circuit of a given T-PE of an MS-PW and the AII of the corresponding attachment circuit on a far-end T-PE (with respect to the LDP signaling) are known as the Source Attachment Individual Identifier (SAII) and Target Attachment Individual Identifier (TAII) as per [RFC6074]. Martini, et al. Standards Track [Page 7] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 3.2. S-PE Addressing Each S-PE MUST be assigned an address that uniquely identifies it from a pseudowire perspective, in order to populate the PW Switching Point PE (SP-PE) TLV specified in [RFC6073]. For this purpose, at least one Attachment Identifier (AI) address of the format similar to AII Type 2 [RFC5003] composed of the Global ID, and Prefix part, only, MUST be assigned to each S-PE. If an S-PE is capable of dynamic MS-PW signaling but is not assigned with an S-PE address, then on receiving a dynamic MS-PW Label Mapping message the S-PE MUST return a Label Release with the "Resources Unavailable" (0x38) status code. 4. Dynamic Placement of MS-PWs [RFC6073] describes a procedure for concatenating multiple pseudowires together. This procedure requires each S-PE to be manually configured with the information required for each segment of the MS-PW. The procedures in the following sections describe a method to extend [RFC6073] by allowing the automatic selection of predefined S-PEs and dynamically establishing an MS-PW between two T-PEs. 4.1. Pseudowire Routing Procedures The AII Type 2 described above contains a Global ID, Prefix, and AC ID. The TAII is used by S-PEs to determine the next SS-PW destination for LDP signaling. Once an S-PE receives an MS-PW Label Mapping message containing a TAII with an AII that is not locally present, the S-PE performs a lookup in a PW AII routing table. If this lookup results in an IP address for the next-hop PE with reachability information for the AII in question, then the S-PE will initiate the necessary LDP messaging procedure to set up the next PW segment. If the PW AII routing table lookup does not result in an IP address for a next-hop PE, the destination AII has become unreachable, and the PW setup MUST fail. In this case, the next PW segment is considered unprovisioned, and a Label Release MUST be returned to the T-PE with a status message of "AII Unreachable". If the TAII of an MS-PW Label Mapping message received by a PE contains the Prefix matching the locally provisioned prefix on that PE but an AC ID that is not provisioned, then the LDP liberal label retention procedures apply, and the Label Mapping message is retained. Martini, et al. Standards Track [Page 8] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 To allow for dynamic end-to-end signaling of MS-PWs, information MUST be present in S-PEs to support the determination of the next PW signaling hop. Such information can be provisioned (equivalent to a static route) on each S-PE, or disseminated via regular routing protocols (e.g., BGP). 4.1.1. AII PW Routing Table Lookup Aggregation Rules All PEs capable of dynamic MS-PW path selection MUST build a PW AII routing table to be used for PW next-hop selection. The PW addressing scheme (AII Type 2 as defined in [RFC5003]) consists of a Global ID, a 32-bit Prefix, and a 32-bit Attachment Circuit ID. An aggregation scheme similar to that used for classless IPv4 addresses can be employed. A length mask (8 bits) is specified as a number ranging from 0 to 96 that indicates which Most Significant Bits (MSBs) are relevant in the address field when performing the PW address-matching algorithm. 0 31 32 63 64 95 (bits) +-----------+--------+--------+ | Global ID | Prefix | AC ID | +-----------+--------+--------+ Figure 3: PW Addressing Scheme During the signaling phase, the content of the (fully qualified) TAII Type 2 field from the FEC 129 TLV is compared against routes from the PW routing table. Similar to the IPv4 case, the route with the longest match is selected, determining the next signaling hop and implicitly the next PW segment to be signaled. 4.1.2. PW Static Route For the purpose of determining the next signaling hop for a segment of the pseudowire, the PEs MAY be provisioned with fixed-route entries in the PW next-hop routing table. The static PW entries will follow all the addressing rules and aggregation rules described in the previous sections. The most common use of PW static provisioned routes is this example of the "default" route entry as follows: Global ID = 0 Prefix = 0 AC ID = 0, Prefix Length = 0 Next Signaling Hop = {IP Address of next-hop S-PE or T-PE} Martini, et al. Standards Track [Page 9] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 4.1.3. Dynamic Advertisement with BGP Any suitable routing protocol capable of carrying external routing information MAY be used to propagate MS-PW path information among S-PEs and T-PEs. However, T-PEs and S-PEs MAY choose to use the Border Gateway Protocol (BGP) [RFC4271] with the Multiprotocol Extensions as defined in [RFC4760] to propagate PW address information throughout the PSN. PW address information is only propagated by PEs that are capable of PW switching. Therefore, the multiprotocol BGP neighbor topology MUST coincide with the topology of T-PEs and S-PEs. Contrary to Layer 2 VPN signaling methods that use BGP for auto-discovery [RFC6074], in the case of the dynamically placed MS-PW, the source T-PE knows a priori (by provisioning) the AC ID on the terminating T-PE that signaling should use. Hence, there is no need to advertise a "fully qualified" 96-bit address on a per-PW attachment circuit basis. Only the T-PE Global ID, Prefix, and prefix length need to be advertised as part of well-known BGP procedures; see [RFC4760]. Since PW Endpoints are provisioned in the T-PEs, the ST-PE will use this information to obtain the first S-PE hop (i.e., first BGP next hop) to where the first PW segment will be established. Any subsequent S-PEs will use the same information (i.e., the next BGP next hop(s)) to obtain the next signaling hop(s) on the path to the TT-PE. The PW dynamic path Network Layer Reachability Information (NLRI) is advertised in BGP UPDATE messages using the MP_REACH_NLRI and MP_UNREACH_NLRI attributes [RFC4760]. The {AFI, SAFI} value pair used to identify this NLRI is (AFI=25, SAFI=6). A route target MAY also be advertised along with the NLRI. The Next Hop field of the MP_REACH_NLRI attribute SHALL be interpreted as an IPv4 address whenever the length of the NextHop address is 4 octets, and as an IPv6 address whenever the length of the NextHop address is 16 octets. The NLRI field in the MP_REACH_NLRI and MP_UNREACH_NLRI is a prefix comprising an 8-octet Route Distinguisher, the Global ID, the Prefix, and the AC ID, and encoded as defined in Section 4 of [RFC4760]. Martini, et al. Standards Track [Page 10] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 This NLRI is structured as follows: Bit 0 7 8 71 72 103 104 135 136 167 +------+----------------+-----------+--------+--------+ |Length| Route Dist | Global ID | Prefix | AC ID | +------+----------------+-----------+--------+--------+ Figure 4: NLRI Field Structure The Length field is the prefix length of the Route Distinguisher + Global ID + Prefix + AC ID in bits. Except for the default PW route, which is encoded as a 0-length Prefix, the minimum value of the Length field is 96 bits. Lengths of 128 bits to 159 bits are invalid, as the AC ID field cannot be aggregated. The maximum value of the Length field is 160 bits. BGP advertisements received with invalid Prefix lengths MUST be rejected as having a bad packet format. 4.2. LDP Signaling The LDP signaling procedures are described in [RFC4447] and expanded in [RFC6073]. No new LDP signaling components are required for setting up a dynamically placed MS-PW. However, some optional signaling extensions are described below. One of the requirements that MUST be met in order to achieve the QoS objectives for a PW on a segment is that a PSN tunnel MUST be selected that can support at least the required class of service and that has sufficient bandwidth available. Such PSN tunnel selection can be achieved where the next hop for a PW segment is explicitly configured at each PE, whether the PE is a T-PE or an S-PE in the case of a segmented PW, without dynamic path selection (as per [RFC6073]). In these cases, it is possible to explicitly configure the bandwidth required for a PW so that the T-PE or S-PE can reserve that bandwidth on the PSN tunnel. Martini, et al. Standards Track [Page 11] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 Where dynamic path selection is used and the next hop is therefore not explicitly configured by the operator at the S-PE, a mechanism to signal the bandwidth for the PW from the T-PE to the S-PEs is required. This is accomplished by including an optional PW Bandwidth TLV. The PW Bandwidth TLV is specified as follows: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|0| PW BW TLV (0x096E) | TLV Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Forward SENDER_TSPEC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reverse SENDER_TSPEC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: PW Bandwidth TLV Structure The PW Bandwidth TLV fields are as follows: - TLV Length: The length of the value fields in octets. Value = 64. - Forward SENDER_TSPEC = the SENDER_TSPEC for the forward direction of the PW, as defined in Section 3.1 of [RFC2210]. - Reverse SENDER_TSPEC = the SENDER_TSPEC for the reverse direction of the PW, as defined in Section 3.1 of [RFC2210]. The complete definitions of the content of the SENDER_TSPEC objects are found in Section 3.1 of [RFC2210]. The forward SENDER_TSPEC refers to the data path in the direction ST-PE to TT-PE. The reverse SENDER_TSPEC refers to the data path in the direction TT-PE to ST-PE. In the forward direction, after a next-hop selection is determined, a T/S-PE SHOULD reference the forward SENDER_TSPEC object to determine an appropriate PSN tunnel towards the next signaling hop. If such a tunnel exists, the MS-PW signaling procedures are invoked with the inclusion of the PW Bandwidth TLV. When the PE searches for a PSN tunnel, any tunnel that points to a next hop equivalent to the next hop selected will be included in the search (the LDP address TLV is used to determine the next-hop equivalence). When an S/T-PE receives a PW Bandwidth TLV, once the PW next hop is selected, the S/T-PE MUST request the appropriate resources from the PSN. The resources described in the reverse SENDER_TSPEC are allocated from the PSN toward the originator of the message or Martini, et al. Standards Track [Page 12] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 previous hop. When resources are allocated from the PSN for a specific PW, the allocation SHOULD account for the resource usage of the PW. In the case where PSN resources towards the previous hop are not available, the following procedure MUST be followed: i. The PSN MAY allocate more QoS resources, e.g., bandwidth, to the PSN tunnel. ii. The S-PE MAY attempt to set up another PSN tunnel to accommodate the new PW QoS requirements. iii. If the S-PE cannot get enough resources to set up the segment in the MS-PW, a Label Release MUST be returned to the previous hop with a status message of "Bandwidth resources unavailable". In the latter case, the T-PE receiving the status message MUST also withdraw the corresponding PW Label Mapping message for the opposite direction if it has already been successfully set up. If an ST-PE receives a Label Mapping message, the following procedure MUST be followed: If the ST-PE has already sent a Label Mapping message for this PW, then the ST-PE MUST check to see if this Label Mapping message originated from the same LDP peer to which the corresponding Label Mapping message for this particular PW was sent. If it is the same peer, the PW is established. If it is a different peer, then the ST-PE MUST send a Label Release message with a status code of "PW Loop Detected" to the PE that originated the LDP Label Mapping message. If the PE has not yet sent a Label Mapping message for this particular PW, then it MUST send the Label Mapping message to this LDP peer, regardless of what the PW TAII routing lookup result is. 4.2.1. Multiple Alternative Paths in PW Routing A next-hop selection for a specific PW may find a match with a PW route that has multiple next hops associated with it. Multiple next hops may be either configured explicitly as static routes or learned through BGP routing procedures. Implementations at an S-PE or T-PE MAY use selection algorithms, such as CRC32 on the FEC TLV or flow- aware transport of PWs [RFC6391], for load balancing of PWs across multiple next hops, so that each PW has a single next hop. The details of such selection algorithms are outside the scope of this document. Martini, et al. Standards Track [Page 13] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 4.2.2. Active/Passive T-PE Election Procedure When an MS-PW is signaled, each T-PE might independently initiate signaling the MS-PW. This could result in a different path being used by each direction of the PW. To avoid this situation, one T-PE MUST initiate PW signaling (i.e., take an active role), while the other T-PE waits to receive the LDP Label Mapping message before sending the LDP Label Mapping message for the reverse direction of the PW (i.e., take a passive role). The active T-PE (the ST-PE) and the passive T-PE (the TT-PE) MUST be identified before signaling begins for a given MS-PW. Both T-PEs MUST use the same method for identifying which is active and which is passive. A T-PE SHOULD determine whether it assumes the active role or the passive role using procedures similar to those of [RFC5036], Section 2.5.2, Bullet 2. The T-PE compares the Source Attachment Individual Identifier (SAII) [RFC6074] with the Target Attachment Individual Identifier (TAII) [RFC6074] as unsigned integers, and if the SAII > TAII, the T-PE assumes the active role. Otherwise, it assumes the passive role. The following procedure for comparing the SAII and TAII as unsigned integers SHOULD be used: - If the SAII Global ID > TAII Global ID, then the T-PE is active - else if the SAII Global ID < TAII Global ID, then the T-PE is passive - else if the SAII Prefix > TAII Prefix, then the T-PE is active - else if the SAII Prefix < TAII Prefix, then the T-PE is passive - else if the SAII AC ID > TAII AC ID, then the T-PE is active - else if the SAII AC ID < TAII AC ID, then the T-PE is passive - else there is a configuration error Martini, et al. Standards Track [Page 14] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 4.2.3. Detailed Signaling Procedures On receiving a Label Mapping message, the S-PE MUST inspect the FEC TLV. If the receiving node has no local AII matching the TAII for that Label Mapping message, then the Label Mapping message SHOULD be forwarded on to another S-PE or T-PE. The S-PE will check to see if the FEC is already installed for the forward direction: - If the FEC is already installed and the received Label Mapping was received from the same LDP peer to which the forward LDP Label Mapping was sent, then this Label Mapping represents signaling in the reverse direction for this MS-PW segment. - If the FEC is already installed and the received Label Mapping was received from a different LDP peer to which the forward LDP Label Mapping was sent, then the received Label Mapping MUST be released with a status code of "PW Loop Detected". - If the FEC is not already installed, then this represents signaling in the forward direction. The following procedures are then executed, depending on whether the Label Mapping was determined to be for the forward or the reverse direction of the MS-PW. For the forward direction: i. Determine the next-hop S-PE or T-PE according to the procedures above. If next-hop reachability is not found in the S-PE's PW AII routing table, then a Label Release MUST be sent with status code "AII Unreachable". If the next-hop S-PE or T-PE is found and is the same LDP peer that sent the Label Mapping message, then a Label Release MUST be returned with status code "PW Loop Detected". If the SAII in the received Label Mapping is local to the S-PE, then a Label Release MUST be returned with status code "PW Loop Detected". ii. Check to see if a PSN tunnel exists to the next-hop S-PE or T-PE. If no tunnel exists to the next-hop S-PE or T-PE, the S-PE MAY attempt to set up a PSN tunnel. iii. Check to see if a PSN tunnel exists to the previous hop. If no tunnel exists to the previous-hop S-PE or T-PE, the S-PE MAY attempt to set up a PSN tunnel. Martini, et al. Standards Track [Page 15] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 iv. If the S-PE cannot get enough PSN resources to set up the segment to the next-hop or previous-hop S-PE or T-PE, a Label Release MUST be returned to the T-PE with a status message of "Resources Unavailable". v. If the Label Mapping message contains a Bandwidth TLV, allocate the required resources on the PSN tunnels in the forward and reverse directions according to the procedures above. vi. Allocate a new PW label for the forward direction. vii. Install the FEC for the forward direction. viii. Send the Label Mapping message with the new forward label and the FEC to the next-hop S-PE/T-PE. For the reverse direction: i. Install the FEC received in the Label Mapping message for the reverse direction. ii. Determine the next signaling hop by referencing the LDP sessions used to set up the PW in the forward direction. iii. Allocate a new PW label for the next hop in the reverse direction. iv. Install the FEC for the next hop in the reverse direction. v. Send the Label Mapping message with a new label and the FEC to the next-hop S-PE/ST-PE. 5. Procedures for Failure Handling 5.1. PSN Failures Failures of the PSN tunnel MUST be handled by PSN mechanisms. An example of such a PSN mechanism is MPLS fast reroute [RFC4090]. If the PSN is unable to re-establish the PSN tunnel, then the S-PE SHOULD follow the procedures defined in Section 10 of [RFC6073]. Martini, et al. Standards Track [Page 16] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 5.2. S-PE Failures For defects in an S-PE, the procedures defined in [RFC6073] SHOULD be followed. A T-PE or S-PE may receive an unsolicited Label Release message from another S-PE or T-PE with various failure codes, such as "Loop Detected", "PW Loop Detected", "Resources Unavailable", "Bad Strict Node Error", or "AII Unreachable". All these failure codes indicate a generic class of PW failures at an S-PE or T-PE. If an unsolicited Label Release message with such a failure status code is received at a T-PE, then it is RECOMMENDED that the T-PE attempt to re-establish the PW immediately. However, the T-PE MUST throttle its PW setup message retry attempts with an exponential backoff in situations where PW setup messages are being constantly released. It is also RECOMMENDED that a T-PE detecting such a situation take action to notify an operator. S-PEs that receive an unsolicited Label Release message with a failure status code SHOULD follow this procedure: i. If the Label Release is received from an S-PE or T-PE in the forward or reverse signaling direction, then the S-PE MUST tear down both segments of the PW. The status code received in the Label Release message SHOULD be propagated when sending the Label Release for the next segment. 5.3. PW Reachability Changes In general, an established MS-PW will not be affected by next-hop changes in AII reachability information. If there is a next-hop change in AII reachability information in the forward direction, the T-PE MAY elect to tear down the MS-PW by sending a Label Withdraw message to the downstream S-PE or T-PE. The teardown MUST also be accompanied by an unsolicited Label Release message and will be followed by an attempt by the T-PE to re-establish the MS-PW. If there is a change in the AII reachability information in the forward direction at an S-PE, the S-PE MAY elect to tear down the MS-PW in both directions. A label withdrawal is sent in each direction followed by an unsolicited Label Release. The unsolicited Label Release messages MUST be accompanied by the status code "AII Unreachable". This procedure is OPTIONAL. Note that this procedure is likely to be disruptive to the emulated service. PW Redundancy [RFC6718] MAY be used to maintain the connectivity used by the emulated service in the case of a failure of the PSN or S-PE. Martini, et al. Standards Track [Page 17] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 A change in AII reachability information in the reverse direction has no effect on an MS-PW. 6. Operations, Administration, and Maintenance (OAM) The OAM procedures defined in [RFC6073] may also be used for dynamically placed MS-PWs. A PW Switching Point PE TLV [RFC6073] is used to record the switching points that the PW traverses. In the case of an MS-PW where the PW Endpoints are identified by using globally unique AII addresses based on FEC 129, there is no pseudowire identifier (PWid) defined on a per-segment basis. Each individual PW segment is identified by the address of the adjacent S-PE(s) in conjunction with the SAII and TAII. In this case, the following TLV type (0x06) MUST be used in place of type 0x01 in the PW Switching Point PE TLV: Type Length Description ---- ------ ----------------------------------- 0x06 14 L2 PW address of PW Switching Point The above sub-TLV MUST be included in the PW Switching Point PE TLV once per individual PW switching point, following the same rules and procedures as those described in [RFC6073]. A more detailed description of this sub-TLV is also given in Section 7.4.1 of [RFC6073]. However, the length value MUST be set to 14 ([RFC6073] states that the length value is 12, but this does not correctly represent the actual length of the TLV). 7. Security Considerations This document specifies extensions to the protocols already defined in [RFC4447] and [RFC6073]. The extensions defined in this document do not affect the security considerations for those protocols, but [RFC4447] and [RFC6073] do impose a set of security considerations that are applicable to the protocol extensions specified in this document. It should be noted that the dynamic path selection mechanisms specified in this document enable the network to automatically select the S-PEs that are used to forward packets on the MS-PW. Appropriate tools, such as the Virtual Circuit Connectivity Verification (VCCV) trace mechanisms specified in [RFC6073], can be used by an operator of the network to verify the path taken by the MS-PW and therefore be satisfied that the path does not represent an additional security risk. Martini, et al. Standards Track [Page 18] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 Note that the PW control protocol may be used to establish and maintain an MS-PW across administrative boundaries. Section 13 of [RFC6073] specifies security considerations applicable to LDP used in this manner, including considerations for establishing the integrity of, and authenticating, LDP control messages. These considerations also apply to the protocol extensions specified in this document. Note that the protocols for dynamically distributing AII reachability information may have their own security considerations. However, those protocol specifications are outside the scope of this document. 8. IANA Considerations 8.1. Correction IANA has corrected a minor error in the "Pseudowire Switching Point PE sub-TLV Type" registry. The entry 0x06 "L2 PW address of the PW Switching Point" has been corrected to Length 14 and the reference changed to [RFC6073] and this document as follows: Type Length Description Reference ---- ------ ----------------------------------- ------------------ 0x06 14 L2 PW Address of PW Switching Point [RFC6073][RFC7267] 8.2. LDP TLV Type Name Space This document defines one new LDP TLV type. IANA already maintains a registry for LDP TLV types, called the "TLV Type Name Space" registry, within the "Label Distribution Protocol (LDP) Parameters" registry as defined by [RFC5036]. IANA has assigned the following value. Value Description Reference Notes/Registration Date ------ ------------- ------------- ----------------------- 0x096E Bandwidth TLV This document Martini, et al. Standards Track [Page 19] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 8.3. LDP Status Codes This document defines three new LDP status codes. IANA maintains a registry of these codes, called the "Status Code Name Space" registry, in the "Label Distribution Protocol (LDP) Parameters" registry as defined by [RFC5036]. The IANA has assigned the following values. Range/Value E Description Reference ----------- ----- ------------------------------- ------------- 0x00000037 0 Bandwidth resources unavailable This document 0x00000038 0 Resources Unavailable This document 0x00000039 0 AII Unreachable This document 8.4. BGP SAFI IANA has allocated a new BGP SAFI for "Network Layer Reachability Information used for Dynamic Placement of Multi-Segment Pseudowires" in the IANA "SAFI Values" registry [RFC4760] within the "Subsequent Address Family Identifiers (SAFI) Parameters" registry. The IANA has assigned the following value. Value Description Reference ----- ------------------------------------------- ------------- 6 Network Layer Reachability Information This document used for Dynamic Placement of Multi-Segment Pseudowires 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated Services", RFC 2210, September 1997. [RFC4447] Martini, L., Ed., Rosen, E., El-Aawar, N., Smith, T., and G. Heron, "Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)", RFC 4447, April 2006. [RFC5003] Metz, C., Martini, L., Balus, F., and J. Sugimoto, "Attachment Individual Identifier (AII) Types for Aggregation", RFC 5003, September 2007. Martini, et al. Standards Track [Page 20] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., "LDP Specification", RFC 5036, October 2007. [RFC6073] Martini, L., Metz, C., Nadeau, T., Bocci, M., and M. Aissaoui, "Segmented Pseudowire", RFC 6073, January 2011. 9.2. Informative References [RFC4090] Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, May 2005. [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006. [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, January 2007. [RFC5254] Bitar, N., Ed., Bocci, M., Ed., and L. Martini, Ed., "Requirements for Multi-Segment Pseudowire Emulation Edge- to-Edge (PWE3)", RFC 5254, October 2008. [RFC5659] Bocci, M. and S. Bryant, "An Architecture for Multi- Segment Pseudowire Emulation Edge-to-Edge", RFC 5659, October 2009. [RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo, "Provisioning, Auto-Discovery, and Signaling in Layer 2 Virtual Private Networks (L2VPNs)", RFC 6074, January 2011. [RFC6391] Bryant, S., Ed., Filsfils, C., Drafz, U., Kompella, V., Regan, J., and S. Amante, "Flow-Aware Transport of Pseudowires over an MPLS Packet Switched Network", RFC 6391, November 2011. [RFC6718] Muley, P., Aissaoui, M., and M. Bocci, "Pseudowire Redundancy", RFC 6718, August 2012. Martini, et al. Standards Track [Page 21] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 10. Contributors The editors gratefully acknowledge the following people for their contributions to this document: Nabil Bitar Verizon 40 Sylvan Road Waltham, MA 02145 US EMail: nabil.bitar@verizon.com Himanshu Shah Ciena Corp. 35 Nagog Park Acton, MA 01720 US EMail: hshah@ciena.com Mustapha Aissaoui Alcatel-Lucent 600 March Road Kanata ON, Canada EMail: mustapha.aissaoui@alcatel-lucent.com Jason Rusmisel Alcatel-Lucent 600 March Road Kanata ON, Canada EMail: Jason.rusmisel@alcatel-lucent.com Andrew G. Malis Huawei 2330 Central Expressway Santa Clara, CA 95050 US EMail: agmalis@gmail.com Martini, et al. Standards Track [Page 22] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 Chris Metz Cisco Systems, Inc. 3700 Cisco Way San Jose, CA 95134 US EMail: chmetz@cisco.com David McDysan Verizon 22001 Loudoun County Pkwy. Ashburn, VA 20147 US EMail: dave.mcdysan@verizon.com Jeff Sugimoto Alcatel-Lucent 701 E. Middlefield Rd. Mountain View, CA 94043 US EMail: jeffery.sugimoto@alcatel-lucent.com Mike Loomis Alcatel-Lucent 701 E. Middlefield Rd. Mountain View, CA 94043 US EMail: mike.loomis@alcatel-lucent.com 11. Acknowledgements The editors also gratefully acknowledge the input of the following people: Paul Doolan, Mike Duckett, Pranjal Dutta, Ping Pan, Prayson Pate, Vasile Radoaca, Yeongil Seo, Yetik Serbest, and Yuichiro Wada. Martini, et al. Standards Track [Page 23] RFC 7267 Dynamic Placement of Multi-Segment PWs June 2014 Authors' Addresses Luca Martini (editor) Cisco Systems, Inc. 9155 East Nichols Avenue, Suite 400 Englewood, CO 80112 US EMail: lmartini@cisco.com Matthew Bocci (editor) Alcatel-Lucent Voyager Place Shoppenhangers Road Maidenhead Berks, UK EMail: matthew.bocci@alcatel-lucent.com Florin Balus (editor) Alcatel-Lucent 701 E. Middlefield Rd. Mountain View, CA 94043 US EMail: florin@nuagenetworks.net Martini, et al. Standards Track [Page 24]