Network Working Group                                       Luca Martini
Internet Draft                                          W. Mark Townsley
Expiration Date: April 2005                                   Chris Metz
                                                        Thomas D. Nadeau
Mike Duckett                                          Cisco Systems Inc.
Bellsouth

Vasile Radoaca
Nortel Networks

                                                            October 2004


                         Pseudo Wire Switching


                 draft-martini-pwe3-pw-switching-01.txt

Status of this Memo

   By submitting this Internet-Draft, we certify that any applicable
   patent or other IPR claims of which we are aware have been disclosed,
   or will be disclosed, and any of which we become aware will be
   disclosed, in accordance with RFC 3668.


   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

Abstract

   This document describes how to switch pseudo wires (PW) between two
   distinct PW control planes or PSN domains. The PW control planes may
   belong to independent autonomous systems, or the PSN technology is
   heterogeneous, or a PW might need to be aggregated at a specific PSN
   point.



Martini, et al.                                                 [Page 1]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004




Table of Contents

    1      Specification of Requirements  ..........................   3
    2      Intellectual Property Statement  ........................   3
    3      Terminology  ............................................   3
    4      Problem to be Solved  ...................................   4
    5      General Description  ....................................   5
    6      PW-MPLS to PW-MPLS  .....................................   7
    6.1    MPLS PW Control Plane Switching  ........................   8
    6.1.1  Static Control plane switching  .........................   8
    6.1.2  Two LDP control planes using the same FEC type  .........   8
    6.1.3  LDP using FEC 128 to LDP using the generalized FEC 129  .   9
    6.1.4  PW switching point TLV  .................................   9
    6.1.5  Adaptation of Interface Parameters  .....................  10
    6.1.6  Group ID  ...............................................  11
    6.1.7  PW Loop Detection  ......................................  11
    7      PW-MPLS to PW-L2TPv3  ...................................  11
    7.1    Static MPLS and L2TPv3 PWs  .............................  11
    7.2    Static MPLS PW and Dynamic L2TPv3 PW  ...................  12
    7.3    Static L2TPv3 PW and Dynamic LDP/MPLS PW  ...............  12
    7.4    Dynamic LDP/MPLS and L2TPv3 PWs  ........................  12
    7.4.1  Session Establishment  ..................................  12
    7.4.2  Adaptation of PW Status message  ........................  13
    7.4.3  Session Teardown  .......................................  13
    7.5    Adaptation of LDP/L2TPv3 AVPs and Interface Parameters  .  14
    7.6    Switching Point TLV in L2TPv3  ..........................  15
    7.7    L2TPv3 and MPLS PW Data Plane  ..........................  15
    7.7.1  PWE3 Payload Convergence and Sequencing  ................  15
    7.7.2  Mapping  ................................................  16
    8      Operation And Management  ...............................  17
    8.1    Pseudo Wire Status  .....................................  17
    8.2    Pseudowire Status Negotiation Procedures  ...............  19
    8.3    Status Dampening  .......................................  19
    9      Security Considerations  ................................  19
    9.1    Data Plane Security  ....................................  19
    9.2    Control Protocol Security  ..............................  20
   10      IANA  ...................................................  21
   11      Acknowledgments  ........................................  21
   12      Full Copyright Statement  ...............................  21
   13      Normative References  ...................................  21
   14      Informative References  .................................  22
   15      Author Information  .....................................  22







Martini, et al.                                                 [Page 2]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


1. 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


2. Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.


3. Terminology

     - Ultimate PE (U-PE). A PE where the customer-facing ACs are bound
       to a PW forwarder. An ultimate PE is present in the first and
       last segments of a MH-PW.

     - Single-Hop PW (SH-PW). A PW set up between two PE devices using
       standard PWE3 signaling and encapsulation methods.

     - Multi-hop PW (MH-PW). Static or dynamically configured set of two
       or more contiguous PW segments (SH-PW) that behave and function
       as a single point-to-point PW. Each PW segment is setup and
       managed using standard PWE3 encapsulation and signaling methods.






Martini, et al.                                                 [Page 3]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


     - PW Switching Point. (S-PE)A PE capable of switching the control
       and data planes of the preceding and succeeding PW segments (SH-
       PW) in a MH-PW. A PW Switching Point is never the ultimate PE in
       a MH-PW. A PW switching point runs standard PWE3 protocols to
       setup and manage PW segments with other PW switching points and
       ultimate PEs.


4. Problem to be Solved

   PWE3 defines the signaling and encapsulation techniques for
   establishing SH-PWs between a pair of ultimate PEs and in the vast
   majority of cases this will be sufficient. MH-PWs come into play in
   two general cases:

        -i. When it is not possible, desirable or feasible to establish
            a PW control channel between the ultimate source and
            destination PEs. At a minimum PW control channel
            establishment requires knowledge of and reachability to the
            remote (ultimate) PE IP address. The local (ultimate) PE may
            not have access to this information related to topology,
            operational or security constraints.

            An example is the inter-AS L2VPN scenario where the ultimate
            PEs reside in different provider networks (ASes) and it is
            the practice to MD5-key all control traffic exchanged
            between two networks. Technically a SH-PW could be used but
            this would require MD5-keying on ALL ultimate source and
            destination PE nodes. An MH-PW allows the providers to
            confine MD5 key administration to just the PW switching
            points connecting the two domains.

            A second example might involve a single AS where the PW
            setup path between the ultimate PEs is computed by an
            external entity (i.e. client-layer routing protocol). Assume
            a full mesh of PWE3 control channels established between
            PE-A, PE-B and PE-C. A client-layer L2 connection tunneled
            through a PW is required between ultimate PE-A and PE-C. The
            external entity computes a PW setup path that passes through
            PE-B. This results in two discrete PW segments being built:
            one between PE-A and PE-B and one between PE-B and PE-C. The
            successful client-layer L2 connection between ultimate PE-A
            and ultimate PE-C requires that PE-B performs the PWE3
            switching process.

            A third example involves the use of PWs in hierarchical
            IP/MPLS networks.  Access networks connected to a backbone
            use PWs to transport customer payloads between customer



Martini, et al.                                                 [Page 4]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


            sites serviced by the same access network and up to the edge
            of the backbone where they can be terminated or switched
            onto a succeeding PW segment crossing the backbone. The use
            of PWE3 switching between the access and backbone networks
            can potentially reduce the PWE3 control channels and routing
            information processed by the access network U-PEs.

            It should be noted that PWE3 switching does not help in any
            way to reduce the amount of PW state supported by each
            access network U-PE.

       -ii. PWE3 signaling and encapsulation protocols are different.
            The ultimate PEs are connected to networks employing
            different PW signaling and encapsulation protocols. In this
            case it is not possible to use a SH-PW. A MH-PW with the
            appropriate interworking performed at the PW switching
            points can enable PW connectivity between the ultimate PEs
            in this scenario.


   There are four different signaling protocols that are defined to
   signal PWs:
        -i. Static configuration of the PW (MPLS or L2TPv3).
       -ii. LDP using FEC 128
      -iii. LDP using the generalized FEC 129
       -iv. L2TPv3


5. General Description

   A pseudo-wire (PW) is a tunnel established between two provider edge
   (PE) nodes to transport L2 PDUs across a packet switched network
   (PSN) as described in Figure 1 and in [PWE3-ARCH]. Many providers are
   looking at PWs as a means of migrating existing (or building new)
   L2VPN services (i.e.  Frame-Relay, ATM, Ethernet) on top of a PSN by
   using PWs. PWs may span multiple autonomous systems of the same or
   different provider networks. In these scenarios PW control channels
   (i.e. targeted LDP, L2TPv3) and PWs will cross AS boundaries.

   Inter-AS L2VPN functionality is currently supported and several
   techniques employing MPLS encapsulation and LDP signaling have been
   documented [2547BIS]. It is also straightforward to support the same
   inter-AS L2VPN functionality employing L2TPv3. In this document we
   define methodology to switch a PW between two PW control planes.







Martini, et al.                                                 [Page 5]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


         |<-------------- Emulated Service ---------------->|
         |                                                  |
         |          |<------- Pseudo Wire ------>|          |
         |          |                            |          |
         |          |    |<-- PSN Tunnel -->|    |          |
         |          V    V                  V    V          |
         V    AC    +----+                  +----+     AC   V
   +-----+    |     | PE1|==================| PE2|     |    +-----+
   |     |----------|............PW1.............|----------|     |
   | CE1 |    |     |    |                  |    |     |    | CE2 |
   |     |----------|............PW2.............|----------|     |
   +-----+  ^ |     |    |==================|    |     | ^  +-----+
         ^  |       +----+                  +----+     | |  ^
         |  |   Provider Edge 1         Provider Edge 2  |  |
         |  |                                            |  |
   Customer |                                            | Customer
   Edge 1   |                                            | Edge 2
            |                                            |
      native service                               native service

                     Figure 1: PWE3 Reference Model

           Native  |<-----------Pseudo Wire----------->|  Native
           Layer2  |                                   |  Layer2
          Service  |    |<-PSN1-->|     |<--PSN2->|    |  Service
           (AC)    V    V         V     V         V    V   (AC)
             |     +----+         +-----+         +----+     |
   +----+    |     | PE1|=========| PE2 |=========| PE3|     |    +----+
   |    |----------|........PW1.........|...PW3........|----------|    |
   | CE1|    |     |    |         |     |         |    |     |    |CE2 |
   |    |----------|........PW2.........|...PW4........|----------|    |
   +----+    |     |    |=========|     |=========|    |     |    +----+
        ^          +----+         +-----+         +----+     |    ^
        |      Provider Edge 1       ^        Provider Edge 3     |
        |  (Ultimate PE)         |           (Ultimate PE)      |
        |                            |                            |
        |                    PW switching point                   |
        |            (Optional PW adaptation function)            |
        |                                                         |
        |<------------------- Emulated Service ------------------>|

                 Figure 2: PW switching Reference Model

   In Figure 2 PE2 runs two separate control planes: one toward PE1, and
   one Toward PE3. The PW switching point is at PE2 which is configured
   to connect PW1 and PW3 together to complete the multi-hop PW between
   PE1 and PE3.  PW1 and PW3 MUST be of the same PW type, but PSN1 and
   PSN2 need not be the same technology. In the latter case, if the PW



Martini, et al.                                                 [Page 6]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


   is switched to a different technology, the PEs must adapt the PDU
   encapsulation between the different PSN technologies. In the case
   where PSN1 and PSN2 are the same technology the PW PDU does not need
   to be modified, and PDUs are then switched between the pseudo-wires
   at the PW label level.

   It should be noted that it is possible to adapt one PSN technology to
   a different one, for example MPLS over an IP or GRE [MPLS-IP-GRE]
   encapsulation, but this is outside the scope of this document.
   Further, one could perform an interworking function on the PWs
   themselves at the PW swiching point, allowing conversion from one PW
   type to another, but this is also outside the scope of this document.

   The pseudowire switching methodology described in this document
   assumes manual configuration of the switching point at PE2. It should
   also be noted that a PW can traverse multiple PW switching points
   along it's path, and the edge PEs will not require any specific
   knowledge of how many PW switching points the PW has traversed
   (though this may be reported for troubleshooting purposes).

   In general the approach taken is to connect the individual control
   planes by passing along any signaling information immediately upon
   reception. First the PW switching point is configured to switch a
   SH-PW from a specific peer to another SH-PW destined for a different
   peer. No control messages are exchanged yet as the PW switching point
   PE does not have enough information to actually initiate the PW setup
   messages. However, if a session does not already exist, a control
   protocol (LDP/L2TP) session is setup. In this model the MH-PW setup
   is starting from the U-PE devices. Next once the U-PE is configured
   it sends the PW control setup messages. These messages are received,
   and immediately used to form the PW setup messages for the next SH-PW
   of the MH-PW. If one of the Switching PEs doesn't accept an LDP Setup
   message then a Label release message is sent back to the originator
   U-PE. A MH-PW is declared UP when all the constituent SH-PWs are UP.


6. PW-MPLS to PW-MPLS

   Referencing Figure 2, PE2 sets up a PW1 using the LDP targeted
   session as described in [PWE3-MPLS], at the same time a separate
   pseudo wire PW3 is setup to PE3. Each PW is configured independently
   on the PEs, but on PE2 pseudo wire PW1 is connected to pseudo wire
   PW3. PDUs are then switched between the pseudo-wires at the PW label
   level. Hence the data plane does not need any special knowledge of
   the specific pseudo wire type. A simple standard MPLS label swap
   operation is sufficient to connect the two PWs, and in this case the
   PW adaptation function is not used.




Martini, et al.                                                 [Page 7]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


   This process can be repeated as many times as necessary, the only
   limitation to the number of PW switching points traversed is imposed
   by the TTL field of the PW MPLS Label. The setting of the TTL is a
   matter of local policy on the originating PE, but SHOULD be set to
   255.


6.1. MPLS PW Control Plane Switching

   There are three MPLS to MPLS PW control planes:
        -i. Static configuration of the PW.
       -ii. LDP using FEC 128
      -iii. LDP using the generalized FEC 129
   This results in four distinct PW switching situations that are
   significantly different, and must be considered in detail:
        -i. PW Switching between two static control planes.
       -ii. Static Control plane switching to LDP dynamic control plane.
      -iii. Two LDP control planes using the same FEC type
       -iv. LDP using FEC 128, to LDP using the generalized FEC 129


6.1.1. Static Control plane switching

   In the case of two static control planes the PW switching point MUST
   be configured to direct the MPLS packets from one PW into the other.
   There is no control protocol involved in this case. When one of the
   control planes is a simple static PW configuration and the other
   control plane is a dynamic LDP FEC 128 or generalized PW FEC, then
   the static control plane should be considered identical to an
   attachment circuit (AC) in the reference model of Figure 1. The
   switching point PE SHOULD signal the proper PW status if it detects a
   failure in sending or receiving packets over the static PW. Because
   the PW is statically configured, the status communicated to the
   dynamic LDP PW will be limited to local interface failures. In this
   case, the PW switching point PE behaves in a very similar manner to a
   U-PE, assuming an active role.


6.1.2. Two LDP control planes using the same FEC type

   As stated in a section above, the PW switching point PE should assume
   an initial passive role. This means that once independent PWs are
   configured on the switching point, the LSR does not advertise the LDP
   PW FEC mapping until

   it has received at least one of the two PW LDP FECs from a remote PE.
   This is necessary because the switching point LSR does not know a
   priory what the interface parameter field in in the initial FEC



Martini, et al.                                                 [Page 8]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


   advertisement will contain.

   The PWID is a unique number between each pair of PEs. Hence Each SH-
   PW that forms an MH-PW may have a different PWID. In the case of The
   Generalized PW FEC, the AGI/SAI/TAI may have to also be different for
   some, or sometimes all, SH-PWs.


6.1.3. LDP using FEC 128 to LDP using the generalized FEC 129

   When a PE is using the generalized FEC 129, there are two distinct
   roles that a PE can assume: active and passive. A PE that assumes the
   active role will send the LDP PW setup message, while a passive role
   PE will simply reply to an incoming LDP PW setup message. The PW
   switching point PE, will always remain passive until a PWID FEC 128
   LDP message is received, which will cause the corresponding
   generalized PW FEC LDP message to be formed and sent. If a
   generalized FEC PW LDP message is received while the switching point
   PE is in a passive role, the corresponding PW FEC 128 LDP message
   will be formed and sent.

   PWIDs need to be mapped to the corresponding AGI/TAI/SAI and vice
   versa.  This can be accomplished by local PW switching point
   configuration, or by some other means, such as some form of auto
   discovery. Such other means are outside the scope of this document.


6.1.4. PW switching point TLV

   The edge to edge PW might traverse several switching points, in
   separate administrative domains. For management and troubleshooting
   reasons it is useful to record all the switching points that the PW
   traverses. This is accomplished by using a PW switching point TLV.

   The OPTIONAL PW switching point TLV is appended to the PW FEC at each
   switching point and is encoded 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 sw TLV  (0x096B)   |     PW sw TLV  Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |    Variable Length Value      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Variable Length Value                 |
   |                             "                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




Martini, et al.                                                 [Page 9]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


     - PW sw TLV  Length Specifies the total length of all the following
       PW switching point TLV fields in octets
     - Type Encodes how the Value field is to be interpreted.
     - Length Specifies the length of the Value field in octets.
     - Value Octet string of Length octets that encodes information to
       be interpreted as specified by the Type field.

   Type value 0 is reserved. Type values 1 through 3 are defined in this
   document. Values 3 through 63 are to be assigned by IANA using the
   "IETF Consensus" policy defined in RFC2434. Type values values 64
   through 127 are to be assigned by IANA, using the "First Come First
   Served" policy defined in RFC2434. Type values 128 through 255 are
   vendor-specific, and values in this range are not to be assigned by
   IANA.

   The Type Values are assigned as follows:
      Type      Length    Description

      0x00         0       Reserved
      0x01         4       PW ID of last PW traversed
      0x02      variable   PW Switching Point description string
      0x03         4       IP address of PW Switching Point ( Optional )

   The PW switching Point TLV is an OPTIONAL TLV that can appear once for each
   switching point traversed.


6.1.5. Adaptation of Interface Parameters

   [PWE3-MPLS] defines several interface parameters, which are used by
   the Network Service Processing (NSP) to adapt the PW to the
   Attachment Circuit (AC). The interface parameters are only used at
   the end points, and MUST be passed unchanged across the PW switching
   point. However the following interface parameters MAY be modified as
   follows:
     - 0x03 Optional Interface Description string This Interface
       parameter MAY be modified, or altogether removed from the FEC
       element depending on local configuration policies.

     - 0x09 Fragmentation indicator This parameter MAY be inserted in
       the FEC by the switching point if it is capable of re-assembly of
       fragmented PW frames according to [PWE3-FRAG].

     - 0x0C VCCV parameter The switching point MAY not be able to
       inspect the VCCV control channel. In this case the Control
       Channel Type indicator MUST be modified to reflect the capability
       of the PE acting as the PW switching point.




Martini, et al.                                                [Page 10]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


6.1.6. Group ID

   The Group ID ( GR ID ) is used to reduce the number of status
   messages that need to be sent by the PE advertising the PW FEC. The
   GR ID has local significance only, and therefore MUST be mapped to a
   unique GR ID allocated by the PW switching point PE.


6.1.7. PW Loop Detection

   A switching point PE SHOULD check the OPTIONAL PW switching Point
   TLV, to verify if it's own IP address appears in it. If it's IP
   address appears in a received PW switching Point TLV, the PE SHOULD
   break the loop, and send a label release message with the following
   error code:
      0x0000003A "PW Loop Detected"

   [ note: error code as defined in [PWE-IANA] pending IANA allocation ]


7. PW-MPLS to PW-L2TPv3

   Both MPLS and L2TPv3 PWs may be static or dynamic. This results in
   four possibilities when switching between L2TPv3 and MPLS.

        -i. Switching between MPLS and L2TPv3 static control planes.
       -ii. Switching between a static MPLS PW and a dynamic L2TPv3 PW.
      -iii. Switching between a static L2TPv3 PW and a dynamic MPLS PW.
       -iv. Switching between a dynamic MPLS PW and a dynamic L2TPv3 PW.


7.1. Static MPLS and L2TPv3 PWs

   In the case of two static control planes, the PW switching point MUST
   be configured to direct packets from one PW into the other. There is
   no control protocol involved in this case. The configuration MUST
   include which MPLS VC Label maps to which L2TPv3 Session ID (and
   associated Cookie, if present) as well as which MPLS Tunnel Label
   maps to which PE destination IP address.












Martini, et al.                                                [Page 11]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


7.2. Static MPLS PW and Dynamic L2TPv3 PW

   When a statically configured MPLS PW is switched to a dynamic L2TPv3
   PW, the static control plane should be considered identical to an
   attachment circuit (AC) in the reference model of Figure 1. The
   switching point PE SHOULD signal the proper PW status if it detects a
   failure in

   sending or receiving packets over the static PW. Because the PW is
   statically configured, the status communicated to the dynamic L2TPv3
   PW will be limited to local interface failures. In this case, the PW
   switching point PE behaves in a very similar manner to a U-PE,
   assuming an active role.


7.3. Static L2TPv3 PW and Dynamic LDP/MPLS PW

   When a statically configured L2TPv3 PW is switched to a dynamic
   LDP/MPLS PW, then the static control plane should be considered
   identical to an attachment circuit (AC) in the reference model of
   Figure 1. The switching point PE SHOULD signal the proper PW status
   (via an L2TPv3 SLI message) if it detects a failure in sending or
   receiving packets over the static PW. Because the PW is statically
   configured, the status communicated to the dynamic LDP/MPLS PW will
   be limited to local interface failures. In this case, the PW
   switching point PE behaves in a very similar manner to a U-PE,
   assuming an active role.


7.4. Dynamic LDP/MPLS and L2TPv3 PWs

   When switching between dynamic PWs, the switching point always
   assumes an initial passive role. Thus, it does not initiate an
   LDP/MPLS or L2TPv3 PW until it has received a connection request
   (Label Mapping or ICRQ) from one side of the node. Note that while
   MPLS PWs are made up of two unidirectional LSPs bonded together by
   FEC identifiers, L2TPv3 PWs are bidirectional in nature, setup via a
   3-message exchange (ICRQ, ICRP and ICCN). Details of Session
   Establishment, Teardown, and PW Status signalling are detailed below.


7.4.1. Session Establishment

   When the PW switching point receives an L2TPv3 ICRQ message, the
   identifying AVPs included in the message are mapped to FEC
   identifiers and sent in an LDP label mapping message. Conversely, if
   an LDP Label Mapping message is received, it is either mapped to an
   ICRP message or causes an L2TPv3 session to be initiated by sending



Martini, et al.                                                [Page 12]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


   an ICRQ.

   Following are two example exchanges of messages between LDP and
   L2TPv3. The first is a case where an L2TPv3 U-PE initiates an MH-PW,
   the second is a case where an MPLS U-PE initiates an MH-PW.

      PE 1 (L2TPv3)      PW Switching Node       PE3 (MPLS/LDP)

        AC "Up"
        L2TPv3 ICRQ --->
                         LDP Label Mapping  --->
                                                    AC "UP"
                                           <--- LDP Label Mapping
                   <--- L2TPv3 ICRP
        L2TPv3 ICCN  --->
      <-------------------- MH PW Established ------------------>


      PE 1 (MPLS/LDP)      PW Switching Node       PE3 (L2TPv3)

        AC "Up"
        LDP Label Mapping --->
                              L2TPv3 ICRQ  --->
                                              <--- L2TPv3 ICRP
                         <--- LDP Label Mapping
                              L2TPv3 ICCN --->
                                                   AC "Up"
      <-------------------- MH PW Established ------------------>


7.4.2. Adaptation of PW Status message

   L2TPv3 uses the SLI message to indicate a interface status change
   (such as the interface transitioning from "Up" or "Down"). MPLS/LDP
   PWs either signal this via an LDP Label Withdraw or the PW Status
   message defined in section 5.3.2 of [PWE3-MPLS].


7.4.3. Session Teardown

   L2TPv3 uses a single message, CDN, to tear down a pseudowire. The CDN
   message translates to a Label Withdraw message in LDP. Following are
   two example exchanges of messages between LDP and L2TPv3. The first
   is a case where an L2TPv3 U-PE initiates the termination of an MH-PW,
   the second is a case where an MPLS U-PE initiates the termination of
   an MH-PW.





Martini, et al.                                                [Page 13]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


   PE 1 (L2TPv3)      PW Switching Node       PE3 (MPLS/LDP)

   AC "Down"
     L2TPv3 CDN --->
                      LDP Label Withdraw  --->
                                                 AC "Down"

   <--------------- MH PW Data Path Down ------------------>

                                        <--- LDP Label Withdraw *

     * This LDP Label Withdraw is not necessary to break the end-to-end
       MH PW data path.

   PE 1 (MPLS LDP)     PW Switching Node       PE3 (L2TPv3)

   AC "Down"
   LDP Label Withdraw  --->
                            L2TPv3 CDN -->
                                                 AC "Down"

   <---------------- MH PW Data Path Down ------------------>

                <---   LDP Label Withdraw *
     * This LDP Label Withdraw is not necessary to break the end-to-end
       MH PW data path.


7.5. Adaptation of LDP/L2TPv3 AVPs and Interface Parameters

   [PWE3-MPLS] defines several interface parameters which must be mapped
   to similar AVPs in L2TPv3 setup messages.

     Interface MTU The Interface MTU parameter is mapped directly to the
                   L2TP Interface MTU AVP defined in [L2TP-L2VPN]

     Max Number of Concatenated ATM cells This interface parameter is
                                          mapped directly to the L2TP
                                          "ATM Maximum Concatenated
                                          Cells AVP" described in
                                          section 6 of [L2TP-ATM].

     Optional Interface Description String This string may be carried as
                                           the "Call-Information AVP"
                                           described in section 2.2 of
                                           [L2TP-INFOMSG]





Martini, et al.                                                [Page 14]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


     PW Type The PW Type defined in [PWE3-IANA] is mapped to the L2TPv3
             "PW Type" AVP defined in [L2TPv3].

     PW ID (FEC 128) For FEC 128, the PW ID is mapped directly to the
                     L2TPv3 "Remote End ID" AVP defined in [L2TPv3].

     Generalized FEC 129 SAI/TAI Section 4.3 of [L2TP-L2VPN] defines how
                                 to encode the SAI and TAI parameters.
                                 These can be mapped directly.

                                 Other interface parameter mappings will
                                 either be defined in a future version
                                 of this document, or are unsupported
                                 when switching between LDP/MPLS and
                                 L2TPv3 PWs.


7.6. Switching Point TLV in L2TPv3

   When translating between LDP and L2TPv3 control messages, the PW
   Switching Point TLV described earlier in this document is carried in
   a single variable length L2TP AVP present in the ICRQ, ICRP messages,
   and optionally in the ICCN message.

   The L2TP "Switching Point AVP" is Attribute Type TBA-L2TP-AVP-1. The
   AVP MAY be hidden (the L2TP AVP H-bit may be 0 or 1), the length of
   the AVP is 6 plus the length of the series of Switching Point sub-
   TLVs included in the AVP, and the AVP MUST NOT be marked Mandatory
   (the L2TP AVP M-bit MUST be 0).


7.7. L2TPv3 and MPLS PW Data Plane

   When switching between an MPLS and L2TP PW, packets are sent in their
   entirety from one PW to the other, replacing the MPLS label stack
   with the L2TPv3 and IP header or vice versa. There are some
   situations where an additional amount of interworking must be
   provided between the two data planes at the PW switching node.


7.7.1. PWE3 Payload Convergence and Sequencing

   Section 5.4 of [PWE3-ARCH] discusses the purpose of the various shim
   headers necessary for enabling a pseudowire over an IP or MPLS PSN.
   For L2TPv3, the Payload Convergence and Sequencing function is
   carried out via the Default L2-Specific Sublayer defined in [L2TPv3].
   For MPLS, these two functions (together with PSN Convergence) are
   carried out via the MPLS Control Word. Since these functions are



Martini, et al.                                                [Page 15]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


   different between MPLS and L2TPv3, interworking between the two may
   be necessary.

   The L2TP L2-Specific Sublayer and MPLS Control Word are shim headers
   which in some cases are not necessary to be present at all. For
   example, an ethernet PW with sequencing disabled will generally not
   require an MPLS Control Word or L2TP Default L2-Specific Sublayer to
   be present at all. In this case, ethernet frames are simply sent from
   one PW to the other without any modification beyond the MPLS and
   L2TP/IP encapsulation and decapsulation.

   The following section offers guidelines for how to interwork between
   L2TP and MPLS for those cases where the Payload Convergence,
   Sequencing, or PSN Convergence functions are necessary on one or both
   sides of the switching node.


7.7.2. Mapping

   The MPLS Control Word consists of (from left to right):

        -i. These bits are always zero in MPLS are not necessary to be
            mapped to L2TP.

       -ii. These six bits may be used for Payload Convergence depending
            on the PW type. For ATM, the first four of these bits are
            defined in [PWE3-ATM]. These map directly to the bits
            defined in [L2TP-ATM]. For Frame Relay, these bits indicate
            how to set the bits in the Frame Relay header which must be
            regenerated for L2TP as it carries the Frame Relay header
            intact.

      -iii. L2TP determines its payload length from IP. Thus, this
            Length field need not be carried directly to L2TP. This
            Length field will have to be calculated and inserted for
            MPLS when necessary.

       -iv. The Default L2-Specific Sublayer has a sequence number with
            different semantics than that of the MPLS Control Word. This
            difference eliminates the possibility of supporting
            sequencing across the MH-PW by simply carrying the sequence
            number through the switching point transparently. As such,
            sequence numbers MAY be supported by checking the sequence
            numbers of packets arriving at the switching point and
            regenerating a new sequence number in the proper format for
            the PW on egress. If this type of sequence interworking at
            the switching node is not supported, and a U-PE requests
            sequencing of all packets via the L2TP control channel



Martini, et al.                                                [Page 16]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


            during session setup, the switching node SHOULD NOT allow
            the session to be established by sending a CDN message with
            Result Code set to 17 "sequencing not supported" (subject to
            IANA Assignment).


8. Operation And Management

8.1. Pseudo Wire Status

   At the PW switching point there is no attachment circuit, but two PWs
   connected together. Similarly, the status of the PWs are forwarded
   unchanged from one PW to the other by the control plane switching
   function. However, it may sometimes be necessary to communicate
   status of one of the locally attached SH-PW at a PW switching point.
   For LDP this can be accomplished by sending an LDP status
   notification message containing the PW status TLV, as well as an
   OPTIONAL PW switching point TLV.

































Martini, et al.                                                [Page 17]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


    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
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0|   Notification   (0x0001)   |      Message Length           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Message ID                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0|1| Status (0x0300)           |      Length                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0|1|                 Status Code=0x00000028                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Message ID=0                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Message Type=0           |      PW Status TLV            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         PW Status TLV                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         PW Status TLV         |            PWId FEC           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                                                               |
   |                 PWId FEC or Generalized ID FEC                |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |1|0|     PW sw TLV  (0x096B)   |     PW sw TLV  Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |    Variable Length Value      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Only one PW switching point TLV can be present in this message. This
   message is then relayed by each PW switching point unchanged. The U-
   PE decodes the status message and the included PW switching point TLV
   to detect where exactly the fault occurred. At the U-PE if there is
   no PW switching point TLV included in the LDP status notification
   then the status message can be assumed to have originated at the
   remote U-PE. It should also be noted that once a PW status
   notification message is initiated at a PW switching point, any
   further status message received from an upstream neighbor is
   processed locally and not forwarded until the PW switching point
   original status message is cleared.







Martini, et al.                                                [Page 18]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


8.2. Pseudowire Status Negotiation Procedures

   Pseudowire Status signaling methodology, defined in [PWE3-MPLS],
   SHOULD be transparent to the switching point.


8.3. Status Dampening

   When the PW switching methodology is used to cross a administrative
   boundary it might be necessary to prevent excessive status signaling
   changes from being propagated across the administrative boundary.
   This can be achieved by using a similar method as commonly employed
   for the BGP protocol route advertisement dampening. The details of
   this OPTIONAL algorithm are a matter of implementation, and are
   outside the scope of this document.



   The procedures outlined in this document can be employed to provision
   and manage MH-PWs crossing AS boundaries.

   The use of more advanced mechanisms involving auto-discovery and
   ordered PWE3 MH-PW signaling will be covered in future versions of
   this draft.


9. Security Considerations

   This document specifies the LDP and L2TPv3 extensions that are needed
   for setting up and maintaining Pseudowires. The purpose of setting up
   Pseudowires is to enable layer 2 frames to be encapsulated and
   transmitted from one end of a Pseudowire to the other. Therefore we
   treat the security considerations for both the data plane and the
   control plane.


9.1. Data Plane Security

   Data plane security consideration as discussed in [PWE3-MPLS],
   [L2TPv3], and [PWE3-ARCH] apply to this extension without any
   changes.










Martini, et al.                                                [Page 19]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


9.2. Control Protocol Security

   General security considerations with regard to the use of LDP are
   specified in section 5 of RFC 3036. Security considerations with
   regard to the L2TPv3 control plane are specified in [L2TPv3]. These
   considerations apply as well to the case where LDP or L2TPv3 is used
   to set up PWs.

   A Pseudowire connects two attachment circuits. It is important to
   make sure that LDP connections are not arbitrarily accepted from
   anywhere, or else a local attachment circuit might get connected to
   an arbitrary remote attachment circuit. Therefore an incoming session
   request MUST NOT be accepted unless its IP source address is known to
   be the source of an "eligible" peer. The set of eligible peers could
   be pre-configured (either as a list of IP addresses, or as a list of
   address/mask combinations), or it could be discovered dynamically via
   an auto-discovery protocol which is itself trusted. (Obviously if the
   auto-discovery protocol were not trusted, the set of "eligible peers"
   it produces could not be trusted.)

   Even if a connection request appears to come from an eligible peer,
   its source address may have been spoofed.  So some means of
   preventing source address spoofing must be in place.  For example, if
   all the eligible peers are in the same network, source address
   filtering at the border routers of that network could eliminate the
   possibility of source address spoofing.

   For a greater degree of security, the LDP MD5 authentication key
   option, as described in section 2.9 of RFC 3036, or the Control
   Message Authentication option of [L2TPv3] MAY be used.  This provides
   integrity and authentication for the control messages, and eliminates
   the possibility of source address spoofing.  Use of the message
   authentication option does not provide privacy, but privacy of
   control messages are not usually considered to be highly urgent.
   Both the LDP and L2TPv3 message authentication options rely on the
   configuration of pre-shared keys, making it difficult to deploy when
   the set of eligible neighbors is determined by an auto-configuration
   protocol.

   When the Generalized ID FEC Element is used, it is possible that a
   particular peer may be one of the eligible peers, but may not be the
   right one to connect to the particular attachment circuit identified
   by the particular instance of the Generalized ID FEC element.
   However, given that the peer is known to be one of the eligible peers
   (as discussed above), this would be the result of a configuration
   error, rather than a security problem.  Nevertheless, it may be
   advisable for a PE to associate each of its local attachment circuits
   with a set of eligible peers, rather than having just a single set of



Martini, et al.                                                [Page 20]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


   eligible peers associated with the PE as a whole.


10. IANA

   This specification requires IANA to define the following L2TP
   Parameters according to [RFC3438]:

   Control Message Attribute Value Pairs

   TBA-L2TP-AVP-1 - PW Switching Point AVP


11. Acknowledgments

   The authors wish to acknowledge the contributions of Wei Luo, and
   Skip Booth.


12. Full Copyright Statement

   Copyright (C) The Internet Society (2004).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78 and
   except as set forth therein, the authors retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


13. Normative References

   [PWE3-MPLS] "Transport of Layer 2 Frames Over MPLS", Martini, L., et al.,
        draft-ietf-pwe3-control-protocol-07.txt, ( work in progress ), May 2004.

   [2547BIS] "BGP/MPLS IP VPNs", Rosen, E, Rekhter, Y.
        draft-ietf-l3vpn-rfc2547bis-01.txt ( work in progress ), March 2004.

   [L2TPv3] "Layer Two Tunneling Protocol (Version 3)", J. Lau,
        M. Townsley, I. Goyret, draft-ietf-l2tpext-l2tp-base-14.txt (work in
        progress), June 2004






Martini, et al.                                                [Page 21]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004


14. Informative References

   [MPLS-IP-GRE] "Encapsulating MPLS in IP or Generic Routing Encapsulation
        (GRE)", Rosen, E, Rekhter, Y. draft-ietf-mpls-in-ip-or-gre-08.txt,
        ( work inprogress ), December 2004.

   [PWE3-ARCH] "PWE3 Architecture" Bryant, et al., draft-ietf-pwe3-arch-07.txt
        ( workin progress ), June 2003.

   [PWE3-FRAG] "PWE3 Fragmentation and Reassembly", A. Malis, W. M. Townsley,
        draft-ietf-pwe3-fragmentation-05.txt ( work in progress ) February 2004

   [PWE-IANA] "IANA Allocations for pseudo Wire Edge to Edge Emulation (PWE3)"
        Martini, Townsley, draft-ietf-pwe3-iana-allocation-04.txt (work in
        progress), April 2004

   [L2TP-L2VPN] "L2VPN Extensions for L2TP", Luo, Wei,
        draft-ietf-l2tpext-l2vpn-00.txt, (work in progress), Jan 2004

   [L2TP-INFOMSG] "L2TP Call Information Messages", Mistretta, Goyret, McGill,
        Townsley, draft-mistretta-l2tp-infomsg-02.txt, (work in progress),
        July 2004

   [L2TP-ATM] "ATM Pseudo-Wire Extensions for L2TP", Singh, Townsley,
        Lau, draft-ietf-l2tpext-pwe3-atm-00.txt, (work in progress), March 2004.

   [PWE3-ATM] "Encapsulation Methods for Transport of ATM Over IP and MPLS
        Networks", Martini, Rosen, Bocci, "draft-ietf-pwe3-atm-encap-05.txt",
        (work in progress), April 2004.

   [RFC3438]  W. M. Townsley, "Layer Two Tunneling Protocol (L2TP) Internet

   [BCP68]    Assigned Numbers Authority (IANA) Considerations Update",
                   RFC 3438, BCP 68, November 2002.


15. Author Information


   Luca Martini
   Cisco Systems, Inc.
   9155 East Nichols Avenue, Suite 400
   Englewood, CO, 80112
   e-mail: lmartini@cisco.com







Martini, et al.                                                [Page 22]


Internet Draft   draft-martini-pwe3-pw-switching-01.txt     October 2004



   W. Mark Townsley
   Cisco Systems
   7025 Kit Creek Road
   PO Box 14987
   Research Triangle Park, NC 27709
   e-mail: mark@townsley.net


   Thomas D. Nadeau
   Cisco Systems, Inc.
   300 Beaver Brook Road
   Boxborough, MA 01719
   e-mail: tnadeau@cisco.com


   Chris Metz
   Cisco Systems, Inc.
   e-mail: chmetz@cisco.com


   Mike Duckett
   Bellsouth
   Lindbergh Center
   D481
   575 Morosgo Dr
   Atlanta, GA  30324
   e-mail: mduckett@bellsouth.net


   Vasile Radoaca
   Nortel Networks
   600 Technology Park,
   Billerica, 01821, MA
   e-mail: vasile@nortelnetworks.com
















Martini, et al.                                                [Page 23]