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]