RFC 8214 PROPOSED STANDARD ROUTING · EVPN · MPLS

EVPN VPWS: Virtual Private Wire Service Support in Ethernet VPN

How Ethernet VPN carries point-to-point wire services over MPLS/IP without pseudowire signalling.

On rfc-editor.org ↗
PUBLISHED
August 2017
AUTHORS
S. Boutros, A. Sajassi, S. Salam, J. Drake, J. Rabadan
STREAM
IETF
ETHERNET TAG ID WIDTH
32 bits
VPWS SERVICE INSTANCE IDENTIFIER
24 bits, right-aligned
EXTENDED COMMUNITY SUB-TYPE
0x04
CONTROL FLAGS DEFINED
P, B, C
L2 MTU FIELD WIDTH
2 octets
EVPN INSTANCE RULE
No mix with multipoint EVPN services
DOI
10.17487/RFC8214
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                        S. Boutros
Request for Comments: 8214                                        VMware
Category: Standards Track                                     A. Sajassi
ISSN: 2070-1721                                                 S. Salam
                                                                   Cisco
                                                                J. Drake
                                                        Juniper Networks
                                                              J. Rabadan
                                                                   Nokia
                                                             August 2017


          Virtual Private Wire Service Support in Ethernet VPN

Abstract

   This document describes how Ethernet VPN (EVPN) can be used to
   support the Virtual Private Wire Service (VPWS) in MPLS/IP networks.
   EVPN accomplishes the following for VPWS: provides Single-Active as
   well as All-Active multihoming with flow-based load-balancing,
   eliminates the need for Pseudowire (PW) signaling, and provides fast
   protection convergence upon node or link failure.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8214.

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ....................................................3
      1.1. Terminology ................................................5
   2. Service Interface ...............................................6
      2.1. VLAN-Based Service Interface ...............................6
      2.2. VLAN Bundle Service Interface ..............................7
           2.2.1. Port-Based Service Interface ........................7
      2.3. VLAN-Aware Bundle Service Interface ........................7
   3. BGP Extensions ..................................................7
      3.1. EVPN Layer 2 Attributes Extended Community .................8
   4. Operation ......................................................10
   5. EVPN Comparison to PW Signaling ................................11
   6. Failure Scenarios ..............................................12
      6.1. Single-Homed CEs ..........................................12
      6.2. Multihomed CEs ............................................12
   7. Security Considerations ........................................13
   8. IANA Considerations ............................................13
   9. References .....................................................13
      9.1. Normative References ......................................13
      9.2. Informative References ....................................14
   Acknowledgements ..................................................16
   Contributors ......................................................16
   Authors' Addresses ................................................17

1.  Introduction

   This document describes how EVPN can be used to support VPWS in
   MPLS/IP networks.  The use of EVPN mechanisms for VPWS (EVPN-VPWS)
   brings the benefits of EVPN to Point-to-Point (P2P) services.  These
   benefits include Single-Active redundancy as well as All-Active
   redundancy with flow-based load-balancing.  Furthermore, the use of
   EVPN for VPWS eliminates the need for the traditional way of PW
   signaling for P2P Ethernet services, as described in Section 4.

   [RFC7432] provides the ability to forward customer traffic to/from a
   given customer Attachment Circuit (AC), without any Media Access
   Control (MAC) lookup.  This capability is ideal in providing P2P
   services (aka VPWS services).  [MEF] defines the Ethernet Virtual
   Private Line (EVPL) service as a P2P service between a pair of ACs
   (designated by VLANs) and the Ethernet Private Line (EPL) service,
   in which all traffic flows are between a single pair of ports that,
   in EVPN terminology, would mean a single pair of Ethernet Segments
   ES(es).  EVPL can be considered as a VPWS with only two ACs.  In
   delivering an EVPL service, the traffic-forwarding capability of EVPN
   is based on the exchange of a pair of Ethernet Auto-Discovery (A-D)
   routes, whereas for more general VPWS as per [RFC4664], the
   traffic-forwarding capability of EVPN is based on the exchange of a
   group of Ethernet A-D routes (one Ethernet A-D route per AC/ES).  In
   a VPWS service, the traffic from an originating Ethernet Segment can
   be forwarded only to a single destination Ethernet Segment; hence, no
   MAC lookup is needed, and the MPLS label associated with the per-EVPN
   instance (EVI) Ethernet A-D route can be used in forwarding user
   traffic to the destination AC.

   For both EPL and EVPL services, a specific VPWS service instance is
   identified by a pair of per-EVI Ethernet A-D routes that together
   identify the VPWS service instance endpoints and the VPWS service
   instance.  In the control plane, the VPWS service instance is
   identified using the VPWS service instance identifiers advertised by
   each Provider Edge (PE) node.  In the data plane, the value of the
   MPLS label advertised by one PE is used by the other PE to send
   traffic for that VPWS service instance.  As with the Ethernet Tag in
   standard EVPN, the VPWS service instance identifier has uniqueness
   within an EVPN instance.

   For EVPN routes, the Ethernet Tag IDs are set to zero for port-based,
   VLAN-based, and VLAN bundle interface mode and set to non-zero
   Ethernet Tag IDs for VLAN-aware bundle mode.  Conversely, for
   EVPN-VPWS, the Ethernet Tag ID in the Ethernet A-D route MUST be set
   to a non-zero value for all four service interface types.

   In terms of route advertisement and MPLS label lookup behavior,
   EVPN-VPWS resembles the VLAN-aware bundle mode of [RFC7432] such that
   when a PE advertises a per-EVI Ethernet A-D route, the VPWS service
   instance serves as a 32-bit normalized Ethernet Tag ID.  The value of
   the MPLS label in this route represents both the EVI and the VPWS
   service instance, so that upon receiving an MPLS-encapsulated packet,
   the disposition PE can identify the egress AC from the MPLS label and
   subsequently perform any required tag translation.  For the EVPL
   service, the Ethernet frames transported over an MPLS/IP network
   SHOULD remain tagged with the originating VLAN ID (VID), and any VID
   translation MUST be performed at the disposition PE.  For the EPL
   service, the Ethernet frames are transported as is, and the tags
   are not altered.

   The MPLS label value in the Ethernet A-D route can be set to the
   Virtual Extensible LAN (VXLAN) Network Identifier (VNI) for VXLAN
   encapsulation as per [RFC7348], and this VNI will have a local scope
   per PE and may also be equal to the VPWS service instance identifier
   set in the Ethernet A-D route.  When using VXLAN encapsulation, the
   BGP Encapsulation extended community is included in the Ethernet A-D
   route as described in [EVPN-OVERLAY].  The VNI is like the MPLS label
   that will be set in the tunnel header used to tunnel Ethernet packets
   from all the service interface types defined in Section 2.  The
   EVPN-VPWS techniques defined in this document have no dependency on
   the tunneling technology.

   The Ethernet Segment Identifier encoded in the Ethernet A-D per-EVI
   route is not used to identify the service.  However, it can be used
   for flow-based load-balancing and mass withdraw functions as per the
   [RFC7432] baseline.

   As with standard EVPN, the Ethernet A-D per-ES route is used for fast
   convergence upon link or node failure.  The Ethernet Segment route is
   used for auto-discovery of the PEs attached to a given multihomed
   Customer Edge node (CE) and to synchronize state between them.

1.1.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   EVPN: Ethernet VPN.

   MAC: Media Access Control.

   MPLS: Multiprotocol Label Switching.

   OAM: Operations, Administration, and Maintenance.

   PE: Provider Edge Node.

   AS: Autonomous System.

   ASBR: Autonomous System Border Router.

   CE: Customer Edge device (e.g., host, router, or switch).

   EVPL: Ethernet Virtual Private Line.

   EPL: Ethernet Private Line.

   EP-LAN: Ethernet Private LAN.

   EVP-LAN: Ethernet Virtual Private LAN.

   S-VLAN: Service VLAN identifier.

   C-VLAN: Customer VLAN identifier.

   VID: VLAN ID.

   VPWS: Virtual Private Wire Service.

   EVI: EVPN Instance.

   P2P: Point to Point.

   VXLAN: Virtual Extensible LAN.

   DF: Designated Forwarder.

   L2: Layer 2.

   MTU: Maximum Transmission Unit.

   eBGP: External Border Gateway Protocol.

   iBGP: Internal Border Gateway Protocol.

   ES: "Ethernet Segment" on a PE refers to the link attached to it.
      This link can be part of a set of links attached to different PEs
      in multihomed cases or could be a single link in single-homed
      cases.

   ESI: Ethernet Segment Identifier.

   Single-Active Mode: When a device or a network is multihomed to two
      or more PEs and when only a single PE in such a redundancy group
      can forward traffic to/from the multihomed device or network for a
      given VLAN, then such multihoming or redundancy is referred to as
      "Single-Active".

   All-Active Mode: When a device is multihomed to two or more PEs and
      when all PEs in such a redundancy group can forward traffic
      to/from the multihomed device for a given VLAN, then such
      multihoming or redundancy is referred to as "All-Active".

   VPWS Service Instance: A VPWS service instance is represented by a
      pair of EVPN service labels associated with a pair of endpoints.
      Each label is downstream-assigned and advertised by the
      disposition PE through an Ethernet A-D per-EVI route.  The
      downstream label identifies the endpoint on the disposition PE.  A
      VPWS service instance can be associated with only one VPWS service
      identifier.

2.  Service Interface

2.1.  VLAN-Based Service Interface

   With this service interface, a VPWS instance identifier corresponds
   to only a single VLAN on a specific interface.  Therefore, there is a
   one-to-one mapping between a VID on this interface and the VPWS
   service instance identifier.  The PE provides the cross-connect
   functionality between an MPLS Label Switched Path (LSP) identified by
   the VPWS service instance identifier and a specific <port, VLAN>.  If
   the VLAN is represented by different VIDs on different PEs and
   different ES(es) (e.g., a different VID per Ethernet Segment per PE),
   then each PE needs to perform VID translation for frames destined to
   its Ethernet Segment.  In such scenarios, the Ethernet frames
   transported over an MPLS/IP network SHOULD remain tagged with the
   originating VID, and a VID translation MUST be supported in the data
   path and MUST be performed on the disposition PE.

2.2.  VLAN Bundle Service Interface

   With this service interface, a VPWS service instance identifier
   corresponds to multiple VLANs on a specific interface.  The PE
   provides the cross-connect functionality between the MPLS label
   identified by the VPWS service instance identifier and a group of
   VLANs on a specific interface.  For this service interface, each VLAN
   is presented by a single VID, which means that no VLAN translation is
   allowed.  The receiving PE can direct the traffic, based on the EVPN
   label alone, to a specific port.  The transmitting PE can
   cross-connect traffic from a group of VLANs on a specific port to the
   MPLS label.  The MPLS-encapsulated frames MUST remain tagged with the
   originating VID.

2.2.1.  Port-Based Service Interface

   This service interface is a special case of the VLAN bundle service
   interface, where all of the VLANs on the port are mapped to the same
   VPWS service instance identifier.  The procedures are identical to
   those described in Section 2.2.

2.3.  VLAN-Aware Bundle Service Interface

   Contrary to EVPN, in EVPN-VPWS this service interface maps to a
   VLAN-based service interface (defined in Section 2.1); thus, this
   service interface is not used in EVPN-VPWS.  In other words, if one
   tries to define data-plane and control-plane behavior for this
   service interface, one would realize that it is the same as that of
   the VLAN-based service.

3.  BGP Extensions

   This document specifies the use of the per-EVI Ethernet A-D route to
   signal VPWS services.  The ESI field is set to the customer ES, and
   the 32-bit Ethernet Tag ID field MUST be set to the VPWS service
   instance identifier value.  The VPWS service instance identifier
   value MAY be set to a 24-bit value, and when a 24-bit value is used,
   it MUST be right-aligned.  For both EPL and EVPL services using a
   given VPWS service instance, the pair of PEs instantiating that VPWS
   service instance will each advertise a per-EVI Ethernet A-D route
   with its VPWS service instance identifier and will each be configured
   with the other PE's VPWS service instance identifier.  When each PE
   has received the other PE's per-EVI Ethernet A-D route, the VPWS
   service instance is instantiated.  It should be noted that the same
   VPWS service instance identifier may be configured on both PEs.

   The Route Target (RT) extended community with which the per-EVI
   Ethernet A-D route is tagged identifies the EVPN instance in which
   the VPWS service instance is configured.  It is the operator's choice
   as to how many and which VPWS service instances are configured in a
   given EVPN instance.  However, a given EVPN instance MUST NOT be
   configured with both VPWS service instances and standard EVPN
   multipoint services.

3.1.  EVPN Layer 2 Attributes Extended Community

   This document defines a new extended community [RFC4360], to be
   included with per-EVI Ethernet A-D routes.  This attribute is
   mandatory if multihoming is enabled.

               +-------------------------------------------+
               |  Type (0x06) / Sub-type (0x04) (2 octets) |
               +-------------------------------------------+
               |  Control Flags  (2 octets)                |
               +-------------------------------------------+
               |  L2 MTU (2 octets)                        |
               +-------------------------------------------+
               |  Reserved (2 octets)                      |
               +-------------------------------------------+

           Figure 1: EVPN Layer 2 Attributes Extended Community


            0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |   MBZ                   |C|P|B|  (MBZ = MUST Be Zero)
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 2: EVPN Layer 2 Attributes Control Flags

         The following bits in Control Flags are defined; the remaining
         bits MUST be set to zero when sending and MUST be ignored when
         receiving this community.

         Name     Meaning
         ---------------------------------------------------------------
         P        If set to 1 in multihoming Single-Active scenarios,
                  this flag indicates that the advertising PE is the
                  primary PE.  MUST be set to 1 for multihoming
                  All-Active scenarios by all active PE(s).

         B        If set to 1 in multihoming Single-Active scenarios,
                  this flag indicates that the advertising PE is the
                  backup PE.

         C        If set to 1, a control word [RFC4448] MUST be present
                  when sending EVPN packets to this PE.  It is
                  recommended that the control word be included in the
                  absence of an entropy label [RFC6790].

   L2 MTU is a 2-octet value indicating the MTU in bytes.

   A received L2 MTU of zero means that no MTU checking against the
   local MTU is needed.  A received non-zero MTU MUST be checked against
   the local MTU, and if there is a mismatch, the local PE MUST NOT add
   the remote PE as the EVPN destination for the corresponding VPWS
   service instance.

   The usage of the per-ES Ethernet A-D route is unchanged from its
   usage in [RFC7432], i.e., the "Single-Active" bit in the flags of the
   ESI Label extended community will indicate if Single-Active or
   All-Active redundancy is used for this ES.

   In a multihoming All-Active scenario, there is no Designated
   Forwarder (DF) election, and all the PEs in the ES that are active
   and ready to forward traffic to/from the CE will set the P Flag.  A
   remote PE will do per-flow load-balancing to the PEs that set the
   P Flag for the same Ethernet Tag and ESI.  The B Flag in
   Control Flags SHOULD NOT be set in the multihoming All-Active
   scenario and MUST be ignored by receiving PE(s) if set.

   In a multihoming Single-Active scenario for a given VPWS service
   instance, the DF election should result in the primary-elected PE for
   the VPWS service instance advertising the P Flag set and the B Flag
   clear, the backup-elected PE should advertise the P Flag clear and
   the B Flag set, and the rest of the PEs in the same ES should signal
   both the P Flag and the B Flag clear.  When the primary PE/ES fails,
   the primary PE will withdraw the associated Ethernet A-D routes for
   the VPWS service instance from the remote PE, and the remote PE
   should then send traffic associated with the VPWS instance to the
   backup PE.  DF re-election will happen between the PE(s) in the same
   ES, and there will be a newly elected primary PE and newly elected
   backup PE that will signal the P and B Flags as described.  A remote
   PE SHOULD receive the P Flag set from only one primary PE and the B
   Flag set from only one backup PE.  However, during transient
   situations, a remote PE receiving a P Flag set from more than one PE
   will select the last advertising PE as the primary PE when forwarding
   traffic.  A remote PE receiving a B Flag set from more than one PE
   will select the last advertising PE as the backup PE.  A remote PE
   MUST receive a P Flag set from at least one PE before forwarding
   traffic.

   If a network uses entropy labels per [RFC6790], then the C Flag
   MUST NOT be set, and the control word MUST NOT be used when sending
   EVPN-encapsulated packets over a P2P LSP.

4.  Operation

   The following figure shows an example of a P2P service deployed
   with EVPN.

          Ethernet                                          Ethernet
          Native   |<--------- EVPN Instance ----------->|  Native
          Service  |                                     |  Service
          (AC)     |     |<-PSN1->|       |<-PSN2->|     |  (AC)
             |     V     V        V       V        V     V  |
             |     +-----+      +-----+  +-----+   +-----+  |
      +----+ |     | PE1 |======|ASBR1|==|ASBR2|===| PE3 |  |    +----+
      |    |-------+-----+      +-----+  +-----+   +-----+-------|    |
      | CE1| |                                              |    |CE2 |
      |    |-------+-----+      +-----+  +-----+   +-----+-------|    |
      +----+ |     | PE2 |======|ASBR3|==|ASBR4|===| PE4 |  |    +----+
           ^       +-----+      +-----+  +-----+   +-----+          ^
           |   Provider Edge 1        ^        Provider Edge 2      |
           |                          |                             |
           |                          |                             |
           |              EVPN Inter-provider point                 |
           |                                                        |
           |<---------------- Emulated Service -------------------->|

                   Figure 3: EVPN-VPWS Deployment Model

   iBGP sessions are established between PE1, PE2, ASBR1, and ASBR3,
   possibly via a BGP route reflector.  Similarly, iBGP sessions are
   established among PE3, PE4, ASBR2, and ASBR4.  eBGP sessions are
   established among ASBR1, ASBR2, ASBR3, and ASBR4.

   All PEs and ASBRs are enabled for the EVPN Subsequent Address Family
   Identifier (SAFI) and exchange per-EVI Ethernet A-D routes, one route
   per VPWS service instance.  For inter-AS option B, the ASBRs
   re-advertise these routes with the NEXT_HOP attribute set to their IP
   addresses as per [RFC4271].  The link between the CE and the PE is
   either a C-tagged or S-tagged interface, as described in [802.1Q],
   that can carry a single VLAN tag or two nested VLAN tags, and it is
   configured as a trunk with multiple VLANs, one per VPWS service
   instance.  It should be noted that the VLAN ID used by the customer
   at either end of a VPWS service instance to identify that service
   instance may be different, and EVPN doesn't perform that translation
   between the two values.  Rather, the MPLS label will identify the
   VPWS service instance, and if translation is needed, it should be
   done by the Ethernet interface for each service.

   For a single-homed CE, in an advertised per-EVI Ethernet A-D route,
   the ESI field is set to zero and the Ethernet Tag ID is set to the
   VPWS service instance identifier that identifies the EVPL or EPL
   service.

   For a multihomed CE, in an advertised per-EVI Ethernet A-D route, the
   ESI field is set to the CE's ESI and the Ethernet Tag ID is set to
   the VPWS service instance identifier, which MUST have the same value
   on all PEs attached to that ES.  This allows an ingress PE in a
   multihoming All-Active scenario to perform flow-based load-balancing
   of traffic flows to all of the PEs attached to that ES.  In all
   cases, traffic follows the transport paths, which may be asymmetric.

   Either (1) the VPWS service instance identifier encoded in the
   Ethernet Tag ID in an advertised per-EVI Ethernet A-D route MUST be
   unique across all ASes or (2) an ASBR needs to perform a translation
   when the per-EVI Ethernet A-D route is re-advertised by the ASBR from
   one AS to the other AS.

   A per-ES Ethernet A-D route can be used for mass withdraw to withdraw
   all per-EVI Ethernet A-D routes associated with the multihomed site
   on a given PE.

5.  EVPN Comparison to PW Signaling

   In EVPN, service endpoint discovery and label signaling are done
   concurrently using BGP, whereas with VPWS based on [RFC4448], label
   signaling is done via LDP and service endpoint discovery is either
   through manual provisioning or through BGP.

   In existing implementations of VPWS using PWs, redundancy is limited
   to Single-Active mode, while with EVPN implementations of VPWS, both
   Single-Active and All-Active redundancy modes can be supported.

   In existing implementations with PWs, backup PWs are not used to
   carry traffic, while with EVPN, traffic can be load-balanced among
   different PEs multihomed to a single CE.

   Upon link or node failure, EVPN can trigger failover with the
   withdrawal of a single BGP route per EVPL service or multiple EVPL
   services, whereas with VPWS PW redundancy, the failover sequence
   requires the exchange of two control-plane messages: one message to
   deactivate the group of primary PWs and a second message to activate
   the group of backup PWs associated with the access link.

   Finally, EVPN may employ data-plane egress link protection mechanisms
   not available in VPWS.  This can be done by the primary PE (on local
   AC down) using the label advertised in the per-EVI Ethernet A-D route
   by the backup PE to encapsulate the traffic and direct it to the
   backup PE.

6.  Failure Scenarios

   On a link or port failure between the CE and the PE for both
   single-homed and multihomed CEs, unlike [RFC7432], the PE MUST
   withdraw all the associated Ethernet A-D routes for the VPWS service
   instances on the failed port or link.

6.1.  Single-Homed CEs

   Unlike [RFC7432], EVPN-VPWS uses Ethernet A-D route advertisements
   for single-homed Ethernet Segments.  Therefore, upon a link/port
   failure of a given single-homed Ethernet Segment, the PE MUST
   withdraw the associated per-EVI Ethernet A-D routes.

6.2.  Multihomed CEs

   For a faster convergence in multihomed scenarios with either
   Single-Active redundancy or All-Active redundancy, a mass withdraw
   technique is used.  A PE previously advertising a per-ES Ethernet A-D
   route can withdraw this route by signaling to the remote PEs to
   switch all the VPWS service instances associated with this multihomed
   ES to the backup PE.

   Just like RFC 7432, the Ethernet A-D per-EVI route MUST NOT be used
   for traffic forwarding by a remote PE until it also receives the
   associated set of Ethernet A-D per-ES routes.

7.  Security Considerations

   The mechanisms in this document use the EVPN control plane as defined
   in [RFC7432].  The security considerations described in [RFC7432] are
   equally applicable.

   This document uses MPLS and IP-based tunnel technologies to support
   data-plane transport.  The security considerations described in
   [RFC7432] and in [EVPN-OVERLAY] are equally applicable.

8.  IANA Considerations

   IANA has allocated the following EVPN Extended Community sub-type:

      Sub-Type Value     Name                        Reference
      --------------------------------------------------------
      0x04               EVPN Layer 2 Attributes     RFC 8214

   This document creates a registry called "EVPN Layer 2 Attributes
   Control Flags".  New registrations will be made through the
   "RFC Required" procedure defined in [RFC8126].

   Initial registrations are as follows:

        P      Advertising PE is the primary PE.
        B      Advertising PE is the backup PE.
        C      Control word [RFC4448] MUST be present.

9.  References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in
              RFC 2119 Key Words", BCP 14, RFC 8174,
              DOI 10.17487/RFC8174, May 2017,
              <https://www.rfc-editor.org/info/rfc8174>.

   [RFC7432]  Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
              Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
              Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432,
              February 2015, <https://www.rfc-editor.org/info/rfc7432>.

   [RFC4448]  Martini, L., Ed., Rosen, E., El-Aawar, N., and G. Heron,
              "Encapsulation Methods for Transport of Ethernet over MPLS
              Networks", RFC 4448, DOI 10.17487/RFC4448, April 2006,
              <https://www.rfc-editor.org/info/rfc4448>.

   [RFC6790]  Kompella, K., Drake, J., Amante, S., Henderickx, W., and
              L. Yong, "The Use of Entropy Labels in MPLS Forwarding",
              RFC 6790, DOI 10.17487/RFC6790, November 2012,
              <https://www.rfc-editor.org/info/rfc6790>.

   [RFC4271]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
              Border Gateway Protocol 4 (BGP-4)", RFC 4271,
              DOI 10.17487/RFC4271, January 2006,
              <https://www.rfc-editor.org/info/rfc4271>.

   [RFC4360]  Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
              Communities Attribute", RFC 4360, DOI 10.17487/RFC4360,
              February 2006, <https://www.rfc-editor.org/info/rfc4360>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [RFC7348]  Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger,
              L., Sridhar, T., Bursell, M., and C. Wright, "Virtual
              eXtensible Local Area Network (VXLAN): A Framework for
              Overlaying Virtualized Layer 2 Networks over Layer 3
              Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014,
              <https://www.rfc-editor.org/info/rfc7348>.

9.2.  Informative References

   [MEF]      Metro Ethernet Forum, "EVC Ethernet Services Definitions
              Phase 3", Technical Specification MEF 6.2, August 2014,
              <https://www.mef.net/Assets/Technical_Specifications/
              PDF/MEF_6.2.pdf>.

   [RFC4664]  Andersson, L., Ed., and E. Rosen, Ed., "Framework for
              Layer 2 Virtual Private Networks (L2VPNs)", RFC 4664,
              DOI 10.17487/RFC4664, September 2006,
              <https://www.rfc-editor.org/info/rfc4664>.

   [EVPN-OVERLAY]
              Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R.,
              Uttaro, J., and W. Henderickx, "A Network Virtualization
              Overlay Solution using EVPN", Work in Progress,
              draft-ietf-bess-evpn-overlay-08, March 2017.

   [802.1Q]   IEEE, "IEEE Standard for Local and metropolitan area
              networks -- Media Access Control (MAC) Bridges and Virtual
              Bridge Local Area Networks", IEEE Std 802.1Q-2011,
              DOI 10.1109/IEEESTD.2011.6009146.

Acknowledgements

   The authors would like to acknowledge Jeffrey Zhang, Wen Lin, Nitin
   Singh, Senthil Sathappan, Vinod Prabhu, Himanshu Shah, Iftekhar
   Hussain, Alvaro Retana, and Acee Lindem for their feedback and
   contributions to this document.

Contributors

   In addition to the authors listed on the front page, the following
   coauthors have also contributed to this document:

   Jeff Tantsura
   Individual
   Email: jefftant@gmail.com

   Dirk Steinberg
   Steinberg Consulting
   Email: dws@steinbergnet.net

   Patrice Brissette
   Cisco Systems
   Email: pbrisset@cisco.com

   Thomas Beckhaus
   Deutsche Telecom
   Email: Thomas.Beckhaus@telekom.de

   Ryan Bickhart
   Juniper Networks
   Email: rbickhart@juniper.net

   Daniel Voyer
   Bell Canada

Authors' Addresses

   Sami Boutros
   VMware, Inc.

   Email: sboutros@vmware.com


   Ali Sajassi
   Cisco Systems

   Email: sajassi@cisco.com


   Samer Salam
   Cisco Systems

   Email: ssalam@cisco.com


   John Drake
   Juniper Networks

   Email: jdrake@juniper.net


   Jorge Rabadan
   Nokia

   Email: jorge.rabadan@nokia.com

ISO Plain Language

On this page
PROBLEMA point-to-point Ethernet service between two customer sites normally needs its own pseudowire signalling, and the traditional way of providing it offers only single-active redundancy, with backup paths that never carry traffic.
MECHANISMRFC 8214 signals the service with the same per-EVI Ethernet auto-discovery routes that EVPN already uses, with the service instance identifier placed in the Ethernet Tag field and the MPLS label identifying the far end. A new Layer 2 Attributes extended community carries the primary, backup and control-word flags and the layer 2 MTU.
WHY IT MATTERSBoth single-active and all-active multihoming become available, traffic can be balanced across the provider edges attached to one customer, and failover is a single route withdrawal. The document is a Proposed Standard and has not been obsoleted.

§1Introduction

This document describes how EVPN can be used to support VPWS in MPLS and IP networks. The use of EVPN mechanisms for VPWS brings the benefits of EVPN to point-to-point services, including single-active redundancy as well as all-active redundancy with flow-based load-balancing. It also eliminates the need for the traditional way of pseudowire signalling for point-to-point Ethernet services.

RFC 7432 provides the ability to forward customer traffic to and from a given customer Attachment Circuit without any MAC lookup. That capability suits point-to-point services, also known as VPWS services. The Metro Ethernet Forum defines the Ethernet Virtual Private Line service as a point-to-point service between a pair of Attachment Circuits designated by VLANs, and the Ethernet Private Line service, in which all traffic flows between a single pair of ports. EVPL can be considered a VPWS with only two Attachment Circuits. In delivering an EVPL service, the traffic-forwarding capability of EVPN is based on the exchange of a pair of Ethernet Auto-Discovery routes, whereas for more general VPWS as defined in RFC 4664 it is based on the exchange of a group of Ethernet auto-discovery routes, one per Attachment Circuit or Ethernet Segment. In a VPWS service, traffic from an originating Ethernet Segment can be forwarded only to a single destination Ethernet Segment, so no MAC lookup is needed, and the MPLS label associated with the per-EVPN-instance Ethernet auto-discovery route can be used to forward user traffic to the destination Attachment Circuit.

For both EPL and EVPL services, a specific VPWS service instance is identified by a pair of per-EVPN-instance Ethernet auto-discovery routes that together identify the endpoints of the instance. In the control plane the service instance is identified using the VPWS service instance identifiers advertised by each Provider Edge node; in the data plane the value of the MPLS label advertised by one PE is used by the other PE to send traffic for that instance. As with the Ethernet Tag in standard EVPN, the VPWS service instance identifier is unique within an EVPN instance.

For EVPN routes, the Ethernet Tag IDs are set to zero for port-based, VLAN-based and VLAN bundle interface modes, and to non-zero values for VLAN-aware bundle mode. For EVPN-VPWS, the Ethernet Tag ID in the Ethernet auto-discovery route must be set to a non-zero value for all four service interface types.

In terms of route advertisement and MPLS label lookup behaviour, EVPN-VPWS resembles the VLAN-aware bundle mode of RFC 7432, in that when a PE advertises a per-EVPN-instance Ethernet auto-discovery route, the VPWS service instance serves as a 32-bit normalized Ethernet Tag ID. The value of the MPLS label in that route represents both the EVPN instance and the VPWS service instance, so that upon receiving an MPLS-encapsulated packet the disposition PE can identify the egress Attachment Circuit from the MPLS label and then perform any required tag translation. For the EVPL service, the Ethernet frames transported over an MPLS or IP network should remain tagged with the originating VLAN ID, and any VLAN ID translation must be performed at the disposition PE. For the EPL service, the frames are transported as they are and the tags are not altered.

The MPLS label value in the Ethernet auto-discovery route can be set to the VXLAN Network Identifier for VXLAN encapsulation as per RFC 7348, and that identifier has a local scope per PE and may also be equal to the VPWS service instance identifier. The EVPN-VPWS techniques defined here have no dependency on the tunnelling technology. The Ethernet Segment Identifier encoded in the per-EVPN-instance route is not used to identify the service, but it can be used for flow-based load-balancing and mass withdraw functions as per the RFC 7432 baseline. As with standard EVPN, the per-Ethernet-Segment auto-discovery route is used for fast convergence upon link or node failure, for auto-discovery of the PEs attached to a given multihomed customer edge, and to synchronize state between them.

A point-to-point service has exactly two ends, so there is never a question of which of several sites to send a frame to. EVPN-VPWS puts the identifier of that service into the field EVPN already uses to name a VLAN, and uses the advertised label to reach the far end. Because the signalling is ordinary EVPN, the same redundancy models work as they do for any other EVPN service.

§2Service Interfaces

With the VLAN-based service interface, a VPWS instance identifier corresponds to a single VLAN on a specific interface, so there is a one-to-one mapping between a VLAN ID on that interface and the VPWS service instance identifier. The PE provides the cross-connect functionality between an MPLS Label Switched Path identified by the VPWS service instance identifier and a specific port and VLAN. If the VLAN is represented by different VLAN IDs on different PEs and different Ethernet Segments, each PE needs to perform VLAN ID translation for frames destined to its Ethernet Segment. In such scenarios the frames transported over the network should remain tagged with the originating VLAN ID, and a VLAN ID translation must be supported in the data path and must be performed on the disposition PE.

With the VLAN bundle service interface, a VPWS service instance identifier corresponds to multiple VLANs on a specific interface. The PE provides the cross-connect functionality between the MPLS label identified by the VPWS service instance identifier and a group of VLANs on a specific interface. For this service interface each VLAN is presented by a single VLAN ID, which means no VLAN translation is allowed, and the receiving PE can direct traffic, on the EVPN label alone, to a specific port. The transmitting PE can cross-connect traffic from a group of VLANs on a specific port to the MPLS label, and the MPLS-encapsulated frames must remain tagged with the originating VLAN ID.

The port-based service interface is a special case of the VLAN bundle service interface, where all of the VLANs on the port are mapped to the same VPWS service instance identifier, and the procedures are identical.

The VLAN-aware bundle service interface is not used in EVPN-VPWS. In EVPN it maps to a VLAN-based service interface, and in EVPN-VPWS the same is true, so defining data-plane and control-plane behaviour for it would give the same result as the VLAN-based service.

Three ways of attaching the service to the customer are defined. One VLAN on one port, a group of VLANs on one port, or every VLAN on a port. The first allows the VLAN number to differ at the two ends and the PE translates it; the other two do not, because the label alone must be enough to pick the right port.

The service interfaces used by EVPN-VPWS
  • VLAN-basedOne VLAN on one interface maps to one service instance. The VLAN ID may differ at the two ends, and the disposition PE translates it.
  • VLAN bundleA group of VLANs on one interface maps to one service instance. Each VLAN has a single ID and no translation is allowed.
  • Port-basedA special case of the VLAN bundle, where every VLAN on the port maps to the same service instance.

§3BGP Extensions

The document specifies the use of the per-EVPN-instance Ethernet auto-discovery route to signal VPWS services. The Ethernet Segment Identifier field is set to the customer Ethernet Segment, and the 32-bit Ethernet Tag ID field must be set to the VPWS service instance identifier value. That value may be set to a 24-bit value, and when a 24-bit value is used it must be right-aligned. For both EPL and EVPL services using a given VPWS service instance, the pair of PEs instantiating that instance will each advertise a per-EVPN-instance Ethernet auto-discovery route with its VPWS service instance identifier, and will each be configured with the other PE's identifier. When each PE has received the other PE's route, the VPWS service instance is instantiated. The same VPWS service instance identifier may be configured on both PEs.

The Route Target extended community with which the per-EVPN-instance route is tagged identifies the EVPN instance in which the VPWS service instance is configured. It is the operator's choice how many and which VPWS service instances are configured in a given EVPN instance. However, a given EVPN instance must not be configured with both VPWS service instances and standard EVPN multipoint services.

A new extended community is defined to be included with the per-EVPN-instance Ethernet auto-discovery routes, and this attribute is mandatory if multihoming is enabled. It is eight octets long: a two-octet Type and Sub-Type field with type 0x06 and sub-type 0x04, a two-octet Control Flags field, a two-octet L2 MTU field, and two reserved octets. The control flags are a two-octet field in which the remaining bits must be set to zero when sending and must be ignored when receiving. The P flag, if set to 1 in multihoming single-active scenarios, indicates that the advertising PE is the primary PE, and must be set to 1 by all active PEs in multihoming all-active scenarios. The B flag, if set to 1 in multihoming single-active scenarios, indicates that the advertising PE is the backup PE. The C flag, if set to 1, means a control word must be present when sending EVPN packets to this PE, and it is recommended that the control word be included in the absence of an entropy label.

The L2 MTU is a two-octet value indicating the MTU in bytes. A received L2 MTU of zero means that no MTU checking against the local MTU is needed. A received non-zero MTU must be checked against the local MTU, and if there is a mismatch the local PE must not add the remote PE as the EVPN destination for the corresponding VPWS service instance. The usage of the per-Ethernet-Segment auto-discovery route is unchanged from RFC 7432: the single-active bit in the flags of the ESI Label extended community indicates whether single-active or all-active redundancy is used for that Ethernet Segment.

Each service instance is announced with an ordinary EVPN route whose Ethernet Tag field holds the instance number, and the label in that route is the label to send traffic to. A new eight-octet extended community travels with the route. Three of its flag bits say whether this PE is the primary, the backup, or whether packets to it must carry a control word, and a two-octet field carries the largest frame the far end can take.

The EVPN Layer 2 Attributes extended community (Figure 1 of RFC 8214)
EVPN Layer 2 Attributes extended community
FieldNameSizeValueDescription
TYPE-SUBTYPEType / Sub-Type2 bytes0x06 / 0x04Type 0x06, sub-type 0x04.
CONTROL-FLAGSControl Flags2 bytesThe P, B and C flags; the remaining bits must be zero when sending.
L2-MTUL2 MTU2 bytesThe MTU in bytes. Zero means no MTU check is needed.
RESERVEDReserved2 bytesReserved octets.
The EVPN Layer 2 Attributes control flags
  • PPrimary — The advertising PE is the primary PE. Set by all active PEs in All-Active scenarios.
  • BBackup — The advertising PE is the backup PE, in Single-Active scenarios.
  • CControl word — A control word must be present when sending EVPN packets to this PE.

§4Operation

The deployment model has a customer edge device at each end of the service, each attached to two provider edges, with autonomous system border routers between the provider edges. iBGP sessions are established between PE1, PE2, ASBR1 and ASBR3, possibly via a BGP route reflector, and similarly among PE3, PE4, ASBR2 and ASBR4. eBGP sessions are established among the ASBRs. All PEs and ASBRs are enabled for the EVPN Subsequent Address Family Identifier and exchange per-EVPN-instance Ethernet auto-discovery routes, one route per VPWS service instance. For inter-AS option B, the ASBRs re-advertise these routes with the NEXT_HOP attribute set to their own IP addresses.

The link between the customer edge and the PE is either a customer-tagged or service-tagged interface that can carry a single VLAN tag or two nested VLAN tags, configured as a trunk with multiple VLANs, one per VPWS service instance. The VLAN ID used by the customer at either end to identify a service instance may be different, and EVPN does not perform that translation between the two values. The MPLS label identifies the service instance, and if translation is needed it should be done by the Ethernet interface for each service.

For a single-homed customer edge, in an advertised per-EVPN-instance route the Ethernet Segment Identifier field is set to zero and the Ethernet Tag ID is set to the VPWS service instance identifier. For a multihomed customer edge, the Ethernet Segment Identifier field is set to the customer's ESI and the Ethernet Tag ID is set to the VPWS service instance identifier, which must have the same value on all PEs attached to that Ethernet Segment. This allows an ingress PE in a multihoming all-active scenario to perform flow-based load-balancing of traffic flows to all of the PEs attached to that segment. In all cases traffic follows the transport paths, which may be asymmetric.

Either the VPWS service instance identifier encoded in the Ethernet Tag ID must be unique across all autonomous systems, or an ASBR needs to perform a translation when the route is re-advertised from one AS to the other. A per-Ethernet-Segment auto-discovery route can be used for mass withdraw, to withdraw all the per-EVPN-instance routes associated with the multihomed site on a given PE.

In a multihoming all-active scenario there is no Designated Forwarder election, and all the PEs in the segment that are active and ready to forward traffic set the P flag. A remote PE does per-flow load-balancing to the PEs that set the P flag for the same Ethernet Tag and ESI. The B flag should not be set in the all-active scenario and must be ignored by receivers if set. In a multihoming single-active scenario for a given VPWS service instance, the Designated Forwarder election should result in the primary-elected PE advertising the P flag set and the B flag clear, the backup-elected PE advertising the P flag clear and the B flag set, and the other PEs in the same segment signalling both clear. When the primary fails, it withdraws the associated Ethernet auto-discovery routes for the service instance, and the remote PE then sends traffic to the backup PE. Designated Forwarder re-election happens between the PEs in the same segment, and the newly elected primary and backup signal the flags as described. A remote PE should receive the P flag set from only one primary PE and the B flag set from only one backup PE, but during transients it selects the last advertising PE. A remote PE must receive the P flag set from at least one PE before forwarding traffic. If a network uses entropy labels, the C flag must not be set and the control word must not be used when sending EVPN-encapsulated packets over a point-to-point LSP.

Each end of the service advertises its own route and is configured with the other end's identifier, so the service comes into being when both sides have heard from the other. When a customer site is connected to more than one provider router, the flag bits tell the far end which of them is active, and the far end can spread traffic over all of them if the site is set to all-active.

§5EVPN Compared with PW Signalling

In EVPN, service endpoint discovery and label signalling are done concurrently using BGP, whereas with VPWS based on RFC 4448, label signalling is done via LDP and service endpoint discovery is either through manual provisioning or through BGP.

In existing implementations of VPWS using pseudowires, redundancy is limited to single-active mode, while with EVPN implementations of VPWS, both single-active and all-active redundancy modes can be supported. In existing implementations with pseudowires, backup pseudowires are not used to carry traffic, while with EVPN traffic can be load-balanced among the different PEs multihomed to a single customer edge.

Upon link or node failure, EVPN can trigger failover with the withdrawal of a single BGP route per EVPL service, or multiple EVPL services, whereas with VPWS pseudowire redundancy the failover sequence requires the exchange of two control-plane messages: one to deactivate the group of primary pseudowires and a second to activate the group of backup pseudowires associated with the access link.

Finally, EVPN may employ data-plane egress link protection mechanisms not available in VPWS. This can be done by the primary PE, on a local Attachment Circuit going down, using the label advertised in the per-EVPN-instance route by the backup PE to encapsulate the traffic and direct it to the backup PE.

The old way needed two signalling systems: one to find the far end and another to set up the label. EVPN does both with BGP. The old way also only had one working path, with a spare that stood by unused, and switching to it took two messages. EVPN withdraws a route and traffic moves, and the spare path can carry traffic alongside the primary.

EVPN-VPWS compared with pseudowire signalling
AspectEVPN-VPWSVPWS with PW signalling
Discovery and labellingBoth done with BGPLabels with LDP, discovery by manual provisioning or BGP
Redundancy modesSingle-Active and All-ActiveSingle-Active only
Use of the spare pathTraffic can be balanced over all PEs multihomed to one CEBackup PWs do not carry traffic
FailoverWithdraw one BGP route per serviceTwo control-plane messages to switch primary and backup groups

§6Failure Scenarios

On a link or port failure between the customer edge and the PE, for both single-homed and multihomed customer edges, unlike RFC 7432 the PE must withdraw all the associated Ethernet auto-discovery routes for the VPWS service instances on the failed port or link.

For single-homed customer edges, EVPN-VPWS uses Ethernet auto-discovery route advertisements for single-homed Ethernet Segments, so upon a link or port failure of a given single-homed segment the PE must withdraw the associated per-EVPN-instance routes.

For multihomed customer edges, and for faster convergence with either single-active or all-active redundancy, a mass withdraw technique is used. A PE previously advertising a per-Ethernet-Segment auto-discovery route can withdraw this route by signalling to the remote PEs to switch all the VPWS service instances associated with that multihomed segment to the backup PE. Just as in RFC 7432, the Ethernet auto-discovery per-EVPN-instance route must not be used for traffic forwarding by a remote PE until it also receives the associated set of per-Ethernet-Segment routes.

When the link to the customer drops, the provider router withdraws the routes for the services on that link. For a customer connected to two routers, the segment route is withdrawn instead, which tells the far end to send everything to the surviving router.

§7Security Considerations

The mechanisms in this document use the EVPN control plane as defined in RFC 7432, and the security considerations described there are equally applicable. The document uses MPLS and IP-based tunnel technologies to support data-plane transport, and the security considerations described in RFC 7432 and in the EVPN overlay work are equally applicable. The document defines no new security considerations of its own.

Nothing new is introduced: the signalling is EVPN, and the tunnels are the usual MPLS or IP tunnels, so the security rules that already apply to EVPN apply here.

§8IANA Considerations

IANA has allocated the EVPN extended community sub-type 0x04 for the EVPN Layer 2 Attributes. The document also creates a registry called EVPN Layer 2 Attributes Control Flags, in which new registrations are made through the RFC Required procedure defined in RFC 8126. The initial registrations are P, for an advertising PE that is the primary PE, B, for an advertising PE that is the backup PE, and C, for a control word that must be present.

One new extended community number is reserved for these attributes, and the three flag bits inside it are registered so that everyone uses the same names for them.

§9References