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.
Boutros, S., Sajassi, A., Salam, S., Drake, J., and J. Rabadan, "Virtual Private Wire Service Support in Ethernet VPN", RFC 8214, DOI 10.17487/RFC8214, August 2017, <https://www.rfc-editor.org/info/rfc8214>.
@misc{rfc8214,
series = {Request for Comments},
number = 8214,
howpublished = {RFC 8214},
publisher = {RFC Editor},
doi = {10.17487/RFC8214},
url = {https://www.rfc-editor.org/info/rfc8214},
author = {S. Boutros and A. Sajassi and S. Salam and J. Drake and J. Rabadan},
title = {{Virtual Private Wire Service Support in Ethernet VPN}},
pagetotal = 17,
year = 2017,
month = aug,
} RFC text
Contents
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
§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.
- 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.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
TYPE-SUBTYPE | Type / Sub-Type | 2 bytes | 0x06 / 0x04 | Type 0x06, sub-type 0x04. |
CONTROL-FLAGS | Control Flags | 2 bytes | The P, B and C flags; the remaining bits must be zero when sending. | |
L2-MTU | L2 MTU | 2 bytes | The MTU in bytes. Zero means no MTU check is needed. | |
RESERVED | Reserved | 2 bytes | Reserved octets. |
- 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.
| Aspect | EVPN-VPWS | VPWS with PW signalling |
|---|---|---|
| Discovery and labelling | Both done with BGP | Labels with LDP, discovery by manual provisioning or BGP |
| Redundancy modes | Single-Active and All-Active | Single-Active only |
| Use of the spare path | Traffic can be balanced over all PEs multihomed to one CE | Backup PWs do not carry traffic |
| Failover | Withdraw one BGP route per service | Two 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.