Seamless Integration of Ethernet VPN (EVPN) with Virtual Private LAN Service (VPLS) and Their Provider Backbone Bridge (PBB) Equivalents
How new EVPN routers can join an existing VPLS network without touching the old routers.
Sajassi, A., Ed., Salam, S., Del Regno, N., and J. Rabadan, "Seamless Integration of Ethernet VPN (EVPN) with Virtual Private LAN Service (VPLS) and Their Provider Backbone Bridge (PBB) Equivalents", RFC 8560, DOI 10.17487/RFC8560, May 2019, <https://www.rfc-editor.org/info/rfc8560>.
@misc{rfc8560,
series = {Request for Comments},
number = 8560,
howpublished = {RFC 8560},
publisher = {RFC Editor},
doi = {10.17487/RFC8560},
url = {https://www.rfc-editor.org/info/rfc8560},
author = {A. Sajassi and S. Salam and N. Del Regno and J. Rabadan},
title = {{Seamless Integration of Ethernet VPN (EVPN) with Virtual Private LAN Service (VPLS) and Their Provider Backbone Bridge (PBB) Equivalents}},
pagetotal = 16,
year = 2019,
month = may,
} RFC text
Contents
Internet Engineering Task Force (IETF) A. Sajassi, Ed.
Request for Comments: 8560 S. Salam
Category: Standards Track Cisco
ISSN: 2070-1721 N. Del Regno
Verizon
J. Rabadan
Nokia
May 2019
Seamless Integration of Ethernet VPN (EVPN) with
Virtual Private LAN Service (VPLS) and
Their Provider Backbone Bridge (PBB) Equivalents
Abstract
This document specifies mechanisms for backward compatibility of
Ethernet VPN (EVPN) and Provider Backbone Bridge Ethernet VPN
(PBB-EVPN) solutions with Virtual Private LAN Service (VPLS) and
Provider Backbone Bridge VPLS (PBB-VPLS) solutions. It also provides
mechanisms for the seamless integration of these two technologies in
the same MPLS/IP network on a per-VPN-instance basis. Implementation
of this document enables service providers to introduce EVPN/PBB-EVPN
Provider Edges (PEs) in their brownfield deployments of VPLS/PBB-VPLS
networks. This document specifies the control-plane and forwarding
behavior needed for the auto-discovery of the following: 1) a VPN
instance, 2) multicast and unicast operation, and 3) a Media Access
Control (MAC) mobility operation. This enables seamless integration
between EVPN and VPLS PEs as well as between PBB-VPLS and PBB-EVPN
PEs.
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/rfc8560.
Copyright Notice
Copyright (c) 2019 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. Specification of Requirements . . . . . . . . . . . . . . 4
1.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6
2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 6
3. VPLS Integration with EVPN . . . . . . . . . . . . . . . . . 7
3.1. Capability Discovery . . . . . . . . . . . . . . . . . . 7
3.2. Forwarding Setup and Unicast Operation . . . . . . . . . 8
3.3. MAC Mobility . . . . . . . . . . . . . . . . . . . . . . 9
3.4. Multicast Operation . . . . . . . . . . . . . . . . . . . 10
3.4.1. Ingress Replication . . . . . . . . . . . . . . . . . 10
3.4.2. P2MP Tunnel . . . . . . . . . . . . . . . . . . . . . 10
4. PBB-VPLS Integration with PBB-EVPN . . . . . . . . . . . . . 10
4.1. Capability Discovery . . . . . . . . . . . . . . . . . . 11
4.2. Forwarding Setup and Unicast Operation . . . . . . . . . 11
4.3. MAC Mobility . . . . . . . . . . . . . . . . . . . . . . 12
4.4. Multicast Operation . . . . . . . . . . . . . . . . . . . 12
4.4.1. Ingress Replication . . . . . . . . . . . . . . . . . 12
4.4.2. P2MP Tunnel: Inclusive Tree . . . . . . . . . . . . . 13
5. Security Considerations . . . . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1. Normative References . . . . . . . . . . . . . . . . . . 14
7.2. Informative References . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction
Virtual Private LAN Service (VPLS) and Provider Backbone Bridging
VPLS (PBB-VPLS) are widely deployed Layer 2 VPN (L2VPN) technologies.
Many service providers who are looking at adopting Ethernet VPN
(EVPN) and Provider Backbone Bridging EVPN (PBB-EVPN) want to
preserve their investments in the VPLS and PBB-VPLS networks. Hence,
they require mechanisms by which EVPN and PBB-EVPN technologies can
be introduced into their brownfield VPLS and PBB-VPLS networks
without requiring any upgrades (software or hardware) to these
networks. This document specifies procedures for the seamless
integration of the two technologies in the same MPLS/IP network.
Throughout this document, we use the term "(PBB-)EVPN" to correspond
to both EVPN and PBB-EVPN, and we use the term "(PBB-)VPLS" to
correspond to both VPLS and PBB-VPLS. This document specifies the
control-plane and forwarding behavior needed for 1) auto-discovery of
a VPN instance, 2) multicast and unicast operations, and 3) a MAC
mobility operation. This enables seamless integration between
(PBB-)EVPN Provider Edge (PE) devices and (PBB-)VPLS PEs.
VPLS PE
+---+
|PE1|
+---+
/
EVPN/VPLS PE +---------------+ EVPN/VPLS PE
+---+ | | +---+
|PE4|----| MPLS/IP |---|PE5|
+---+ | Core | +---+
| |
+---------------+
/ \
+---+ +---+
|PE2| |PE3|
+---+ +---+
VPLS PE VPLS PE
Figure 1: Seamless Integration of (PBB-)EVPN and (PBB-)VPLS
Section 2 provides the details of the requirements. Section 3
specifies procedures for the seamless integration of VPLS and EVPN
networks. Section 4 specifies procedures for the seamless
integration of PBB-VPLS and PBB-EVPN networks.
It should be noted that the scenarios for both PBB-VPLS integration
with EVPN and VPLS integration with PBB-EVPN are not covered in this
document because there haven't been any requirements from service
providers for these scenarios; deployments that employ PBB-VPLS
typically require PBB encapsulation for various reasons. Hence, it
is expected that for those deployments, the evolution path would move
from PBB-VPLS towards PBB-EVPN. Furthermore, the evolution path from
VPLS is expected to move towards EVPN.
The seamless integration solution described in this document has the
following attributes:
- When ingress replication is used for multi-destination traffic
delivery, the solution reduces the scope of MMRP (which is a soft-
state protocol defined in Clause 10 of [IEEE.802.1Q]) to only that
of existing VPLS PEs and uses the more robust BGP-based mechanism
for multicast pruning among new EVPN PEs.
- It is completely backward compatible.
- New PEs can leverage the extensive multihoming mechanisms and
provisioning simplifications of (PBB-)EVPN:
(a) Auto-sensing of Multihomed Networks (MHNs) / Multihomed
Devices (MHDs)
(b) Auto-discovery of redundancy groups
(c) Auto-provisioning of Designated Forwarder election and VLAN
carving
1.1. Specification of Requirements
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.
1.2. Abbreviations
B-MAC: Backbone MAC, e.g., the PE's MAC address
C-MAC: Customer MAC, e.g., a host or CE's MAC address
CE: A Customer Edge device, e.g., a host, router, or switch
ES: Ethernet Segment -- refers to the set of Ethernet links
that connects a customer site (device or network) to one
or more PEs
FEC: Forwarding Equivalence Class
FIB: Forwarding Information Base -- an instantiation of a
forwarding table on a MAC-VRF
I-SID: Service Instance Identifier
LSP: Label Switched Path
MAC: Media Access Control
MAC-VRF: A Virtual Routing and Forwarding table for Media Access
Control (MAC) addresses on an EVPN PE
MHD: Multihomed Device
MHN: Multihomed Network
MP2P: Multipoint to Point -- an MP2P LSP typically refers to an
LSP for unicast traffic as the result of a downstream-
assigned label
P2MP: Point to Multipoint -- a P2MP LSP typically refers to an
LSP for multicast traffic
PBB: Provider Backbone Bridge
(PBB-)EVPN: Both PBB-EVPN and EVPN -- this document uses this
abbreviation when a given description applies to both
technologies
(PBB-)VPLS: Both PBB-VPLS and VPLS -- this document uses this
abbreviation when a given description applies to both
technologies
PE: Provider Edge device
PW: Pseudowire
RIB: Routing Information Base -- an instantiation of a routing
table on a MAC-VRF
VSI: Virtual Switch Instance
VPLS: Virtual Private LAN Service
VPLS A-D: Virtual Private LAN Service with BGP-based auto-discovery
as in [RFC6074]
1.3. Terminology
All-Active redundancy mode: When all PEs attached to an Ethernet
segment are allowed to forward known unicast traffic to/from that
Ethernet segment for a given VLAN, then the Ethernet segment is
defined as operating in All-Active redundancy mode.
Bridge table: An instantiation of a broadcast domain on a MAC-VRF
(VPN Routing and Forwarding).
Broadcast domain: In a bridged network, the broadcast domain
corresponds to a Virtual LAN (VLAN), where a VLAN is typically
represented by a single VLAN ID (VID) but can be represented by
several VIDs where Shared VLAN Learning (SVL) is used, per
[IEEE.802.1Q].
Ethernet Tag: An Ethernet Tag identifies a particular broadcast
domain, e.g., a VLAN. An EVPN instance consists of one or more
broadcast domains.
Single-Active redundancy mode: When only a single PE, among all the
PEs attached to an Ethernet segment, is allowed to forward traffic
to/from that Ethernet segment for a given VLAN, then the Ethernet
segment is defined as operating in Single-Active redundancy mode.
2. Requirements
The following are the key requirements for backward compatibility
between (PBB-)EVPN and (PBB-)VPLS:
1. The solution must allow for staged migration towards (PBB-)EVPN
on a site-by-site basis per VPN instance, e.g., new EVPN sites to
be provisioned on (PBB-)EVPN Provider Edge devices (PEs).
2. The solution must not require any changes to existing VPLS or
PBB-VPLS PEs, not even a software upgrade.
3. The solution must allow for the coexistence of PE devices running
(PBB-)EVPN and (PBB-)VPLS for the same VPN instance and single-
homed segments.
4. The solution must support single-active redundancy of multihomed
networks and multihomed devices for (PBB-)EVPN PEs.
5. In cases of single-active redundancy, the participant VPN
instances may span across both (PBB-)EVPN PEs and (PBB-)VPLS PEs
as long as the MHD or MHN is connected to (PBB-)EVPN PEs.
6. Support of the All-Active redundancy mode across both (PBB-)EVPN
PEs and (PBB-)VPLS PEs is outside the scope of this document.
All-Active redundancy is not applicable to VPLS and PBB-VPLS.
Therefore, when EVPN (or PBB-EVPN) PEs need to operate seamlessly
with VPLS (or PBB-VPLS) PEs, they MUST use a redundancy mode that
is applicable to VPLS (or PBB-VPLS). This redundancy mode is
Single-Active.
These requirements collectively allow for the seamless insertion of
(PBB-)EVPN technology into brownfield (PBB-)VPLS deployments.
3. VPLS Integration with EVPN
In order to support seamless integration with VPLS PEs, this document
requires that VPLS PEs support VPLS A-D per [RFC6074], and it
requires EVPN PEs to support both BGP EVPN routes per [RFC7432] and
VPLS A-D per [RFC6074]. All the logic for seamless integration shall
reside on the EVPN PEs. If a VPLS instance is set up without the use
of VPLS A-D, it is still possible (but cumbersome) for EVPN PEs to
integrate that VPLS instance by manually configuring pseudowires
(PWs) to all the VPLS PEs in that instance (i.e., the integration is
no longer seamless).
3.1. Capability Discovery
The EVPN PEs MUST advertise both the BGP VPLS auto-discovery (A-D)
route as well as the BGP EVPN Inclusive Multicast Ethernet Tag (IMET)
route for a given VPN instance. The VPLS PEs only advertise the BGP
VPLS A-D route, per the procedures specified in [RFC4761], [RFC4762]
and [RFC6074]. The operator may decide to use the same Route Target
(RT) to identify a VPN on both EVPN and VPLS networks. In this case,
when a VPLS PE receives the EVPN IMET route, it MUST ignore it on the
basis that it belongs to an unknown Subsequent Address Family
Identifier (SAFI). However, the operator may choose to use two RTs
-- one to identify the VPN on the VPLS network and another for the
EVPN network -- and employ RT Constrain mechanisms [RFC4684] in order
to prevent BGP EVPN routes from reaching the VPLS PEs.
When an EVPN PE receives both a VPLS A-D route as well as an EVPN
IMET route from a given remote PE for the same VPN instance, it MUST
give preference to the EVPN route for the purpose of discovery. This
ensures that, at the end of the route exchanges, all EVPN-capable PEs
discover other EVPN-capable PEs in addition to the VPLS-only PEs for
that VPN instance. Furthermore, all the VPLS-only PEs will discover
the EVPN PEs as if they were standard VPLS PEs. In other words, when
the discovery phase is complete, the EVPN PEs will have discovered
all the PEs in the VPN instance along with their associated
capability (EVPN or VPLS-only), whereas the VPLS PEs will have
discovered all the PEs in the VPN instance as if they were all VPLS-
only PEs.
3.2. Forwarding Setup and Unicast Operation
The procedures for the forwarding state setup and unicast operation
on the VPLS PE are per [RFC8077], [RFC4761], and [RFC4762].
The procedures for forwarding state setup and unicast operation on
the EVPN PE are as follows:
- The EVPN PE MUST establish a PW to each remote PE from which it
has received only a VPLS A-D route for the corresponding VPN
instance and MUST set up the label stack corresponding to the PW
FEC. For seamless integration between EVPN and VPLS PEs, the PW
that is set up between a pair of VPLS and EVPN PEs is between the
VSI of the VPLS PE and the MAC-VRF of the EVPN PE.
- The EVPN PE MUST set up the label stack corresponding to the MP2P
VPN unicast FEC to any remote PE that has advertised an EVPN IMET
route.
- If an EVPN PE receives a VPLS A-D route from a given PE, it sets
up a PW to that PE. If it then receives an EVPN IMET route from
the same PE, the EVPN PE MUST bring that PW operationally down.
- If an EVPN PE receives an EVPN IMET route followed by a VPLS A-D
route from the same PE, then the EVPN PE will set up the PW but
MUST keep it operationally down.
- In case VPLS A-D is not used in some VPLS PEs, the EVPN PEs need
to be provisioned manually with PWs to those remote VPLS PEs for
each VPN instance. In that case, if an EVPN PE receives an EVPN
IMET route from a PE to which a PW exists, the EVPN PE MUST bring
the PW operationally down.
When the EVPN PE receives traffic over the VPLS PWs, it learns the
associated C-MAC addresses in the data plane. The C-MAC addresses
learned over these PWs MUST be injected into the bridge table of the
associated MAC-VRF on that EVPN PE. The learned C-MAC addresses MAY
also be injected into the RIB/FIB tables of the associated MAC-VRF on
that EVPN PE. For seamless integration between EVPN and VPLS PEs,
because these PWs belong to the same split-horizon group (see
[RFC4761] and [RFC4762]) as the MP2P EVPN service tunnels, the C-MAC
addresses learned and associated with the PWs MUST NOT be advertised
in the control plane to any remote EVPN PEs. This is because every
EVPN PE can send and receive traffic directly to/from every VPLS PE
belonging to the same VPN instance; thus, every EVPN PE can learn the
C-MAC addresses over the corresponding PWs directly.
The C-MAC addresses learned over local Attachment Circuits (ACs) by
an EVPN PE are learned in the data plane. For EVPN PEs, these C-MAC
addresses MUST be injected into the corresponding MAC-VRF and
advertised in the control plane using BGP EVPN routes. Furthermore,
the C-MAC addresses learned in the control plane via the BGP EVPN
routes sent by remote EVPN PEs are injected into the corresponding
MAC-VRF table.
In case of a link failure in a single-active Ethernet segment, the
EVPN PEs MUST perform both of the following tasks:
1. send a BGP mass withdraw to the EVPN peers
2. follow existing VPLS MAC Flush procedures with the VPLS peers
3.3. MAC Mobility
In EVPN, host addresses (C-MAC addresses) can move around among EVPN
PEs or even between EVPN and VPLS PEs.
When a C-MAC address moves from an EVPN PE to a VPLS PE, as soon as
Broadcast, Unknown Unicast, and Multicast (BUM) traffic is initiated
from that MAC address, it is flooded to all other PEs (both VPLS and
EVPN PEs), and the receiving PEs update their MAC tables (VSI or
MAC-VRF). The EVPN PEs do not advertise the C-MAC addresses learned
over the PW to each other because every EVPN PE learns them directly
over its associated PW to that VPLS PE. If only known unicast
traffic is initiated from the moved C-MAC address toward a known
C-MAC, the result can be the black-holing of traffic destined to the
C-MAC that has moved until there is BUM traffic that has been
originated with the moved C-MAC address as the source MAC address
(e.g., as a result of the MAC age-out timer expiring). Such
black-holing happens for traffic destined to the moved C-MAC from
both EVPN and VPLS PEs and is typical for VPLS PEs.
When a C-MAC address moves from a VPLS PE to an EVPN PE, then as soon
as any traffic is initiated from that C-MAC address, the C-MAC is
learned and advertised in the BGP to other EVPN PEs, and the MAC
mobility procedure is performed among EVPN PEs. For BUM traffic,
both EVPN and VPLS PEs learn the new location of the moved C-MAC
address; however, if there is only known unicast traffic, then only
EVPN PEs learn the new location of the C-MAC that has moved and not
VPLS PEs. This can result in the black-holing of traffic sent from
VPLS PEs destined to the C-MAC that has moved until there is BUM
traffic originated with the moved C-MAC address as the source MAC
address (e.g., as a result of the MAC age-out timer expiring). Such
black-holing happens for traffic destined to the moved C-MAC for only
VPLS PEs but not for EVPN PEs and is typical for VPLS PEs.
3.4. Multicast Operation
3.4.1. Ingress Replication
The procedures for multicast operation on the VPLS PE using ingress
replication are per [RFC4761], [RFC4762], and [RFC7080].
The procedures for multicast operation on the EVPN PE for ingress
replication are as follows:
- The EVPN PE builds a replication sub-list to all the remote EVPN
PEs per EVPN instance as the result of the exchange of the EVPN
IMET routes per [RFC7432]. This will be referred to as sub-list
A. It comprises MP2P service tunnels (for ingress replication)
used for delivering EVPN BUM traffic [RFC7432].
- The EVPN PE builds a replication sub-list per VPLS instance to all
the remote VPLS PEs. This will be referred to as sub-list B. It
comprises PWs from the EVPN PE in question to all the remote VPLS
PEs in the same VPLS instance.
The replication list, maintained per VPN instance, on a given EVPN PE
will be the union of sub-list A and sub-list B. The EVPN PE MUST
enable split horizon over all the entries in the replication list
across both PWs and MP2P service tunnels.
3.4.2. P2MP Tunnel
The procedures for multicast operation on the EVPN PEs using P2MP
tunnels are outside of the scope of this document.
4. PBB-VPLS Integration with PBB-EVPN
In order to support seamless integration between PBB-VPLS and
PBB-EVPN PEs, this document requires that PBB-VPLS PEs support VPLS
A-D per [RFC6074] and PBB-EVPN PEs support both BGP EVPN routes per
[RFC7432] and VPLS A-D per [RFC6074]. All the logic for this
seamless integration shall reside on the PBB-EVPN PEs.
4.1. Capability Discovery
The procedures for capability discovery are per Section 3.1.
4.2. Forwarding Setup and Unicast Operation
The procedures for forwarding state setup and unicast operation on
the PBB-VPLS PE are per [RFC8077] and [RFC7080].
The procedures for forwarding state setup and unicast operation on
the PBB-EVPN PE are as follows:
- The PBB-EVPN PE MUST establish a PW to each remote PBB-VPLS PE
from which it has received only a VPLS A-D route for the
corresponding VPN instance and MUST set up the label stack
corresponding to the PW FEC. For seamless integration between
PBB-EVPN and PBB-VPLS PEs, the PW that is set up between a pair of
PBB-VPLS and PBB-EVPN PEs is between the B-components of PBB-EVPN
PE and PBB-VPLS PE per Section 4 of [RFC7041].
- The PBB-EVPN PE MUST set up the label stack corresponding to the
MP2P VPN unicast FEC to any remote PBB-EVPN PE that has advertised
an EVPN IMET route.
- If a PBB-EVPN PE receives a VPLS A-D route from a given PE, it
sets up a PW to that PE. If it then receives an EVPN IMET route
from the same PE, the PBB-EVPN PE MUST bring that PW operationally
down.
- If a PBB-EVPN PE receives an EVPN IMET route followed by a VPLS
A-D route from the same PE, then the PBB-EVPN PE will set up the
PW but MUST keep it operationally down.
- In case VPLS A-D is not used in some PBB-VPLS PEs, the PBB-EVPN
PEs need to be provisioned manually with PWs to those remote
PBB-VPLS PEs for each VPN instance. In that case, if a PBB-EVPN
PE receives an EVPN IMET route from a PE to which a PW exists, the
PBB-EVPN PE MUST bring the PW operationally down.
- When the PBB-EVPN PE receives traffic over the PBB-VPLS PWs, it
learns the associated B-MAC addresses in the data plane. The
B-MAC addresses learned over these PWs MUST be injected into the
bridge table of the associated MAC-VRF on that PBB-EVPN PE. The
learned B-MAC addresses MAY also be injected into the RIB/FIB
tables of the associated MAC-VRF on that BPP-EVPN PE. For
seamless integration between PBB-EVPN and PBB-VPLS PEs, since
these PWs belong to the same split-horizon group as the MP2P EVPN
service tunnels, the B-MAC addresses learned and associated with
the PWs MUST NOT be advertised in the control plane to any remote
PBB-EVPN PEs. This is because every PBB-EVPN PE can send and
receive traffic directly to/from every PBB-VPLS PE belonging to
the same VPN instance.
- The C-MAC addresses learned over local Attachment Circuits (ACs)
by a PBB-EVPN PE are learned in the data plane. For PBB-EVPN PEs,
these C-MAC addresses are learned in the I-component of PBB-EVPN
PEs and are not advertised in the control plane, per [RFC7623].
- The B-MAC addresses learned in the control plane via the BGP EVPN
routes sent by remote PBB-EVPN PEs are injected into the
corresponding MAC-VRF table.
In case of a link failure in a single-active Ethernet segment, the
PBB-EVPN PEs MUST perform both of the following tasks:
1. send a BGP B-MAC withdraw message to the PBB-EVPN peers *or* MAC
advertisement with the MAC Mobility extended community
2. follow existing VPLS MAC Flush procedures with the PBB-VPLS peers
4.3. MAC Mobility
In PBB-EVPN, a given B-MAC address can be learned either over the BGP
control plane from a remote PBB-EVPN PE or in the data plane over a
PW from a remote PBB-VPLS PE. There is no mobility associated with
B-MAC addresses in this context. Hence, when the same B-MAC address
shows up behind both a remote PBB-VPLS PE as well as a PBB-EVPN PE,
the local PE can deduce that it is an anomaly and SHOULD notify the
operator.
4.4. Multicast Operation
4.4.1. Ingress Replication
The procedures for multicast operation on the PBB-VPLS PE using
ingress replication are per [RFC7041] and [RFC7080].
The procedures for multicast operation on the PBB-EVPN PE for ingress
replication are as follows:
- The PBB-EVPN PE builds a replication sub-list per I-SID to all the
remote PBB-EVPN PEs in a given VPN instance as a result of the
exchange of the EVPN IMET routes, as described in [RFC7623]. This
will be referred to as sub-list A. It comprises MP2P service
tunnels used for delivering PBB-EVPN BUM traffic.
- The PBB-EVPN PE builds a replication sub-list per VPN instance to
all the remote PBB-VPLS PEs. This will be referred to as sub-list
B. It comprises PWs from the PBB-EVPN PE in question to all the
remote PBB-VPLS PEs in the same VPN instance.
- The PBB-EVPN PE may further prune sub-list B on a per-I-SID basis
by running MMRP (see Clause 10 of [IEEE.802.1Q]) over the PBB-VPLS
network. This will be referred to as sub-list C. This list
comprises a pruned set of the PWs in sub-list B.
The replication list maintained per I-SID on a given PBB-EVPN PE will
be the union of sub-list A and sub-list B if MMRP is not used and the
union of sub-list A and sub-list C if MMRP is used. Note that the PE
MUST enable split horizon over all the entries in the replication
list, across both pseudowires and MP2P service tunnels.
4.4.2. P2MP Tunnel: Inclusive Tree
The procedures for multicast operation on the PBB-EVPN PEs using P2MP
tunnels are outside of the scope of this document.
5. Security Considerations
All the security considerations in [RFC4761], [RFC4762], [RFC7080],
[RFC7432], and [RFC7623] apply directly to this document because it
leverages the control-plane and data-plane procedures described in
those RFCs.
This document does not introduce any new security considerations
beyond those of the above RFCs because the advertisements and
processing of MAC addresses in BGP follow [RFC7432], and the
processing of MAC addresses learned over PWs follows [RFC4761],
[RFC4762], and [RFC7080].
6. IANA Considerations
This document has no IANA actions.
7. References
7.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>.
[RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private
LAN Service (VPLS) Using BGP for Auto-Discovery and
Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007,
<https://www.rfc-editor.org/info/rfc4761>.
[RFC4762] Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private
LAN Service (VPLS) Using Label Distribution Protocol (LDP)
Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007,
<https://www.rfc-editor.org/info/rfc4762>.
[RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo,
"Provisioning, Auto-Discovery, and Signaling in Layer 2
Virtual Private Networks (L2VPNs)", RFC 6074,
DOI 10.17487/RFC6074, January 2011,
<https://www.rfc-editor.org/info/rfc6074>.
[RFC7041] Balus, F., Ed., Sajassi, A., Ed., and N. Bitar, Ed.,
"Extensions to the Virtual Private LAN Service (VPLS)
Provider Edge (PE) Model for Provider Backbone Bridging",
RFC 7041, DOI 10.17487/RFC7041, November 2013,
<https://www.rfc-editor.org/info/rfc7041>.
[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>.
[RFC7623] Sajassi, A., Ed., Salam, S., Bitar, N., Isaac, A., and
W. Henderickx, "Provider Backbone Bridging Combined with
Ethernet VPN (PBB-EVPN)", RFC 7623, DOI 10.17487/RFC7623,
September 2015, <https://www.rfc-editor.org/info/rfc7623>.
[RFC8077] Martini, L., Ed. and G. Heron, Ed., "Pseudowire Setup and
Maintenance Using the Label Distribution Protocol (LDP)",
STD 84, RFC 8077, DOI 10.17487/RFC8077, February 2017,
<https://www.rfc-editor.org/info/rfc8077>.
[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>.
7.2. Informative References
[IEEE.802.1Q]
IEEE, "IEEE Standard for Local and Metropolitan Area
Network -- Bridges and Bridged Networks", IEEE
Standard 802.1Q, DOI 10.1109/IEEESTD.2018.8403927, July
2018.
[RFC4684] Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk,
R., Patel, K., and J. Guichard, "Constrained Route
Distribution for Border Gateway Protocol/MultiProtocol
Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual
Private Networks (VPNs)", RFC 4684, DOI 10.17487/RFC4684,
November 2006, <https://www.rfc-editor.org/info/rfc4684>.
[RFC7080] Sajassi, A., Salam, S., Bitar, N., and F. Balus, "Virtual
Private LAN Service (VPLS) Interoperability with Provider
Backbone Bridges", RFC 7080, DOI 10.17487/RFC7080,
December 2013, <https://www.rfc-editor.org/info/rfc7080>.
Authors' Addresses
Ali Sajassi (editor)
Cisco
Email: sajassi@cisco.com
Samer Salam
Cisco
Email: ssalam@cisco.com
Nick Del Regno
Verizon
Email: nick.delregno@verizon.com
Jorge Rabadan
Nokia
Email: jorge.rabadan@nokia.com
AI ELI5
On this page
§1Why Mix EVPN and VPLS
Virtual Private LAN Service (VPLS) and Provider Backbone Bridging VPLS (PBB-VPLS) are widely deployed Layer 2 VPN technologies. Providers who want EVPN and PBB-EVPN also want to keep their existing investment, so they need a way to add EVPN to a brownfield network without any software or hardware upgrade to it.
This RFC specifies the control-plane and forwarding behavior for three things: auto-discovery of a VPN instance, unicast and multicast operation, and MAC mobility. It uses the shorthand (PBB-)EVPN and (PBB-)VPLS to cover both flavors.
The RFC covers VPLS with EVPN (Section 3) and PBB-VPLS with PBB-EVPN (Section 4). It does not cover PBB-VPLS with EVPN or VPLS with PBB-EVPN, because providers have not asked for them. The expected evolution paths are PBB-VPLS to PBB-EVPN and VPLS to EVPN.
Some companies have an old network and want a new one. They do not want to replace everything at once, so this document lets old and new work side by side.
§2Requirements for Coexistence
The RFC sets out requirements for backward compatibility. The most important ones are:
- Migration must be possible in stages, site by site, per VPN instance.
- No change to existing VPLS or PBB-VPLS PEs is allowed, not even a software upgrade.
- (PBB-)EVPN and (PBB-)VPLS PEs must coexist for the same VPN instance and single-homed segments.
- Single-active redundancy must be supported for multihomed networks and devices on (PBB-)EVPN PEs.
All-active redundancy is not applicable to VPLS and PBB-VPLS, and support for it across both kinds of PE is outside the scope of the document. EVPN PEs that need to work with VPLS PEs MUST therefore use Single-Active mode.
The rules are: move one house at a time, never ask the old houses to change anything, and let each family have just one front door in use at a time.
§3.1Discovering Who Speaks EVPN
All the integration logic resides on the EVPN PEs. They must support BGP EVPN routes per RFC 7432 and VPLS auto-discovery (A-D) per RFC 6074. The VPLS PEs only need VPLS A-D. If a VPLS instance does not use VPLS A-D, EVPN PEs can still integrate it by manually configuring pseudowires, but the integration is then no longer seamless.
An EVPN PE MUST advertise both the BGP VPLS A-D route and the EVPN Inclusive Multicast Ethernet Tag (IMET) route for a VPN instance. VPLS PEs advertise only the VPLS A-D route. An operator may use one Route Target for both networks, in which case a VPLS PE ignores the EVPN IMET route as belonging to an unknown SAFI. Or the operator may use two Route Targets and RT Constrain (RFC 4684) to keep EVPN routes away from VPLS PEs.
When an EVPN PE receives both a VPLS A-D route and an EVPN IMET route from the same remote PE for the same VPN instance, it MUST prefer the EVPN route. After discovery, EVPN PEs know every PE and whether it is EVPN-capable or VPLS-only, while VPLS PEs see everyone as a VPLS-only PE.
New routers wave two flags, an old one and a new one. Old routers only notice the old flag. When two new routers meet, they use the new flag and ignore the old one.
- VPLS A-D routeThe VPLS PE only understands this route.
- VPLS A-D + EVPN IMET routesThe receiver prefers the EVPN route.
- VPLS A-D routeThe EVPN PE sets up a PW to this PE.
§3.2Forwarding and Unicast Operation
On the EVPN PE, the rules are:
- It MUST establish a pseudowire (PW) to each remote PE from which it has received only a VPLS A-D route. The PW runs between the VSI of the VPLS PE and the MAC-VRF of the EVPN PE.
- It MUST set up the label stack for the MP2P VPN unicast FEC to any remote PE that advertised an EVPN IMET route.
- If a VPLS A-D route arrives first and an EVPN IMET route from the same PE arrives later, the PW MUST be brought operationally down. If the IMET route comes first, the PW is set up but MUST be kept operationally down.
Customer MAC addresses (C-MACs) learned over VPLS PWs are learned in the data plane and MUST be injected into the bridge table of the MAC-VRF. They MUST NOT be advertised in the control plane to remote EVPN PEs, because every EVPN PE can talk directly to every VPLS PE and learns them itself. C-MACs learned on local attachment circuits MUST be injected into the MAC-VRF and advertised using BGP EVPN routes.
On a link failure in a single-active Ethernet segment, the EVPN PEs MUST both send a BGP mass withdraw to EVPN peers and follow the existing VPLS MAC Flush procedures with VPLS peers.
A new router builds a private hallway to each old router and uses the fast new road to other new routers. If it ever finds out an old-looking neighbor is really a new router, it closes the hallway and uses the new road.
| Peer advertised | Connection used | MACs learned from it |
|---|---|---|
| Only VPLS A-D route | Pseudowire | Learned in the data plane, not advertised in BGP |
| EVPN IMET route THIS RFC | MP2P service tunnel | Learned through BGP EVPN routes |
§3.3MAC Mobility and Multicast
Host addresses can move between EVPN PEs or between EVPN and VPLS PEs. When a C-MAC moves from an EVPN PE to a VPLS PE, broadcast, unknown unicast and multicast (BUM) traffic from that address floods to every PE, and receivers update their tables. If only known unicast traffic is sent, traffic to the moved address can be black-holed until BUM traffic from it appears, for example after the MAC age-out timer expires. The RFC notes this is typical for VPLS PEs.
When a C-MAC moves from a VPLS PE to an EVPN PE, the address is learned and advertised in BGP, and the MAC mobility procedure runs among EVPN PEs. VPLS PEs may keep stale information and black-hole traffic until BUM traffic from the moved address arrives.
For multicast with ingress replication, the EVPN PE keeps one replication list per VPN instance. It is the union of sub-list A (MP2P service tunnels to remote EVPN PEs, built from IMET routes) and sub-list B (PWs to remote VPLS PEs). Split horizon MUST be enabled across all entries, both PWs and service tunnels. Multicast with P2MP tunnels is outside the scope of this document.
If a kid changes seats, some friends may keep passing notes to the old seat until the kid says something out loud to everybody. Shouting out loud is how everyone learns the new seat.
§4The PBB Variant
PBB-VPLS to PBB-EVPN integration follows the same shape. PBB-VPLS PEs need VPLS A-D, and PBB-EVPN PEs need BGP EVPN routes plus VPLS A-D, with all the logic on the PBB-EVPN PEs. Capability discovery is the same as in Section 3.1, and the PW and IMET precedence rules are the same too.
The differences are in what is learned. The PW runs between the B-components of the two PEs (per Section 4 of RFC 7041). Backbone MAC addresses (B-MACs) learned over those PWs MUST be injected into the MAC-VRF bridge table and MUST NOT be advertised to remote PBB-EVPN PEs. C-MACs are learned in the I-component and not advertised in the control plane, per RFC 7623.
There is no mobility for B-MACs here. If the same B-MAC appears behind both a PBB-VPLS PE and a PBB-EVPN PE, the local PE can deduce an anomaly and SHOULD notify the operator. On a single-active link failure, the PE sends a BGP B-MAC withdraw or a MAC advertisement with the MAC Mobility extended community, and follows VPLS MAC Flush with its PBB-VPLS peers.
For multicast, the PE keeps a replication list per I-SID: sub-list A (service tunnels to PBB-EVPN PEs) plus sub-list B (PWs to PBB-VPLS PEs). Optionally it may prune sub-list B using MMRP to get sub-list C, and then the list is A plus C. Split horizon MUST be enabled over all entries.
The same trick works for the fancier version of the network. The new routers learn the old routers' addresses on their own and do not tell the other new routers, since they already know them.
§5Security Considerations
All the security considerations of RFC 4761, RFC 4762, RFC 7080, RFC 7432 and RFC 7623 apply directly, because this document reuses their control-plane and data-plane procedures.
The RFC says it introduces no new security considerations beyond those. MAC addresses in BGP follow RFC 7432, and MAC addresses learned over PWs follow RFC 4761, RFC 4762 and RFC 7080. There are no IANA actions.
Nothing new here is risky on its own. The safety rules of the older documents still apply.