draft-ietf-bess-evpn-usage-09.txt   rfc8388.txt 
BESS Workgroup J. Rabadan, Ed. Internet Engineering Task Force (IETF) J. Rabadan, Ed.
Internet Draft S. Palislamovic Request for Comments: 8388 S. Palislamovic
W. Henderickx Category: Informational W. Henderickx
Intended status: Informational Nokia ISSN: 2070-1721 Nokia
A. Sajassi A. Sajassi
Cisco Cisco
J. Uttaro J. Uttaro
AT&T AT&T
May 2018
Expires: August 28, 2018 February 24, 2018 Usage and Applicability of BGP MPLS-Based Ethernet VPN
Usage and applicability of BGP MPLS based Ethernet VPN
draft-ietf-bess-evpn-usage-09
Abstract Abstract
This document discusses the usage and applicability of BGP MPLS based This document discusses the usage and applicability of BGP MPLS-based
Ethernet VPN (EVPN) in a simple and fairly common deployment Ethernet VPN (EVPN) in a simple and fairly common deployment
scenario. The different EVPN procedures are explained on the example scenario. The different EVPN procedures are explained in the example
scenario, analyzing the benefits and trade-offs of each option. This scenario along with the benefits and trade-offs of each option. This
document is intended to provide a simplified guide for the deployment document is intended to provide a simplified guide for the deployment
of EVPN networks. of EVPN networks.
Status of this Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at This document is not an Internet Standards Track specification; it is
http://www.ietf.org/ietf/1id-abstracts.txt published for informational purposes.
The list of Internet-Draft Shadow Directories can be accessed at This document is a product of the Internet Engineering Task Force
http://www.ietf.org/shadow.html (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). Not all documents
approved by the IESG are candidates for any level of Internet
Standard; see Section 2 of RFC 7841.
This Internet-Draft will expire on August 28, 2018. 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/rfc8388.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Use-case scenario description and requirements . . . . . . . . 4 3. Use Case Scenario Description and Requirements . . . . . . . 5
3.1. Service Requirements . . . . . . . . . . . . . . . . . . . 5 3.1. Service Requirements . . . . . . . . . . . . . . . . . . 5
3.2. Why EVPN is chosen to address this use-case . . . . . . . . 6 3.2. Why EVPN Is Chosen to Address This Use Case . . . . . . . 7
4. Provisioning Model . . . . . . . . . . . . . . . . . . . . . . 7 4. Provisioning Model . . . . . . . . . . . . . . . . . . . . . 7
4.1. Common provisioning tasks . . . . . . . . . . . . . . . . . 7 4.1. Common Provisioning Tasks . . . . . . . . . . . . . . . . 8
4.1.1. Non-service specific parameters . . . . . . . . . . . . 7 4.1.1. Non-Service-Specific Parameters . . . . . . . . . . . 8
4.1.2. Service specific parameters . . . . . . . . . . . . . . 8 4.1.2. Service-Specific Parameters . . . . . . . . . . . . . 9
4.2. Service interface dependent provisioning tasks . . . . . . 9 4.2. Service-Interface-Dependent Provisioning Tasks . . . . . 9
4.2.1. VLAN-based service interface EVI . . . . . . . . . . . 9 4.2.1. VLAN-Based Service Interface EVI . . . . . . . . . . 10
4.2.2. VLAN-bundle service interface EVI . . . . . . . . . . . 10 4.2.2. VLAN Bundle Service Interface EVI . . . . . . . . . . 10
4.2.3. VLAN-aware bundling service interface EVI . . . . . . . 10 4.2.3. VLAN-Aware Bundling Service Interface EVI . . . . . . 10
5. BGP EVPN NLRI usage . . . . . . . . . . . . . . . . . . . . . . 10 5. BGP EVPN NLRI Usage . . . . . . . . . . . . . . . . . . . . . 11
6. MAC-based forwarding model use-case . . . . . . . . . . . . . . 11 6. MAC-Based Forwarding Model Use Case . . . . . . . . . . . . . 11
6.1. EVPN Network Startup procedures . . . . . . . . . . . . . . 11 6.1. EVPN Network Startup Procedures . . . . . . . . . . . . . 12
6.2. VLAN-based service procedures . . . . . . . . . . . . . . . 12 6.2. VLAN-Based Service Procedures . . . . . . . . . . . . . . 12
6.2.1. Service startup procedures . . . . . . . . . . . . . . 12 6.2.1. Service Startup Procedures . . . . . . . . . . . . . 13
6.2.2. Packet walkthrough . . . . . . . . . . . . . . . . . . 13 6.2.2. Packet Walk-Through . . . . . . . . . . . . . . . . . 13
6.3. VLAN-bundle service procedures . . . . . . . . . . . . . . 16 6.3. VLAN Bundle Service Procedures . . . . . . . . . . . . . 17
6.3.1. Service startup procedures . . . . . . . . . . . . . . 16 6.3.1. Service Startup Procedures . . . . . . . . . . . . . 17
6.3.2. Packet Walkthrough . . . . . . . . . . . . . . . . . . 17 6.3.2. Packet Walk-Through . . . . . . . . . . . . . . . . . 18
6.4. VLAN-aware bundling service procedures . . . . . . . . . . 17 6.4. VLAN-Aware Bundling Service Procedures . . . . . . . . . 18
6.4.1. Service startup procedures . . . . . . . . . . . . . . 18 6.4.1. Service Startup Procedures . . . . . . . . . . . . . 18
6.4.2. Packet Walkthrough . . . . . . . . . . . . . . . . . . 18 6.4.2. Packet Walk-Through . . . . . . . . . . . . . . . . . 19
7. MPLS-based forwarding model use-case . . . . . . . . . . . . . 19 7. MPLS-Based Forwarding Model Use Case . . . . . . . . . . . . 20
7.1. Impact of MPLS-based forwarding on the EVPN network 7.1. Impact of MPLS-Based Forwarding on the EVPN Network
startup . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Startup . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.2. Impact of MPLS-based forwarding on the VLAN-based service 7.2. Impact of MPLS-Based Forwarding on the VLAN-Based Service
procedures . . . . . . . . . . . . . . . . . . . . . . . . 20 Procedures . . . . . . . . . . . . . . . . . . . . . . . 21
7.3. Impact of MPLS-based forwarding on the VLAN-bundle
service procedures . . . . . . . . . . . . . . . . . . . . 21
7.4. Impact of MPLS-based forwarding on the VLAN-aware service
procedures . . . . . . . . . . . . . . . . . . . . . . . . 21
8. Comparison between MAC-based and MPLS-based Egress Forwarding
Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9. Traffic flow optimization . . . . . . . . . . . . . . . . . . . 23
9.1. Control Plane Procedures . . . . . . . . . . . . . . . . . 23
9.1.1. MAC learning options . . . . . . . . . . . . . . . . . 23
9.1.2. Proxy-ARP/ND . . . . . . . . . . . . . . . . . . . . . 24
9.1.3. Unknown Unicast flooding suppression . . . . . . . . . 25
9.1.4. Optimization of Inter-subnet forwarding . . . . . . . . 25
9.2. Packet Walkthrough Examples . . . . . . . . . . . . . . . . 26
9.2.1. Proxy-ARP example for CE2 to CE3 traffic . . . . . . . 26
9.2.2. Flood suppression example for CE1 to CE3 traffic . . . 26
9.2.3. Optimization of inter-subnet forwarding example for
CE3 to CE2 traffic . . . . . . . . . . . . . . . . . . 27
10. Security Considerations . . . . . . . . . . . . . . . . . . . 28
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
12.1. Normative References . . . . . . . . . . . . . . . . . . . 29
12.2. Informative References . . . . . . . . . . . . . . . . . . 29
13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29
14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 30
15. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 30
1. Introduction 7.3. Impact of MPLS-Based Forwarding on the VLAN Bundle
Service Procedures . . . . . . . . . . . . . . . . . . . 22
7.4. Impact of MPLS-Based Forwarding on the VLAN-Aware Service
Procedures . . . . . . . . . . . . . . . . . . . . . . . 22
8. Comparison between MAC-Based and MPLS-Based Egress Forwarding
Models . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
9. Traffic Flow Optimization . . . . . . . . . . . . . . . . . . 24
9.1. Control-Plane Procedures . . . . . . . . . . . . . . . . 24
9.1.1. MAC Learning Options . . . . . . . . . . . . . . . . 24
9.1.2. Proxy ARP/ND . . . . . . . . . . . . . . . . . . . . 25
9.1.3. Unknown Unicast Flooding Suppression . . . . . . . . 25
9.1.4. Optimization of Inter-Subnet Forwarding . . . . . . . 26
9.2. Packet Walk-Through Examples . . . . . . . . . . . . . . 27
9.2.1. Proxy ARP Example for CE2-to-CE3 Traffic . . . . . . 27
9.2.2. Flood Suppression Example for CE1-to-CE3 Traffic . . 27
9.2.3. Optimization of Inter-subnet Forwarding Example for
CE3-to-CE2 Traffic . . . . . . . . . . . . . . . . . 28
10. Security Considerations . . . . . . . . . . . . . . . . . . . 29
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30
12.1. Normative References . . . . . . . . . . . . . . . . . . 30
12.2. Informative References . . . . . . . . . . . . . . . . . 30
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 30
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31
1. Introduction
This document complements [RFC7432] by discussing the applicability This document complements [RFC7432] by discussing the applicability
of the technology in a simple and fairly common deployment scenario, of the technology in a simple and fairly common deployment scenario,
which is described in section 3. which is described in Section 3.
After describing the topology and requirements of the use-case After describing the topology and requirements of the use case
scenario, section 4 will describe the provisioning model. scenario, Section 4 will describe the provisioning model.
Once the provisioning model is analyzed, sections 5, 6 and 7 will Once the provisioning model is analyzed, Sections 5, 6, and 7 will
describe the control plane and data plane procedures in the example describe the control-plane and data-plane procedures in the example
scenario, for the two potential disposition/forwarding models: scenario for the two potential disposition/forwarding models: MAC-
MAC-based and MPLS-based models. While both models can interoperate based and MPLS-based models. While both models can interoperate in
in the same network, each one has different trade-offs that are the same network, each one has different trade-offs that are analyzed
analyzed in section 8. in Section 8.
Finally, EVPN provides some potential traffic flow optimization tools Finally, EVPN provides some potential traffic flow optimization tools
that are also described in section 9, in the context of the example that are also described in Section 9 in the context of the example
scenario. scenario.
2. Terminology 2. Terminology
The following terminology is used: The following terminology is used:
o VID: VLAN Identifier. VID: VLAN Identifier
o CE: Customer Edge device. CE: Customer Edge (device)
o EVI: EVPN Instance. EVI: EVPN Instance
o MAC-VRF: A Virtual Routing and Forwarding table for Media Access MAC-VRF: A Virtual Routing and Forwarding (VRF) table for Media
Control (MAC) addresses on a PE. Access Control (MAC) addresses on a Provider Edge (PE) router.
o Ethernet Segment (ES): set of links through which a customer site ES: An Ethernet Segment is a set of links through which a CE is
(CE) is connected to one or more PEs. Each ES is identified by an connected to one or more PEs. Each ES is identified by an
Ethernet Segment Identifier (ESI) in the control plane. Ethernet Segment Identifier (ESI) in the control plane.
o CE-VIDs refer to the VLAN tag identifiers being used at CE1, CE2 CE-VIDs: The VLAN Identifier tags being used at CE1, CE2, and CE3 to
and CE3 to tag customer traffic sent to the Service Provider E- VPN tag customer traffic sent to the service provider EVPN network.
network
o CE1-MAC, CE2-MAC and CE3-MAC refer to source MAC addresses "behind" CE1-MAC, CE2-MAC, and CE3-MAC: The source MAC addresses "behind"
each CE respectively. Those MAC addresses can belong to the CEs each CE, respectively. These MAC addresses can belong to the
themselves or to devices connected to the CEs. CEs themselves or to devices connected to the CEs.
o CE1-IP, CE2-IP and CE3-IP refer to IP addresses associated to the CE1-IP, CE2-IP, and CE3-IP: The IP addresses associated with the
above MAC addresses. above MAC addresses
o LACP: Link Aggregation Control Protocol. LACP: Link Aggregation Control Protocol
o RD: Route Distinguisher. RD: Route Distinguisher
o RT: Route Target. RT: Route Target
o PE: Provider Edge router. PE: Provider Edge (router)
o AS: Autonomous System. AS: Autonomous System
o PE-IP: it refers to the IP address of a given PE. PE-IP: The IP address of a given PE
3. Use-case scenario description and requirements 3. Use Case Scenario Description and Requirements
Figure 1 depicts the scenario that will be referenced throughout the Figure 1 depicts the scenario that will be referenced throughout the
rest of the document. rest of the document.
+--------------+ +--------------+
| | | |
+----+ +----+ | | +----+ +----+ +----+ +----+ | | +----+ +----+
| CE1|-----| | | | | |---| CE3| | CE1|-----| | | | | |---| CE3|
+----+ /| PE1| | IP/MPLS | | PE3| +----+ +----+ /| PE1| | IP/MPLS | | PE3| +----+
/ +----+ | Network | +----+ / +----+ | Network | +----+
/ | | / | |
/ +----+ | | / +----+ | |
+----+/ | | | | +----+/ | | | |
| CE2|-----| PE2| | | | CE2|-----| PE2| | |
+----+ +----+ | | +----+ +----+ | |
+--------------+ +--------------+
Figure 1 EVPN use-case scenario Figure 1: EVPN Use Case Scenario
There are three PEs and three CEs considered in this example: PE1, There are three PEs and three CEs considered in this example: PE1,
PE2, PE3, as well as CE1, CE2 and CE3. Broadcast Domains must be PE2, and PE3, as well as CE1, CE2, and CE3. Broadcast domains must
extended among the three CEs. be extended among the three CEs.
3.1. Service Requirements 3.1. Service Requirements
The following service requirements are assumed in this scenario: The following service requirements are assumed in this scenario:
o Redundancy requirements: o Redundancy requirements:
- CE2 requires multi-homing connectivity to PE1 and PE2, not only - CE2 requires multihoming connectivity to PE1 and PE2, not only
for redundancy purposes, but also for adding more for redundancy purposes but also for adding more upstream/
upstream/downstream connectivity bandwidth to/from the network. downstream connectivity bandwidth to/from the network.
- Fast convergence. For example: if the link between CE2 and PE1 - Fast convergence. For example, if the link between CE2 and PE1
goes down, a fast convergence mechanism must be supported so that goes down, a fast convergence mechanism must be supported so
PE3 can immediately send the traffic to PE2, irrespective of the that PE3 can immediately send the traffic to PE2, irrespective
number of affected services and MAC addresses. of the number of affected services and MAC addresses.
o Service interface requirements: o Service interface requirements:
- The service definition must be flexible in terms of CE-VID-to- - The service definition must be flexible in terms of CE-VID-to-
broadcast-domain assignment in the core. broadcast-domain assignment in the core.
- The following three EVI services are required in this example: - The following three EVI services are required in this example:
EVI100 - It uses VLAN-based service interfaces in the three CEs EVI100 uses VLAN-based service interfaces in the three CEs with
with a 1:1 VLAN-to-EVI mapping. The CE-VIDs at the three CEs can a 1:1 VLAN-to-EVI mapping. The CE-VIDs at the three CEs can be
be the same, for example: VID 100, or different at each CE, for the same (for example, VID 100) or different at each CE (for
instance: VID 101 in CE1, VID 102 in CE2 and VID 103 in CE3. A instance, VID 101 in CE1, VID 102 in CE2, and VID 103 in CE3).
single broadcast domain needs to be created for EVI100 in any A single broadcast domain needs to be created for EVI100 in any
case; therefore CE-VIDs will require translation at the egress case; therefore, CE-VIDs will require translation at the egress
PEs if they are not consistent across the three CEs. The case PEs if they are not consistent across the three CEs. The case
when the same CE-VID is used across the three CEs for EVI100 is when the same CE-VID is used across the three CEs for EVI100 is
referred in [RFC7432] as the "Unique VLAN" EVPN case. This term referred to in [RFC7432] as the "Unique VLAN" EVPN case. This
will be used throughout this document too. term will be used throughout this document too.
EVI200 - It uses VLAN-bundle service interfaces in CE1, CE2 and EVI200 uses VLAN bundle service interfaces in CE1, CE2, and CE3
CE3, based on an N:1 VLAN-to-EVI mapping. The operator needs to based on an N:1 VLAN-to-EVI mapping. The operator needs to
pre-configure a range of CE-VIDs and its mapping to the EVI, and preconfigure a range of CE-VIDs and its mapping to the EVI, and
this mapping should be consistent in all the PEs (no translation this mapping should be consistent in all the PEs (no
is supported). A single broadcast domain is created for the translation is supported). A single broadcast domain is
customer. The customer is responsible of keeping the separation created for the customer. The customer is responsible for
between users in different CE-VIDs. keeping the separation between users in different CE-VIDs.
EVI300 - It uses VLAN-aware bundling service interfaces in CE1, EVI300 uses VLAN-aware bundling service interfaces in CE1, CE2,
CE2 and CE3. As in the EVI200 case, an N:1 VLAN-to-EVI mapping is and CE3. As in the EVI200 case, an N:1 VLAN-to-EVI mapping is
created at the ingress PEs, however in this case, a separate created at the ingress PEs; however, in this case, a separate
broadcast domain is required per CE-VID. The CE-VIDs can be broadcast domain is required per CE-VID. The CE-VIDs can be
different (hence CE-VID translation is required). different (hence, CE-VID translation is required).
NOTE: in section 4.2.1, only EVI100 is used as an example of Note that in Section 4.2.1, only EVI100 is used as an example of
VLAN-based service provisioning. In sections 6.2 and 7.2, 4k VLAN-based service provisioning. In Sections 6.2 and 7.2, 4k VLAN-
VLAN-based EVIs (EVI1 to EVI4k) are used so that the impact of MAC based EVIs (EVI1 to EVI4k) are used so that the impact of MAC versus
vs. MPLS disposition models in the control plane can be evaluated. In MPLS disposition models in the control plane can be evaluated. In
the same way, EVI200 and EVI300 will be described with a 4k:1 mapping the same way, EVI200 and EVI300 will be described with a 4k:1 mapping
(CE-VIDs-to-EVI mapping) in sections 6.3, 6.4, 7.3 and 7.4. (CE-VIDs-to-EVI mapping) in Sections 6.3, 6.4, 7.3, and 7.4.
o BUM (Broadcast, Unknown unicast, Multicast) optimization
requirements:
- The solution must support ingress replication or P2MP MPLS LSPs o Broadcast, Unknown Unicast, Multicast (BUM) optimization
on a per EVI service. requirements:
- For example, we can use ingress replication for EVI100 and - The solution must support ingress replication or P2MP MPLS LSPs
EVI200, assuming those EVIs will not carry much BUM traffic. On on a per EVI service. For example, we can use ingress
the contrary, if EVI300 is presumably carrying a significant replication for EVI100 and EVI200, assuming those EVIs will not
amount of multicast traffic, P2MP MPLS LSPs can be used for this carry much BUM traffic. On the contrary, if EVI300 is
service. presumably carrying a significant amount of multicast traffic,
P2MP MPLS LSPs can be used for this service.
- The benefit of ingress replication compared to P2MP LSPs is that - The benefit of ingress replication compared to P2MP LSPs is
the core routers will not need to maintain any multicast states. that the core routers will not need to maintain any multicast
states.
3.2. Why EVPN is chosen to address this use-case 3.2. Why EVPN Is Chosen to Address This Use Case
VPLS solutions based on [RFC4761], [RFC4762] and [RFC6074] cannot Virtual Private LAN Service (VPLS) solutions based on [RFC4761],
meet the requirements in section 3, whereas EVPN can. [RFC4762], and [RFC6074] cannot meet the requirements in Section 3,
whereas EVPN can.
For example: For example:
o If CE2 has a single CE-VID (or a few CE-VIDs) the current VPLS o If CE2 has a single CE-VID (or a few CE-VIDs), the current VPLS
multi-homing solutions (based on load-balancing per CE-VID or multihoming solutions (based on load-balancing per CE-VID or
service) do not provide the optimized link utilization required in service) do not provide the optimized link utilization required in
this example. EVPN provides the flow-based load-balancing this example. EVPN provides the flow-based, load-balancing,
multi-homing solution required in this scenario to optimize the multihoming solution required in this scenario to optimize the
upstream/downstream link utilization between CE2 and PE1-PE2. upstream/downstream link utilization between CE2 and PE1-PE2.
o Also, EVPN provides a fast convergence solution that is independent o EVPN provides a fast convergence solution that is independent of
of the CE-VIDs in the multi-homed PEs. Upon failure on the link the CE-VIDs in the multihomed PEs. Upon failure on the link
between CE2 and PE1, PE3 can immediately send the traffic to PE2, between CE2 and PE1, PE3 can immediately send the traffic to PE2
based on a single notification message being sent by PE1. This is based on a single notification message being sent by PE1. This is
not possible with VPLS solutions. not possible with VPLS solutions.
o With regard to service interfaces and mapping to broadcast domains, o With regard to service interfaces and mapping to broadcast
while VPLS might meet the requirements for EVI100 and EVI200, the domains, while VPLS might meet the requirements for EVI100 and
VLAN-aware bundling service interfaces required by EVI300 are not EVI200, the VLAN-aware bundling service interfaces required by
supported by the current VPLS tools. EVI300 are not supported by the current VPLS tools.
The rest of the document will describe how EVPN can be used to meet The rest of the document will describe how EVPN can be used to meet
the service requirements described in section 3, and even optimize the service requirements described in Section 3 and even optimize the
the network further by: network further by:
o Providing the user with an option to reduce (and even suppress) o providing the user with an option to reduce (and even suppress)
ARP-flooding. ARP (Address Resolution Protocol) flooding; and
o Supporting ARP termination and inter-subnet-forwarding. o supporting ARP termination and inter-subnet forwarding.
4. Provisioning Model 4. Provisioning Model
One of the requirements stated in [RFC7209] is the ease of One of the requirements stated in [RFC7209] is the ease of
provisioning. BGP parameters and service context parameters should be provisioning. BGP parameters and service context parameters should
auto-provisioned so that the addition of a new MAC-VRF to the EVI be auto-provisioned so that the addition of a new MAC-VRF to the EVI
requires a minimum number of single-sided provisioning touches. requires a minimum number of single-sided provisioning touches.
However this is possible only in a limited number of cases. This However, this is possible only in a limited number of cases. This
section describes the provisioning tasks required for the services section describes the provisioning tasks required for the services
described in section 3, i.e. EVI100 (VLAN-based service interfaces), described in Section 3, i.e., EVI100 (VLAN-based service interfaces),
EVI200 (VLAN-bundle service interfaces) and EVI300 (VLAN-aware EVI200 (VLAN bundle service interfaces), and EVI300 (VLAN-aware
bundling service interfaces). bundling service interfaces).
4.1. Common provisioning tasks 4.1. Common Provisioning Tasks
Regardless of the service interface type (VLAN-based, VLAN-bundle or Regardless of the service interface type (VLAN-based, VLAN bundle, or
VLAN-aware), the following sub-sections describe the parameters to be VLAN-aware), the following subsections describe the parameters to be
provisioned in the three PEs. provisioned in the three PEs.
4.1.1. Non-service specific parameters 4.1.1. Non-Service-Specific Parameters
The multi-homing function in EVPN requires the provisioning of
certain parameters that are not service-specific and that are shared
by all the MAC-VRFs in the node using the multi-homing capabilities.
In our use-case, these parameters are only provisioned or auto-
derived in PE1 and PE2, and are listed below:
o Ethernet Segment Identifier (ESI): only the ESI associated to CE2 The multihoming function in EVPN requires the provisioning of certain
needs to be considered in our example. Single-homed CEs such as CE1 parameters that are not service specific and that are shared by all
and CE3 do not require the provisioning of an ESI (the ESI will be the MAC-VRFs in the node using the multihoming capabilities. In our
coded as zero in the BGP NLRIs). In our example, a LAG is used use case, these parameters are only provisioned or auto-derived in
between CE2 and PE1-PE2 (since all-active multi-homing is a PE1 and PE2 and are listed below:
requirement) therefore the ESI can be auto-derived from the LACP
information as described in [RFC7432]. Note that the ESI must be
unique across all the PEs in the network, therefore the
auto-provisioning of the ESI is recommended only in case the CEs
are managed by the Operator. Otherwise the ESI should be manually
provisioned (type 0 as in [RFC7432]) in order to avoid potential
conflicts.
o ES-Import Route Target (ES-Import RT): this is the RT that will be o Ethernet Segment Identifier (ESI): Only the ESI associated with
sent by PE1 and PE2, along with the ES route. Regardless of how the CE2 needs to be considered in our example. Single-homed CEs such
ESI is provisioned in PE1 and PE2, the ES-Import RT must always be as CE1 and CE3 do not require the provisioning of an ESI (the ESI
auto-derived from the 6-byte MAC address portion of the ESI value. will be coded as zero in the BGP Network Layer Reachability
Information (NLRI)). In our example, a Link Aggregation Group
(LAG) is used between CE2 and PE1-PE2 (since all-active
multihoming is a requirement); therefore, the ESI can be auto-
derived from the LACP information as described in [RFC7432]. Note
that the ESI must be unique across all the PEs in the network;
therefore, the auto-provisioning of the ESI is recommended only in
case the CEs are managed by the operator. Otherwise, the ESI
should be manually provisioned (Type 0, as in [RFC7432]) in order
to avoid potential conflicts.
o Ethernet Segment Route Distinguisher (ES RD): this is the RD to be o ES-Import Route Target (ES-Import RT): This is the RT that will be
encoded in the ES route and Ethernet Auto-Discovery (A-D) route to sent by PE1 and PE2, along with the ES route. Regardless of how
be sent by PE1 and PE2 for the CE2 ESI. This RD should always be the ESI is provisioned in PE1 and PE2, the ES-Import RT must
auto-derived from the PE IP address, as described in [RFC7432]. always be auto-derived from the 6-byte MAC address portion of the
ESI value.
o Multi-homing type: the user must be able to provision the o Ethernet Segment Route Distinguisher (ES RD): This is the RD to be
multi-homing type to be used in the network. In our use-case, the encoded in the ES route, and it is the Ethernet Auto-Discovery
multi-homing type will be set to all-active for the CE2 ESI. This (A-D) route to be sent by PE1 and PE2 for the CE2 ESI. This RD
piece of information is encoded in the ESI Label extended community should always be auto-derived from the PE-IP address, as described
flags and sent by PE1 and PE2 along with the Ethernet A-D route for in [RFC7432].
the CE2 ESI.
o Multihoming type: The user must be able to provision the
multihoming type to be used in the network. In our use case, the
multihoming type will be set to all-active for the CE2 ESI. This
piece of information is encoded in the ESI Label extended
community flags and is sent by PE1 and PE2 along with the Ethernet
A-D route for the CE2 ESI.
In addition, the same LACP parameters will be configured in PE1 and In addition, the same LACP parameters will be configured in PE1 and
PE2 for the ES so that CE2 can send frames to PE1 and PE2 as though PE2 for the ES so that CE2 can send frames to PE1 and PE2 as though
they were forming a single system. they were forming a single system.
4.1.2. Service specific parameters 4.1.2. Service-Specific Parameters
The following parameters must be provisioned in PE1, PE2 and PE3 per The following parameters must be provisioned in PE1, PE2, and PE3 per
EVI service: EVI service:
o EVI identifier: global identifier per EVI that is shared by all the o EVI Identifier: The global identifier per EVI that is shared by
PEs part of the EVI, i.e. PE1, PE2 and PE3 will be provisioned with all the PEs that are part of the EVI, i.e., PE1, PE2, and PE3 will
EVI100, 200 and 300. The EVI identifier can be associated to (or be be provisioned with EVI100, 200, and 300. The EVI identifier can
the same value as) the EVI default Ethernet Tag (4-byte default be associated with (or be the same value as) the EVI default
broadcast domain identifier for the EVI). The Ethernet Tag is Ethernet Tag (4-byte default broadcast domain identifier for the
different from zero in the EVPN BGP routes only if the service EVI). The Ethernet Tag is different from zero in the EVPN BGP
interface type (of the source PE) is VLAN-aware Bundle. routes only if the service interface type (of the source PE) is a
VLAN-aware bundle.
o EVI Route Distinguisher (EVI RD): This RD is a unique value across o EVI Route Distinguisher (EVI RD): This RD is a unique value across
all the MAC-VRFs in a PE. Auto-derivation of this RD might be all the MAC-VRFs in a PE. Auto-derivation of this RD might be
possible depending on the service interface type being used in the possible depending on the service interface type being used in the
EVI. Next section discusses the specifics of each service interface EVI. The next section discusses the specifics of each service
type. interface type.
o EVI Route Target(s) (EVI RT): one or more RTs can be provisioned o EVI Route Target(s) (EVI RT): One or more RTs can be provisioned
per MAC-VRF. The RT(s) imported and exported can be equal or per MAC-VRF. The RT(s) imported and exported can be equal or
different, just as the RT(s) in IP-VPNs. Auto-derivation of this different, just as the RT(s) in IP-VPNs. Auto-derivation of this
RT(s) might be possible depending on the service interface type RT(s) might be possible depending on the service interface type
being used in the EVI. Next section discusses the specifics of each being used in the EVI. The next section discusses the specifics
service interface type. of each service interface type.
o CE-VID and port/LAG binding to EVI identifier or Ethernet Tag: see o CE-VID and port/LAG binding to EVI identifier or Ethernet Tag: For
section 4.2. more information, please see Section 4.2.
4.2. Service interface dependent provisioning tasks 4.2. Service-Interface-Dependent Provisioning Tasks
Depending on the service interface type being used in the EVI, a Depending on the service interface type being used in the EVI, a
specific CE-VID binding provisioning must be specified. given CE-VID binding provision must be specified.
4.2.1. VLAN-based service interface EVI 4.2.1. VLAN-Based Service Interface EVI
In our use-case, EVI100 is a VLAN-based service interface EVI. In our use case, EVI100 is a VLAN-based service interface EVI.
EVI100 can be a "unique-VLAN" service if the CE-VID being used for EVI100 can be a "unique-VLAN" service if the CE-VID being used for
this service in CE1, CE2 and CE3 is identical, for example VID 100. this service in CE1, CE2, and CE3 is identical (for example, VID
In that case, the VID 100 binding must be provisioned in PE1, PE2 and 100). In that case, the VID 100 binding must be provisioned in PE1,
PE3 for EVI100 and the associated port or LAG. The MAC-VRF RD and RT PE2, and PE3 for EVI100 and the associated port or LAG. The MAC-VRF
can be auto-derived from the CE-VID: RD and RT can be auto-derived from the CE-VID:
o The auto-derived MAC-VRF RD will be a Type 1 RD, as recommended in o The auto-derived MAC-VRF RD will be a Type 1 RD, as recommended in
[RFC7432], and it will be comprised of [PE-IP]:[zero-padded-VID]; [RFC7432], and it will be comprised of [PE-IP]:[zero-padded-VID];
where [PE-IP] is the IP address of the PE (a loopback address) and where [PE-IP] is the IP address of the PE (a loopback address) and
[zero-padded-VID] is a 2-byte value where the low order 12 bits are [zero-padded-VID] is a 2-byte value where the low-order 12 bits
the VID (VID 100 in our example) and the high order 4 bits are are the VID (VID 100 in our example) and the high-order 4 bits are
zero. zero.
o The auto-derived MAC-VRF RT will be composed of [AS]:[zero-padded- o The auto-derived MAC-VRF RT will be composed of [AS]:[zero-padded-
VID]; where [AS] is the Autonomous System that the PE belongs to VID]; where [AS] is the Autonomous System that the PE belongs to
and [zero-padded-VID] is a 2 or 4-byte value where the low order 12 and [zero-padded-VID] is a 2- or 4-byte value where the low-order
bits are the VID (VID 100 in our example) and the high order bits 12 bits are the VID (VID 100 in our example) and the high-order
are zero. Note that auto-deriving the RT implies supporting a basic bits are zero. Note that auto-deriving the RT implies supporting
any-to-any topology in the EVI and using the same import and export a basic any-to-any topology in the EVI and using the same import
RT in the EVI. and export RT in the EVI.
If EVI100 is not a "unique-VLAN" instance, each individual CE-VID If EVI100 is not a "unique-VLAN" instance, each individual CE-VID
must be configured in each PE, and MAC-VRF RDs and RTs cannot be must be configured in each PE, and MAC-VRF RDs and RTs cannot be
auto-derived, hence they must be provisioned by the user. auto-derived; hence, they must be provisioned by the user.
4.2.2. VLAN-bundle service interface EVI 4.2.2. VLAN Bundle Service Interface EVI
Assuming EVI200 is a VLAN-bundle service interface EVI, and VIDs Assuming EVI200 is a VLAN bundle service interface EVI, and VIDs
200-250 are assigned to EVI200, the CE-VID bundle 200-250 must be 200-250 are assigned to EVI200, the CE-VID bundle 200-250 must be
provisioned on PE1, PE2 and PE3. Note that this model does not allow provisioned on PE1, PE2, and PE3. Note that this model does not
CE-VID translation and the CEs must use the same CE-VIDs for EVI200. allow CE-VID translation and the CEs must use the same CE-VIDs for
No auto-derived EVI RDs or EVI RTs are possible. EVI200. No auto-derived EVI RDs or EVI RTs are possible.
4.2.3. VLAN-aware bundling service interface EVI 4.2.3. VLAN-Aware Bundling Service Interface EVI
If EVI300 is a VLAN-aware bundling service interface EVI, CE-VID If EVI300 is a VLAN-aware bundling service interface EVI, CE-VID
binding to EVI300 does not have to match on the three PEs (only on binding to EVI300 does not have to match on the three PEs (only on
PE1 and PE2, since they are part of the same ES). For example: PE1 PE1 and PE2, since they are part of the same ES). For example, PE1
and PE2 CE-VID binding to EVI300 can be set to the range 300-310 and and PE2 CE-VID binding to EVI300 can be set to the range 300-310 and
PE3 to 321-330. Note that each individual CE-VID will be assigned to PE3 to 321-330. Note that each individual CE-VID will be assigned to
a different broadcast domain, represented by an Ethernet Tag in the a different broadcast domain, which will be represented by an
control plane. Ethernet Tag in the control plane.
Therefore, besides the CE-VID bundle range bound to EVI300 in each Therefore, besides the CE-VID bundle range bound to EVI300 in each
PE, associations between each individual CE-VID and the corresponding PE, associations between each individual CE-VID and the corresponding
EVPN Ethernet Tag must be provisioned by the user. No auto-derived EVPN Ethernet Tag must be provisioned by the user. No auto-derived
EVI RDs/RTs are possible. EVI RDs/RTs are possible.
5. BGP EVPN NLRI usage 5. BGP EVPN NLRI Usage
[RFC7432] defines four different route types and four different [RFC7432] defines four different route types and four different
extended communities. However, not all the PEs in an EVPN network extended communities. However, not all the PEs in an EVPN network
must generate and process all the different routes and extended must generate and process all the different routes and extended
communities. Table 1 shows the routes that must be exported and communities. Table 1 shows the routes that must be exported and
imported in the use-case described in this document. "Export", in imported in the use case described in this document. "Export", in
this context, means that the PE must be capable of generating and this context, means that the PE must be capable of generating and
exporting a given route, assuming there are no BGP policies to exporting a given route, assuming there are no BGP policies to
prevent it. In the same way, "Import" means the PE must be capable of prevent it. In the same way, "Import" means the PE must be capable
importing and processing a given route, assuming the right RTs and of importing and processing a given route, assuming the right RTs and
policies. "N/A" means neither import nor export actions are required. policies. "N/A" means neither import nor export actions are
required.
+-------------------+---------------+---------------+ +-----------------+---------------+---------------+
| BGP EVPN routes | PE1-PE2 | PE3 | | BGP EVPN Routes | PE1-PE2 | PE3 |
+-------------------+---------------+---------------+ +-----------------+---------------+---------------+
| ES | Export/import | N/A | | ES | Export/Import | N/A |
| A-D per ESI | Export/import | Import | | A-D per ESI | Export/Import | Import |
| A-D per EVI | Export/import | Import | | A-D per EVI | Export/Import | Import |
| MAC | Export/import | Export/import | | MAC | Export/Import | Export/Import |
| Inclusive mcast | Export/import | Export/import | | Inclusive Mcast | Export/Import | Export/Import |
+-------------------+---------------+---------------+ +-----------------+---------------+---------------+
Table 1 - Base EVPN Routes and Export/Import Actions Table 1: Base EVPN Routes and Export/Import Actions
PE3 is required to export only MAC and Inclusive multicast routes and PE3 is required to export only MAC and Inclusive Multicast (Mcast)
be able to import and process A-D routes, as well as MAC and routes and be able to import and process A-D routes as well as MAC
Inclusive multicast routes. If PE3 did not support importing and and Inclusive Multicast routes. If PE3 did not support importing and
processing A-D routes per ESI and per EVI, fast convergence and processing A-D routes per ESI and per EVI, fast convergence and
aliasing functions (respectively) would not be possible in this aliasing functions (respectively) would not be possible in this use
use-case. case.
6. MAC-based forwarding model use-case 6. MAC-Based Forwarding Model Use Case
This section describes how the BGP EVPN routes are exported and This section describes how the BGP EVPN routes are exported and
imported by the PEs in our use-case, as well as how traffic is imported by the PEs in our use case as well as how traffic is
forwarded assuming that PE1, PE2 and PE3 support a MAC-based forwarded assuming that PE1, PE2, and PE3 support a MAC-based
forwarding model. In order to compare the control and data plane forwarding model. In order to compare the control- and data-plane
impact in the two forwarding models (MAC-based and MPLS-based) and impact in the two forwarding models (MAC-based and MPLS-based) and
different service types, we will assume that CE1, CE2 and CE3 need to different service types, we will assume that CE1, CE2, and CE3 need
exchange traffic for up to 4k CE-VIDs. to exchange traffic for up to 4k CE-VIDs.
6.1. EVPN Network Startup procedures 6.1. EVPN Network Startup Procedures
Before any EVI is provisioned in the network, the following Before any EVI is provisioned in the network, the following
procedures are required: procedures are required:
o Infrastructure setup: the proper MPLS infrastructure must be setup o Infrastructure setup: The proper MPLS infrastructure must be set
among PE1, PE2 and PE3 so that the EVPN services can make use of up among PE1, PE2, and PE3 so that the EVPN services can make use
P2P and P2MP LSPs. In addition to the MPLS transport, PE1 and PE2 of Point-to-Point (P2P) and P2MP LSPs. In addition to the MPLS
must be properly configured with the same LACP configuration to transport, PE1 and PE2 must be properly configured with the same
CE2. Details are provided in [RFC7432]. Once the LAG is properly LACP configuration to CE2. Details are provided in [RFC7432].
setup, the ESI for the CE2 Ethernet Segment, for example ESI12, can Once the LAG is properly set up, the ESI for the CE2 Ethernet
be auto-generated by PE1 and PE2 from the LACP information Segment (for example, ESI12) can be auto-generated by PE1 and PE2
exchanged with CE2 (ESI type 1), as discussed in section 4.1. from the LACP information exchanged with CE2 (ESI Type 1), as
Alternatively, the ESI can also be manually provisioned on PE1 and discussed in Section 4.1. Alternatively, the ESI can also be
PE2 (ESI type 0). PE1 and PE2 will auto-configure a BGP policy that manually provisioned on PE1 and PE2 (ESI Type 0). PE1 and PE2
will import any ES route matching the auto-derived ES-import RT for will auto-configure a BGP policy that will import any ES route
ESI12. matching the auto-derived ES-Import RT for ESI12.
o Ethernet Segment route exchange and DF election: PE1 and PE2 will o Ethernet Segment route exchange and Designated Forwarder (DF)
advertise a BGP Ethernet Segment route for ESI12, where the ESI RD election: PE1 and PE2 will advertise a BGP Ethernet Segment route
and ES-Import RT will be auto-generated as discussed in section for ESI12, where the ESI RD and ES-Import RT will be auto-
4.1.1. PE1 and PE2 will import the ES routes of each other and will generated as discussed in Section 4.1.1. PE1 and PE2 will import
run the DF election algorithm for any existing EVI (if any, at this the ES routes of each other and will run the DF election algorithm
point). PE3 will simply discard the route. Note that the DF for any existing EVI (if any, at this point). PE3 will simply
election algorithm can support service carving, so that the discard the route. Note that the DF election algorithm can
downstream BUM traffic from the network to CE2 can be load-balanced support service carving so that the downstream BUM traffic from
across PE1 and PE2 on a per-service basis. the network to CE2 can be load-balanced across PE1 and PE2 on a
per-service basis.
At the end of this process, the network infrastructure is ready to At the end of this process, the network infrastructure is ready to
start deploying EVPN services. PE1 and PE2 are aware of the existence start deploying EVPN services. PE1 and PE2 are aware of the
of a shared Ethernet Segment, i.e. ESI12. existence of a shared Ethernet Segment, i.e., ESI12.
6.2. VLAN-based service procedures
Assuming that the EVPN network must carry traffic among CE1, CE2 and 6.2. VLAN-Based Service Procedures
CE3 for up to 4k CE-VIDs, the Service Provider can decide to
implement VLAN-based service interface EVIs to accomplish it. In this
case, each CE-VID will be individually mapped to a different EVI.
While this means a total number of 4k MAC-VRFs is required per PE,
the advantages of this approach are the auto-provisioning of most of
the service parameters if no VLAN translation is needed (see section
4.2.1) and great control over each individual customer broadcast
domain. We assume in this section that the range of EVIs from 1 to 4k
is provisioned in the network.
6.2.1. Service startup procedures Assuming that the EVPN network must carry traffic among CE1, CE2, and
CE3 for up to 4k CE-VIDs, the service provider can decide to
implement VLAN-based service interface EVIs to accomplish it. In
this case, each CE-VID will be individually mapped to a different
EVI. While this means a total number of 4k MAC-VRFs are required per
PE, the advantages of this approach are the auto-provisioning of most
of the service parameters if no VLAN translation is needed (see
Section 4.2.1) and great control over each individual customer
broadcast domain. We assume in this section that the range of EVIs
from 1 to 4k is provisioned in the network.
As soon as the EVIs are created in PE1, PE2 and PE3, the following 6.2.1. Service Startup Procedures
control plane actions are carried out:
o Flooding tree setup per EVI (4k routes): Each PE will send one As soon as the EVIs are created in PE1, PE2, and PE3, the following
Inclusive Multicast Ethernet Tag route per EVI (up to 4k routes per control-plane actions are carried out:
PE) so that the flooding tree per EVI can be setup. Note that
ingress replication or P2MP LSPs can optionally be signaled in the
PMSI Tunnel attribute and the corresponding tree be created.
o Ethernet A-D routes per ESI (a set of routes for ESI12): A set of o Flooding tree setup per EVI (4k routes): Each PE will send one
A-D routes with a total list of 4k RTs (one per EVI) for ESI12 will Inclusive Multicast Ethernet Tag route per EVI (up to 4k routes
be issued from PE1 and PE2 (it has to be a set of routes so that per PE) so that the flooding tree per EVI can be set up. Note
the total number of RTs can be conveyed). As per [RFC7432], each that ingress replication or P2MP LSPs can be optionally signaled
Ethernet A-D route per ESI is differentiated from the other routes in the Provider Multicast Service Interface (PMSI) Tunnel
in the set by a different Route Distinguisher (ES RD). This set attribute and the corresponding tree can be created.
will also include ESI Label extended communities with the active-
standby flag set to zero (all-active multi-homing type) and an ESI
Label different from zero (used for split-horizon functions). These
routes will be imported by the three PEs, since the RTs match the
EVI RTs locally configured. The A-D routes per ESI will be used for
fast convergence and split-horizon functions, as discussed in
[RFC7432]. o Ethernet A-D routes per ESI (a set of routes for ESI12): A set of
A-D routes with a total list of 4k RTs (one per EVI) for ESI12
will be issued from PE1 and PE2 (it has to be a set of routes so
that the total number of RTs can be conveyed). As per [RFC7432],
each Ethernet A-D route per ESI is differentiated from the other
routes in the set by a different Route Distinguisher (ES RD).
This set will also include ESI Label extended communities with the
active-standby flag set to zero (all-active multihoming type) and
an ESI Label different from zero (used for split-horizon
functions). These routes will be imported by the three PEs, since
the RTs match the locally configured EVI RTs. The A-D routes per
ESI will be used for fast convergence and split-horizon functions,
as discussed in [RFC7432].
o Ethernet A-D routes per EVI (4k routes): An A-D route per EVI will o Ethernet A-D routes per EVI (4k routes): An A-D route per EVI will
be sent by PE1 and PE2 for ESI12. Each individual route includes be sent by PE1 and PE2 for ESI12. Each individual route includes
the corresponding EVI RT and an MPLS label to be used by PE3 for the corresponding EVI RT and an MPLS Label to be used by PE3 for
the aliasing function. These routes will be imported by the three the aliasing function. These routes will be imported by the three
PEs. PEs.
6.2.2. Packet walkthrough 6.2.2. Packet Walk-Through
Once the services are setup, the traffic can start flowing. Assuming Once the services are set up, the traffic can start flowing.
there are no MAC addresses learned yet and that MAC learning at the Assuming there are no MAC addresses learned yet and that MAC learning
access is performed in the data plane in our use-case, this is the at the access is performed in the data plane in our use case, this is
process followed upon receiving frames from each CE (example for the process followed upon receiving frames from each CE (for example,
EVI1). EVI1).
(1) BUM frame example from CE1: BUM frame example from CE1:
a) An ARP-request with CE-VID=1 is issued from source MAC CE1-MAC a. An ARP request with CE-VID=1 is issued from source MAC CE1-MAC
(MAC address coming from CE1 or from a device connected to CE1) to (MAC address coming from CE1 or from a device connected to CE1)
find the MAC address of CE3-IP. to find the MAC address of CE3-IP.
b) Based on the CE-VID, the frame is identified to be forwarded in b. Based on the CE-VID, the frame is identified to be forwarded in
the MAC-VRF-1 (EVI1) context. A source MAC lookup is done in the the MAC-VRF-1 (EVI1) context. A source MAC lookup is done in the
MAC FIB and the sender's CE1-IP in the proxy-ARP table within the MAC FIB, and the sender's CE1-IP is looked up in the proxy ARP
MAC-VRF-1 (EVI1) context. If CE1-MAC/CE1-IP are unknown in both table within the MAC-VRF-1 (EVI1) context. If CE1-MAC/CE1-IP are
tables, three actions are carried out (assuming the source MAC is unknown in both tables, three actions are carried out (assuming
accepted by PE1): the source MAC is accepted by PE1):
(1) Forwarding state is added for CE1-MAC associated to the 1. the forwarding state is added for the CE1-MAC associated with
corresponding port and CE-VID, the corresponding port and CE-VID;
(2) the ARP-request is snooped and the tuple CE1-MAC/CE1-IP is 2. the ARP request is snooped and the tuple CE1-MAC/CE1-IP is
added to the proxy-ARP table and added to the proxy ARP table; and
(3) a BGP MAC advertisement route is triggered from PE1 containing 3. a BGP MAC Advertisement route is triggered from PE1
the EVI1 RD and RT, ESI=0, Ethernet-Tag=0 and CE1-MAC/CE1-IP containing the EVI1 RD and RT, ESI=0, Ethernet-Tag=0, and
along with an MPLS label assigned to MAC-VRF-1 from the PE1 CE1-MAC/CE1-IP, along with an MPLS Label assigned to MAC-
label space. Note that depending on the implementation, the VRF-1 from the PE1 Label space. Note that depending on the
MAC FIB and proxy-ARP learning processes can independently implementation, the MAC FIB and proxy ARP learning processes
send two BGP MAC advertisements instead of one (one containing can independently send two BGP MAC advertisements instead of
only the CE1-MAC and another one containing CE1-MAC/CE1-IP). one (one containing only the CE1-MAC and another one
containing CE1-MAC/CE1-IP).
Since we assume a MAC forwarding model, a label per MAC-VRF is Since we assume a MAC forwarding model, a label per MAC-VRF is
normally allocated and signaled by the three PEs for MAC normally allocated and signaled by the three PEs for MAC
advertisement routes. Based on the RT, the route is imported by Advertisement routes. Based on the RT, the route is imported by
PE2 and PE3 and the forwarding state plus ARP entry are added to PE2 and PE3, and the forwarding state plus the ARP entry are
their MAC-VRF-1 context. From this moment on, any ARP request from added to their MAC-VRF-1 context. From this moment on, any ARP
CE2 or CE3 destined to CE1-IP, can be directly replied by PE1, PE2 request from CE2 or CE3 destined to CE1-IP can be directly
or PE3 and ARP flooding for CE1-IP is not needed in the core. replied to by PE1, PE2, or PE3, and ARP flooding for CE1-IP is
not needed in the core.
c) Since the ARP frame is a broadcast frame, it is forwarded by PE1 c. Since the ARP frame is a broadcast frame, it is forwarded by PE1
using the Inclusive multicast tree for EVI1 (CE-VID=1 tag should using the Inclusive Multicast Tree for EVI1 (CE-VID=1 tag should
be kept if translation is required). Depending on the type of be kept if translation is required). Depending on the type of
tree, the label stack may vary. For example assuming ingress tree, the label stack may vary. For example, assuming ingress
replication, the packet is replicated to PE2 and PE3 with the replication, the packet is replicated to PE2 and PE3 with the
downstream allocated labels and the P2P LSP transport labels. No downstream allocated labels and the P2P LSP transport labels. No
other labels are added to the stack. other labels are added to the stack.
d) Assuming PE1 is the DF for EVI1 on ESI12, the frame is locally d. Assuming PE1 is the DF for EVI1 on ESI12, the frame is locally
replicated to CE2. replicated to CE2.
e) The MPLS-encapsulated frame gets to PE2 and PE3. Since PE2 is non- e. The MPLS-encapsulated frame gets to PE2 and PE3. Since PE2 is
DF for EVI1 on ESI12, and there is no other CE connected to PE2, non-DF for EVI1 on ESI12, and there is no other CE connected to
the frame is discarded. At PE3, the frame is de-encapsulated, CE- PE2, the frame is discarded. At PE3, the frame is
VID translated if needed and forwarded to CE3. de-encapsulated and the CE-VID is translated, if needed, and
forwarded to CE3.
Any other type of BUM frame from CE1 would follow the same Any other type of BUM frame from CE1 would follow the same
procedures. BUM frames from CE3 would follow the same procedures too. procedures. BUM frames from CE3 would follow the same procedures
too.
(2) BUM frame example from CE2: BUM frame example from CE2:
a) An ARP-request with CE-VID=1 is issued from source MAC CE2-MAC to a. An ARP request with CE-VID=1 is issued from source MAC CE2-MAC to
find the MAC address of CE3-IP. find the MAC address of CE3-IP.
b) CE2 will hash the frame and will forward it to for example PE2. b. CE2 will hash the frame and will forward it to, for example, PE2.
Based on the CE-VID, the frame is identified to be forwarded in Based on the CE-VID, the frame is identified to be forwarded in
the EVI1 context. A source MAC lookup is done in the MAC FIB and the EVI1 context. A source MAC lookup is done in the MAC FIB and
the sender's CE2-IP in the proxy-ARP table within the MAC-VRF-1 the sender's CE2-IP is looked up in the proxy ARP table within
context. If both are unknown, three actions are carried out the MAC-VRF-1 context. If both are unknown, three actions are
(assuming the source MAC is accepted by PE2): carried out (assuming the source MAC is accepted by PE2):
(1) Forwarding state is added for CE2-MAC associated to the 1. the forwarding state is added for the CE2-MAC associated with
corresponding LAG/ESI and CE-VID, the corresponding LAG/ESI and CE-VID;
(2) the ARP-request is snooped and the tuple CE2-MAC/CE2-IP is 2. the ARP request is snooped and the tuple CE2-MAC/CE2-IP is
added to the proxy-ARP table and added to the proxy ARP table; and
(3) a BGP MAC advertisement route is triggered from PE2 containing 3. a BGP MAC Advertisement route is triggered from PE2
the EVI1 RD and RT, ESI=12, Ethernet-Tag=0 and CE2-MAC/CE2-IP containing the EVI1 RD and RT, ESI=12, Ethernet-Tag=0, and
along with an MPLS label assigned from the PE2 label space CE2-MAC/CE2-IP, along with an MPLS Label assigned from the
(one label per MAC-VRF). Again, depending on the PE2 Label space (one label per MAC-VRF). Again, depending on
implementation, the MAC FIB and proxy-ARP learning processes the implementation, the MAC FIB and proxy ARP learning
can independently send two BGP MAC advertisements instead of processes can independently send two BGP MAC advertisements
one. instead of one.
Note that, since PE3 is not part of ESI12, it will install Note that since PE3 is not part of ESI12, it will install the
forwarding state for CE2-MAC as long as the A-D routes for ESI12 forwarding state for CE2-MAC as long as the A-D routes for ESI12
are also active on PE3. On the contrary, PE1 is part of ESI12, are also active on PE3. On the contrary, PE1 is part of ESI12,
therefore PE1 will not modify the forwarding state for CE2-MAC if therefore PE1 will not modify the forwarding state for CE2-MAC if
it has previously learnt CE2-MAC locally attached to ESI12. it has previously learned CE2-MAC locally attached to ESI12.
Otherwise it will add forwarding state for CE2-MAC associated to Otherwise, it will add the forwarding state for CE2-MAC
the local ESI12 port. associated with the local ESI12 port.
c) Assuming PE2 does not have the ARP information for CE3-IP yet, and c. Assuming PE2 does not have the ARP information for CE3-IP yet,
since the ARP is a broadcast frame and PE2 the non-DF for EVI1 on and since the ARP is a broadcast frame and PE2 is the non-DF for
ESI12, the frame is forwarded by PE2 in the Inclusive multicast EVI1 on ESI12, the frame is forwarded by PE2 in the Inclusive
tree for EVI1, adding the ESI label for ESI12 at the bottom of the Multicast Tree for EVI1, thus adding the ESI Label for ESI12 at
stack. The ESI label has been previously allocated and signaled by the bottom of the stack. The ESI Label has been previously
the A-D routes for ESI12. Note that, as per [RFC7432], if the allocated and signaled by the A-D routes for ESI12. Note that,
result of the CE2 hashing is different and the frame sent to PE1, as per [RFC7432], if the result of the CE2 hashing is different
PE1 should add the ESI label too (PE1 is the DF for EVI1 on and the frame is sent to PE1, PE1 should add the ESI Label too
ESI12). (PE1 is the DF for EVI1 on ESI12).
d) The MPLS-encapsulated frame gets to PE1 and PE3. PE1 d. The MPLS-encapsulated frame gets to PE1 and PE3. PE1
de-encapsulates the Inclusive multicast tree label(s) and based on de-encapsulates the Inclusive Multicast Tree Label(s) and, based
the ESI label at the bottom of the stack, it decides to not on the ESI Label at the bottom of the stack, it decides to not
forward the frame to the ESI12. It will pop the ESI label and will forward the frame to the ESI12. It will pop the ESI Label and
replicate it to CE1 though, since CE1 is not part of the ESI will replicate it to CE1, since CE1 is not part of the ESI
identified by the ESI label. At PE3, the Inclusive multicast tree identified by the ESI Label. At PE3, the Inclusive Multicast
label is popped and the frame forwarded to CE3. If a P2MP LSP is Tree Label is popped and the frame forwarded to CE3. If a P2MP
used as Inclusive multicast tree for EVI1, PE3 will find an ESI LSP is used as the Inclusive Multicast Tree for EVI1, PE3 will
label after popping the P2MP LSP label. The ESI label will simply find an ESI Label after popping the P2MP LSP Label. The ESI
be popped, since CE3 is not part of ESI12. Label will simply be popped, since CE3 is not part of ESI12.
(3) Unicast frame example from CE3 to CE1: Unicast frame example from CE3 to CE1:
a) A unicast frame with CE-VID=1 is issued from source MAC CE3-MAC a. A unicast frame with CE-VID=1 is issued from source MAC CE3-MAC
and destination MAC CE1-MAC (we assume PE3 has previously resolved and destination MAC CE1-MAC (we assume PE3 has previously
an ARP request from CE3 to find the MAC of CE1-IP, and has added resolved an ARP request from CE3 to find the MAC of CE1-IP and
CE3-MAC/CE3-IP to its proxy-ARP table). has added CE3-MAC/CE3-IP to its proxy ARP table).
b) Based on the CE-VID, the frame is identified to be forwarded in b. Based on the CE-VID, the frame is identified to be forwarded in
the EVI1 context. A source MAC lookup is done in the MAC FIB the EVI1 context. A source MAC lookup is done in the MAC FIB
within the MAC-VRF-1 context and this time, since we assume CE3- within the MAC-VRF-1 context and this time, since we assume
MAC is known, no further actions are carried out as a result of CE3-MAC is known, no further actions are carried out as a result
the source lookup. A destination MAC lookup is performed next and of the source lookup. A destination MAC lookup is performed next
the label stack associated to the MAC CE1-MAC is found (including and the label stack associated with the MAC CE1-MAC is found
the label associated to MAC-VRF-1 in PE1 and the P2P LSP label to (including the label associated with MAC-VRF-1 in PE1 and the P2P
get to PE1). The unicast frame is then encapsulated and forwarded LSP Label to get to PE1). The unicast frame is then encapsulated
to PE1. and forwarded to PE1.
c) At PE1, the packet is identified to be part of EVI1 and a c. At PE1, the packet is identified to be part of EVI1 and a
destination MAC lookup is performed in the MAC-VRF-1 context. The destination MAC lookup is performed in the MAC-VRF-1 context.
labels are popped and the frame forwarded to CE1 with CE-VID=1. The labels are popped and the frame is forwarded to CE1 with
CE-VID=1.
Unicast frames from CE1 to CE3 or from CE2 to CE3 follow the same Unicast frames from CE1 to CE3 or from CE2 to CE3 follow the same
procedures described above. procedures described above.
(4) Unicast frame example from CE3 to CE2: Unicast frame example from CE3 to CE2:
a) A unicast frame with CE-VID=1 is issued from source MAC CE3-MAC a. A unicast frame with CE-VID=1 is issued from source MAC CE3-MAC
and destination MAC CE2-MAC (we assume PE3 has previously resolved and destination MAC CE2-MAC (we assume PE3 has previously
an ARP request from CE3 to find the MAC of CE2-IP). resolved an ARP request from CE3 to find the MAC of CE2-IP).
b) Based on the CE-VID, the frame is identified to be forwarded in b. Based on the CE-VID, the frame is identified to be forwarded in
the MAC-VRF-1 context. We assume CE3-MAC is known. A destination the MAC-VRF-1 context. We assume CE3-MAC is known. A
MAC lookup is performed next and PE3 finds CE2-MAC associated to destination MAC lookup is performed next and PE3 finds CE2-MAC
PE2 on ESI12, an Ethernet Segment for which PE3 has two active A-D associated with PE2 on ESI12, an Ethernet Segment for which PE3
routes per ESI (from PE1 and PE2) and two active A-D routes for has two active A-D routes per ESI (from PE1 and PE2) and two
EVI1 (from PE1 and PE2). Based on a hashing function for the active A-D routes for EVI1 (from PE1 and PE2). Based on a
frame, PE3 may decide to forward the frame using the label stack hashing function for the frame, PE3 may decide to forward the
associated to PE2 (label received from the MAC advertisement frame using the label stack associated with PE2 (label received
route) or the label stack associated to PE1 (label received from from the MAC Advertisement route) or the label stack associated
the A-D route per EVI for EVI1). Either way, the frame is with PE1 (label received from the A-D route per EVI for EVI1).
encapsulated and sent to the remote PE. Either way, the frame is encapsulated and sent to the remote PE.
c) At PE2 (or PE1), the packet is identified to be part of EVI1 based c. At PE2 (or PE1), the packet is identified to be part of EVI1
on the bottom label, and a destination MAC lookup is performed. At based on the bottom label, and a destination MAC lookup is
either PE (PE2 or PE1), the FIB lookup yields a local ESI12 port performed. At either PE (PE2 or PE1), the FIB lookup yields a
to which the frame is sent. local ESI12 port to which the frame is sent.
Unicast frames from CE1 to CE2 follow the same procedures. Unicast frames from CE1 to CE2 follow the same procedures.
6.3. VLAN-bundle service procedures 6.3. VLAN Bundle Service Procedures
Instead of using VLAN-based interfaces, the Operator can choose to Instead of using VLAN-based interfaces, the operator can choose to
implement VLAN-bundle interfaces to carry the traffic for the 4k CE- implement VLAN bundle interfaces to carry the traffic for the 4k
VIDs among CE1, CE2 and CE3. If that is the case, the 4k CE-VIDs can CE-VIDs among CE1, CE2, and CE3. If that is the case, the 4k CE-VIDs
be mapped to the same EVI, for example EVI200, at each PE. The main can be mapped to the same EVI (for example, EVI200) at each PE. The
advantage of this approach is the low control plane overhead (reduced main advantage of this approach is the low control-plane overhead
number of routes and labels) and easiness of provisioning, at the (reduced number of routes and labels) and easiness of provisioning at
expense of no control over the customer broadcast domains, i.e. a the expense of no control over the customer broadcast domains, i.e.,
single inclusive multicast tree for all the CE-VIDs and no CE-VID a single Inclusive Multicast Tree for all the CE-VIDs and no CE-VID
translation in the Provider network. translation in the provider network.
6.3.1. Service startup procedures 6.3.1. Service Startup Procedures
As soon as the EVI200 is created in PE1, PE2 and PE3, the following As soon as the EVI200 is created in PE1, PE2, and PE3, the following
control plane actions are carried out: control-plane actions are carried out:
o Flooding tree setup per EVI (one route): Each PE will send one o Flooding tree setup per EVI (one route): Each PE will send one
Inclusive Multicast Ethernet Tag route per EVI (hence only one Inclusive Multicast Ethernet Tag route per EVI (hence, only one
route per PE) so that the flooding tree per EVI can be setup. Note route per PE) so that the flooding tree per EVI can be set up.
that ingress replication or P2MP LSPs can optionally be signaled Note that ingress replication or P2MP LSPs can optionally be
in the PMSI Tunnel attribute and the corresponding tree be signaled in the PMSI Tunnel attribute and the corresponding tree
created. can be created.
o Ethernet A-D routes per ESI (one route for ESI12): A single A-D o Ethernet A-D routes per ESI (one route for ESI12): A single A-D
route for ESI12 will be issued from PE1 and PE2. This route will route for ESI12 will be issued from PE1 and PE2. This route will
include a single RT (RT for EVI200), an ESI Label extended include a single RT (RT for EVI200), an ESI Label extended
community with the active-standby flag set to zero (all-active community with the active-standby flag set to zero (all-active
multi-homing type) and an ESI Label different from zero (used by multihoming type), and an ESI Label different from zero (used by
the non-DF for split-horizon functions). This route will be the non-DF for split-horizon functions). This route will be
imported by the three PEs, since the RT matches the EVI200 RT imported by the three PEs, since the RT matches the locally
locally configured. The A-D routes per ESI will be used for fast configured EVI200 RT. The A-D routes per ESI will be used for
convergence and split-horizon functions, as described in fast convergence and split-horizon functions, as described in
[RFC7432]. [RFC7432].
o Ethernet A-D routes per EVI (one route): An A-D route (EVI200) will o Ethernet A-D routes per EVI (one route): An A-D route (EVI200)
be sent by PE1 and PE2 for ESI12. This route includes the EVI200 will be sent by PE1 and PE2 for ESI12. This route includes the
RT and an MPLS label to be used by PE3 for the aliasing function. EVI200 RT and an MPLS Label to be used by PE3 for the aliasing
This route will be imported by the three PEs. function. This route will be imported by the three PEs.
6.3.2. Packet Walkthrough 6.3.2. Packet Walk-Through
The packet walkthrough for the VLAN-bundle case is similar to the one The packet walk-through for the VLAN bundle case is similar to the
described for EVI1 in the VLAN-based case except for the way the one described for EVI1 in the VLAN-based case except for the way the
CE-VID is handled by the ingress PE and the egress PE: CE-VID is handled by the ingress PE and the egress PE:
o No VLAN translation is allowed and the CE-VIDs are kept untouched o No VLAN translation is allowed and the CE-VIDs are kept untouched
from CE to CE, i.e. the ingress CE-VID must be kept at the from CE to CE, i.e., the ingress CE-VID must be kept at the
imposition PE and at the disposition PE. imposition PE and at the disposition PE.
o The frame is identified to be forwarded in the MAC-VRF-200 context o The frame is identified to be forwarded in the MAC-VRF-200 context
as long as its CE-VID belongs to the VLAN-bundle defined in the as long as its CE-VID belongs to the VLAN bundle defined in the
PE1/PE2/PE3 port to CE1/CE2/CE3. Our example is a special VLAN- PE1/PE2/PE3 port to CE1/CE2/CE3. Our example is a special VLAN
bundle case, since the entire CE-VID range is defined in the bundle case since the entire CE-VID range is defined in the ports;
ports, therefore any CE-VID would be part of EVI200. therefore, any CE-VID would be part of EVI200.
Please refer to section 6.2.2 for more information about the control Please refer to Section 6.2.2 for more information about the control-
plane and forwarding plane interaction for BUM and unicast traffic plane and forwarding-plane interaction for BUM and unicast traffic
from the different CEs. from the different CEs.
6.4. VLAN-aware bundling service procedures 6.4. VLAN-Aware Bundling Service Procedures
The last potential service type analyzed in this document is The last potential service type analyzed in this document is VLAN-
VLAN-aware bundling. When this type of service interface is used to aware bundling. When this type of service interface is used to carry
carry the 4k CE-VIDs among CE1, CE2 and CE3, all the CE-VIDs will be the 4k CE-VIDs among CE1, CE2, and CE3, all the CE-VIDs will be
mapped to the same EVI, for example EVI300. The difference, compared mapped to the same EVI (for example, EVI300). The difference,
to the VLAN-bundle service type in the previous section, is that each compared to the VLAN bundle service type in the previous section, is
incoming CE-VID will also be mapped to a different "normalized" that each incoming CE-VID will also be mapped to a different
Ethernet-Tag in addition to EVI300. If no translation is required, "normalized" Ethernet Tag in addition to EVI300. If no translation
the Ethernet-tag will match the CE-VID. Otherwise a translation is required, the Ethernet Tag will match the CE-VID. Otherwise, a
between CE-VID and Ethernet-tag will be needed at the imposition PE translation between CE-VID and Ethernet Tag will be needed at the
and at the disposition PE. The main advantage of this approach is the imposition PE and at the disposition PE. The main advantage of this
ability to control customer broadcast domains while providing a approach is the ability to control customer broadcast domains while
single EVI to the customer. providing a single EVI to the customer.
6.4.1. Service startup procedures 6.4.1. Service Startup Procedures
As soon as the EVI300 is created in PE1, PE2 and PE3, the following As soon as the EVI300 is created in PE1, PE2, and PE3, the following
control plane actions are carried out: control-plane actions are carried out:
o Flooding tree setup per EVI per Ethernet-Tag (4k routes): Each PE o Flooding tree setup per EVI per Ethernet Tag (4k routes): Each PE
will send one Inclusive Multicast Ethernet Tag route per EVI and will send one Inclusive Multicast Ethernet Tag route per EVI and
per Ethernet-Tag (hence 4k routes per PE) so that the flooding per Ethernet Tag (hence, 4k routes per PE) so that the flooding
tree per customer broadcast domain can be setup. Note that ingress tree per customer broadcast domain can be set up. Note that
replication or P2MP LSPs can optionally be signaled in the PMSI ingress replication or P2MP LSPs can optionally be signaled in the
Tunnel attribute and the corresponding tree be created. In the PMSI Tunnel attribute and the corresponding tree be created. In
described use-case, since all the CE-VIDs and Ethernet-Tags are the described use case, since all the CE-VIDs and Ethernet Tags
defined on the three PEs, multicast tree aggregation might make are defined on the three PEs, multicast tree aggregation might
sense in order to save forwarding states. make sense in order to save forwarding states.
o Ethernet A-D routes per ESI (one route for ESI12): A single A-D o Ethernet A-D routes per ESI (one route for ESI12): A single A-D
route for ESI12 will be issued from PE1 and PE2. This route will route for ESI12 will be issued from PE1 and PE2. This route will
include a single RT (RT for EVI300), an ESI Label extended include a single RT (RT for EVI300), an ESI Label extended
community with the active-standby flag set to zero (all-active community with the active-standby flag set to zero (all-active
multi-homing type) and an ESI Label different than zero (used by multihoming type), and an ESI Label different than zero (used by
the non-DF for split-horizon functions). This route will be the non-DF for split-horizon functions). This route will be
imported by the three PEs, since the RT matches the EVI300 RT imported by the three PEs, since the RT matches the locally
locally configured. The A-D routes per ESI will be used for fast configured EVI300 RT. The A-D routes per ESI will be used for
convergence and split-horizon functions, as described in fast convergence and split-horizon functions, as described in
[RFC7432]. [RFC7432].
o Ethernet A-D routes per EVI: a single A-D route (EVI300) may be o Ethernet A-D routes per EVI: A single A-D route (EVI300) may be
sent by PE1 and PE2 for ESI12, in case no CE-VID translation is sent by PE1 and PE2 for ESI12 in case no CE-VID translation is
required. This route includes the EVI300 RT and an MPLS label to required. This route includes the EVI300 RT and an MPLS Label to
be used by PE3 for the aliasing function. This route will be be used by PE3 for the aliasing function. This route will be
imported by the three PEs. Note that if CE-VID translation is imported by the three PEs. Note that if CE-VID translation is
required, an A-D per EVI route is required per Ethernet-Tag (4k). required, an A-D per EVI route is required per Ethernet Tag (4k).
6.4.2. Packet Walkthrough 6.4.2. Packet Walk-Through
The packet walkthrough for the VLAN-aware case is similar to the one The packet walk-through for the VLAN-aware case is similar to the one
described before. Compared to the other two cases, VLAN-aware described before. Compared to the other two cases, VLAN-aware
services allow for CE-VID translation and for an N:1 CE-VID to EVI services allow for CE-VID translation and for an N:1 CE-VID to EVI
mapping. Both things are not supported at once in either of the two mapping. Both things are not supported at once in either of the two
other service interfaces. Some differences compared to the packet other service interfaces. Some differences compared to the packet
walkthrough described in section 6.2.2 are: walk-through described in Section 6.2.2 are as follows:
o At the ingress PE, the frames are identified to be forwarded in the o At the ingress PE, the frames are identified to be forwarded in
EVI300 context as long as their CE-VID belong to the range defined the EVI300 context as long as their CE-VID belong to the range
in the PE port to the CE. In addition to it, CE-VID=x is mapped to defined in the PE port to the CE. In addition to it, CE-VID=x is
a "normalized" Ethernet-Tag=y at the MAC-VRF-300 (where x and y mapped to a "normalized" Ethernet-Tag=y at the MAC-VRF-300 (where
might be equal if no translation is needed). Qualified learning is x and y might be equal if no translation is needed). Qualified
now required (a different Bridge Table is allocated within MAC- learning is now required (a different bridge table is allocated
VRF-300 for each Ethernet-Tag). Potentially the same MAC could be within MAC-VRF-300 for each Ethernet Tag). Potentially, the same
learned in two different Ethernet-Tag Bridge Tables of the same MAC could be learned in two different Ethernet Tag bridge tables
MAC-VRF. of the same MAC-VRF.
o Any new locally learned MAC on the MAC-VRF-300/Ethernet-Tag=y o Any new locally learned MAC on the MAC-VRF-300/Ethernet-Tag=y
interface is advertised by the ingress PE in a MAC advertisement interface is advertised by the ingress PE in a MAC Advertisement
route, using now the Ethernet-Tag field (Ethernet-Tag=y) so that route using the now Ethernet Tag field (Ethernet-Tag=y) so that
the remote PE learns the MAC associated to the MAC-VRF- the remote PE learns the MAC associated with the MAC-VRF-300/
300/Ethernet-Tag=y FIB. Note that the Ethernet-Tag field is not Ethernet-Tag=y FIB. Note that the Ethernet Tag field is not used
used in advertisements of MACs learned on VLAN-based or VLAN- in advertisements of MACs learned on VLAN-based or VLAN-bundle
bundle service interfaces. service interfaces.
o At the ingress PE, BUM frames are sent to the corresponding o At the ingress PE, BUM frames are sent to the corresponding
flooding tree for the particular Ethernet-Tag they are mapped to. flooding tree for the particular Ethernet Tag they are mapped to.
Each individual Ethernet-Tag can have a different flooding tree Each individual Ethernet Tag can have a different flooding tree
within the same EVI300. For instance, Ethernet-Tag=y can use within the same EVI300. For instance, Ethernet-Tag=y can use
ingress replication to get to the remote PEs whereas Ethernet- ingress replication to get to the remote PEs, whereas Ethernet-
Tag=z can use a p2mp LSP. Tag=z can use a P2MP LSP.
o At the egress PE, Ethernet-Tag=y, for a given broadcast domain o At the egress PE, Ethernet-Tag=y (for a given broadcast domain
within MAC-VRF-300, can be translated to egress CE-VID=x. That is within MAC-VRF-300) can be translated to egress CE-VID=x. That is
not possible for VLAN-bundle interfaces. It is possible for VLAN- not possible for VLAN bundle interfaces. It is possible for VLAN-
based interfaces, but it requires a separate MAC-VRF per CE-VID. based interfaces, but it requires a separate MAC-VRF per CE-VID.
7. MPLS-based forwarding model use-case 7. MPLS-Based Forwarding Model Use Case
EVPN supports an alternative forwarding model, usually referred to as EVPN supports an alternative forwarding model, usually referred to as
MPLS-based forwarding or disposition model as opposed to the the MPLS-based forwarding or disposition model, as opposed to the
MAC-based forwarding or disposition model described in section 6. MAC-based forwarding or disposition model described in Section 6.
Using MPLS-based forwarding model instead of MAC-based model might Using the MPLS-based forwarding model instead of the MAC-based model
have an impact on: might have an impact on the following:
o The number of forwarding states required. o the number of forwarding states required; and
o The FIB where the forwarding states are handled: MAC FIB or MPLS o the FIB where the forwarding states are handled (MAC FIB or MPLS
LFIB. Label FIB (LFIB)).
The MPLS-based forwarding model avoids the destination MAC lookup at The MPLS-based forwarding model avoids the destination MAC lookup at
the egress PE MAC FIB, at the expense of increasing the number of the egress PE MAC FIB at the expense of increasing the number of
next-hop forwarding states at the egress MPLS LFIB. This also has an next-hop forwarding states at the egress MPLS LFIB. This also has an
impact on the control plane and the label allocation model, since an impact on the control plane and the label allocation model, since an
MPLS-based disposition PE must send as many routes and labels as MPLS-based disposition PE must send as many routes and labels as
required next-hops in the egress MAC-VRF. This concept is equivalent required next-hops in the egress MAC-VRF. This concept is equivalent
to the forwarding models supported in IP-VPNs at the egress PE, where to the forwarding models supported in IP-VPNs at the egress PE, where
an IP lookup in the IP-VPN FIB might be necessary or not depending on an IP lookup in the IP-VPN FIB may or may not be necessary depending
the available next-hop forwarding states in the LFIB. on the available next-hop forwarding states in the LFIB.
The following sub-sections highlight the impact on the control and The following subsections highlight the impact on the control- and
data plane procedures described in section 6 when and MPLS-based data-plane procedures described in Section 6 when an MPLS-based
forwarding model is used. forwarding model is used.
Note that both forwarding models are compatible and interoperable in Note that both forwarding models are compatible and interoperable in
the same network. The implementation of either model in each PE is a the same network. The implementation of either model in each PE is a
local decision to the PE node. local decision to the PE node.
7.1. Impact of MPLS-based forwarding on the EVPN network startup 7.1. Impact of MPLS-Based Forwarding on the EVPN Network Startup
The MPLS-based forwarding model has no impact on the procedures The MPLS-based forwarding model has no impact on the procedures
explained in section 6.1. explained in Section 6.1.
7.2. Impact of MPLS-based forwarding on the VLAN-based service 7.2. Impact of MPLS-Based Forwarding on the VLAN-Based Service
procedures Procedures
Compared to the MAC-based forwarding model, the MPLS-based forwarding Compared to the MAC-based forwarding model, the MPLS-based forwarding
model has no impact in terms of number of routes, when all the model has no impact in terms of the number of routes when all the
service interfaces are VLAN-based. The differences for the use-case service interfaces are based on VLAN. The differences for the use
described in this document are summarized in the following list: case described in this document are summarized in the following list:
o Flooding tree setup per EVI (4k routes per PE): no impact compared o Flooding tree setup per EVI (4k routes per PE): There is no impact
to the MAC-based model. when compared to the MAC-based model.
o Ethernet A-D routes per ESI (one set of routes for ESI12 per PE): o Ethernet A-D routes per ESI (one set of routes for ESI12 per PE):
no impact compared to the MAC-based model. There is no impact compared to the MAC-based model.
o Ethernet A-D routes per EVI (4k routes per PE/ESI): no impact o Ethernet A-D routes per EVI (4k routes per PE/ESI): There is no
compared to the MAC-based model. impact compared to the MAC-based model.
o MAC-advertisement routes: instead of allocating and advertising the o MAC Advertisement routes: Instead of allocating and advertising
same MPLS label for all the new MACs locally learnt on the same the same MPLS Label for all the new MACs locally learned on the
MAC-VRF, a different label must be advertised per CE next-hop or same MAC-VRF, a different label must be advertised per CE next-hop
MAC so that no MAC FIB lookup is needed at the egress PE. In or MAC so that no MAC FIB lookup is needed at the egress PE. In
general, this means that a different label at least per CE must be general, this means that a different label (at least per CE) must
advertised, although the PE can decide to implement a label per MAC be advertised, although the PE can decide to implement a label per
if more granularity (hence less scalability) is required in terms MAC if more granularity (hence, less scalability) is required in
of forwarding states. For example if CE2 sends traffic from two terms of forwarding states. For example, if CE2 sends traffic
different MACs to PE1, CE2-MAC1 and CE2-MAC2, the same MPLS label=x from two different MACs to PE1, CE2-MAC1, and CE2-MAC2, the same
can be re-used for both MAC advertisements since they both share MPLS Label=x can be re-used for both MAC advertisements, since
the same source ESI12. It is up to the PE1 implementation to use a they both share the same source ESI12. It is up to the PE1
different label per individual MAC within the same ES Segment (even implementation to use a different label per individual MAC within
if only one label per ESI is enough). the same ES (even if only one label per ESI is enough).
o PE1, PE2 and PE3 will not add forwarding states to the MAC FIB upon o PE1, PE2, and PE3 will not add forwarding states to the MAC FIB
learning new local CE MAC addresses on the data plane, but will upon learning new local CE MAC addresses on the data plane but
rather add forwarding states to the MPLS LFIB. will rather add forwarding states to the MPLS LFIB.
7.3. Impact of MPLS-based forwarding on the VLAN-bundle service 7.3. Impact of MPLS-Based Forwarding on the VLAN Bundle Service
procedures Procedures
Compared to the MAC-based forwarding model, the MPLS-based forwarding Compared to the MAC-based forwarding model, the MPLS-based forwarding
model has no impact in terms of number of routes when all the service model has no impact in terms of number of routes when all the service
interfaces are VLAN-bundle type. The differences for the use-case interfaces are VLAN bundle type. The differences for the use case
described in this document are summarized in the following list: described in this document are summarized in the following list:
o Flooding tree setup per EVI (one route): no impact compared to the o Flooding tree setup per EVI (one route): There is no impact
MAC-based model. compared to the MAC-based model.
o Ethernet A-D routes per ESI (one route for ESI12 per PE): no impact o Ethernet A-D routes per ESI (one route for ESI12 per PE): There is
compared to the MAC-based model. no impact compared to the MAC-based model.
o Ethernet A-D routes per EVI (one route per PE/ESI): no impact o Ethernet A-D routes per EVI (one route per PE/ESI): There is no
compared to the MAC-based model since no VLAN translation is impact compared to the MAC-based model since no VLAN translation
required. is required.
o MAC-advertisement routes: instead of allocating and advertising the o MAC Advertisement routes: Instead of allocating and advertising
same MPLS label for all the new MACs locally learnt on the same the same MPLS Label for all the new MACs locally learned on the
MAC-VRF, a different label must be advertised per CE next-hop or same MAC-VRF, a different label must be advertised per CE next-hop
MAC so that no MAC FIB lookup is needed at the egress PE. In or MAC so that no MAC FIB lookup is needed at the egress PE. In
general, this means that a different label at least per CE must be general, this means that a different label (at least per CE) must
advertised, although the PE can decide to implement a label per MAC be advertised, although the PE can decide to implement a label per
if more granularity (hence less scalability) is required in terms MAC if more granularity (hence, less scalability) is required in
of forwarding states. It is up to the PE1 implementation to use a terms of forwarding states. It is up to the PE1 implementation to
different label per individual MAC within the same ES Segment (even use a different label per individual MAC within the same ES (even
if only one label per ESI is enough). if only one label per ESI is enough).
o PE1, PE2 and PE3 will not add forwarding states to the MAC FIB upon o PE1, PE2, and PE3 will not add forwarding states to the MAC FIB
learning new local CE MAC addresses on the data plane, but will upon learning new local CE MAC addresses on the data plane, but
rather add forwarding states to the MPLS LFIB. will rather add forwarding states to the MPLS LFIB.
7.4. Impact of MPLS-based forwarding on the VLAN-aware service 7.4. Impact of MPLS-Based Forwarding on the VLAN-Aware Service
procedures Procedures
Compared to the MAC-based forwarding model, the MPLS-based forwarding Compared to the MAC-based forwarding model, the MPLS-based forwarding
model has no impact in terms of number of A-D routes when all the model has no impact in terms of the number of A-D routes when all the
service interfaces are VLAN-aware bundle type. The differences for service interfaces are of the VLAN-aware bundle type. The
the use-case described in this document are summarized in the differences for the use case described in this document are
following list: summarized in the following list:
o Flooding tree setup per EVI (4k routes per PE): no impact compared o Flooding tree setup per EVI (4k routes per PE): There is no impact
to the MAC-based model. compared to the MAC-based model.
o Ethernet A-D routes per ESI (one route for ESI12 per PE): no impact o Ethernet A-D routes per ESI (one route for ESI12 per PE): There is
compared to the MAC-based model. no impact compared to the MAC-based model.
o Ethernet A-D routes per EVI (1 route per ESI or 4k routes per o Ethernet A-D routes per EVI (1 route per ESI or 4k routes per PE/
PE/ESI): PE1 and PE2 may send one route per ESI if no CE-VID ESI): PE1 and PE2 may send one route per ESI if no CE-VID
translation is needed. However, 4k routes normally sent for EVI300, translation is needed. However, 4k routes are normally sent for
one per <ESI, Ethernet-Tag ID> tuple. This will allow the egress PE EVI300, one per <ESI, Ethernet Tag ID> tuple. This allows the
to find out all the forwarding information in the MPLS LFIB and egress PE to find out all the forwarding information in the MPLS
even support Ethernet-Tag to CE-VID translation at the egress. LFIB and even support Ethernet Tag to CE-VID translation at the
egress.
o MAC-advertisement routes: instead of allocating and advertising the o MAC Advertisement routes: Instead of allocating and advertising
same MPLS label for all the new MACs locally learnt on the same the same MPLS Label for all the new MACs locally learned on the
MAC-VRF, a different label must be advertised per CE next-hop or same MAC-VRF, a different label must be advertised per CE next-hop
MAC so that no MAC FIB lookup is needed at the egress PE. In or MAC so that no MAC FIB lookup is needed at the egress PE. In
general, this means that a different label at least per CE must be general, this means that a different label (at least per CE) must
advertised, although the PE can decide to implement a label per MAC be advertised, although the PE can decide to implement a label per
if more granularity (hence less scalability) is required in terms MAC if more granularity (hence, less scalability) is required in
of forwarding states. It is up to the PE1 implementation to use a terms of forwarding states. It is up to the PE1 implementation to
different label per individual MAC within the same ES Segment. Note use a different label per individual MAC within the same ES. Note
that the Ethernet-Tag will be set to a non-zero value for the MAC- that the Ethernet Tag will be set to a non-zero value for the MAC
advertisement routes. The same MAC address can be announced with Advertisement routes. The same MAC address can be announced with
different Ethernet-Tag value. This will make the advertising PE a different Ethernet Tag value. This will make the advertising PE
install two different forwarding states in the MPLS LFIB. install two different forwarding states in the MPLS LFIB.
o PE1, PE2 and PE3 will not add forwarding states to the MAC FIB upon o PE1, PE2, and PE3 will not add forwarding states to the MAC FIB
learning new local CE MAC addresses on the data plane, but will upon learning new local CE MAC addresses on the data plane but
rather add forwarding states to the MPLS LFIB. will rather add forwarding states to the MPLS LFIB.
8. Comparison between MAC-based and MPLS-based Egress Forwarding Models 8. Comparison between MAC-Based and MPLS-Based Egress Forwarding Models
Both forwarding models are possible in a network deployment and each Both forwarding models are possible in a network deployment, and each
one has its own trade-offs. one has its own trade-offs.
Both forwarding models can save A-D routes per EVI when VLAN-aware Both forwarding models can save A-D routes per EVI when VLAN-aware
bundling services are deployed and no CE-VID translation is required. bundling services are deployed and no CE-VID translation is required.
While this saves a significant amount of routes, customers normally While this saves a significant amount of routes, customers normally
require CE-VID translation, hence we assume an A-D per EVI route per require CE-VID translation; hence, we assume an A-D per EVI route per
<ESI, Ethernet-Tag> is needed. <ESI, Ethernet Tag> is needed.
The MAC-based model saves a significant amount of MPLS labels The MAC-based model saves a significant amount of MPLS Labels
compared to the MPLS-based forwarding model. All the MACs and A-D compared to the MPLS-based forwarding model. All the MACs and A-D
routes for the same EVI can signal the same MPLS label, saving labels routes for the same EVI can signal the same MPLS Label, saving labels
from the local PE space. A MAC FIB lookup at the egress PE is from the local PE space. A MAC FIB lookup at the egress PE is
required in order to do so. required in order to do so.
The MPLS-based forwarding model can save forwarding states at the The MPLS-based forwarding model can save forwarding states at the
egress PEs if labels per next hop CE (as opposed to per MAC) are egress PEs if labels per next-hop CE (as opposed to per MAC) are
implemented. No egress MAC lookup is required. Also, a different implemented. No egress MAC lookup is required. Also, a different
label per next-hop CE per MAC-VRF is consumed, as opposed to a single label per next-hop CE per MAC-VRF is consumed, as opposed to a single
label per MAC-VRF. label per MAC-VRF.
Table 2 summarizes the resource implementation details of both Table 2 summarizes the resource implementation details of both
models. models.
+-----------------------------+----------------+----------------+ +-----------------------------+-----------------+------------------+
| Resources | MAC-based | MPLS-based | | Resources | MAC-Based Model | MPLS-Based Model |
| | Model | Model | +-----------------------------+-----------------+------------------+
+-----------------------------+----------------+----------------+ | MPLS Labels Consumed | 1 per MAC-VRF | 1 per CE/EVI |
| MPLS labels consumed | 1 per MAC-VRF | 1 per CE/EVI | | Egress PE Forwarding States | 1 per MAC | 1 per Next-Hop |
| Egress PE Forwarding states | 1 per MAC | 1 per next-hop | | Egress PE Lookups | 2 (MPLS+MAC) | 1 (MPLS) |
| Egress PE Lookups | 2 (MPLS+MAC) | 1 (MPLS) | +-----------------------------+-----------------+------------------+
+-----------------------------+----------------+----------------+
Table 2 - Resource Comparison Between MAC-based and MPLS-based Models Table 2: Resource Comparison between MAC-Based and MPLS-Based Models
The egress forwarding model is an implementation local to the egress The egress forwarding model is an implementation local to the egress
PE and is independent of the model supported on the rest of the PEs, PE and is independent of the model supported on the rest of the PEs;
i.e. in our use-case, PE1, PE2 and PE3 could have either egress i.e., in our use case, PE1, PE2, and PE3 could have either egress
forwarding model without any dependencies. forwarding model without any dependencies.
9. Traffic flow optimization 9. Traffic Flow Optimization
In addition to the procedures described across sections 3 through 8, In addition to the procedures described across Sections 3 through 8,
EVPN [RFC7432] procedures allow for optimized traffic handling in EVPN [RFC7432] procedures allow for optimized traffic handling in
order to minimize unnecessary flooding across the entire order to minimize unnecessary flooding across the entire
infrastructure. Optimization is provided through specific ARP infrastructure. Optimization is provided through specific ARP
termination and the ability to block unknown unicast flooding. termination and the ability to block unknown unicast flooding.
Additionally, EVPN procedures allow for intelligent, close to the Additionally, EVPN procedures allow for intelligent, close to the
source, inter-subnet forwarding and solves the commonly known sub- source, inter-subnet forwarding and solves the commonly known
optimal routing problem. Besides the traffic efficiency, ingress suboptimal routing problem. Besides the traffic efficiency, ingress-
based inter-subnet forwarding also optimizes packet forwarding rules based inter-subnet forwarding also optimizes packet forwarding rules
and implementation at the egress nodes as well. Details of these and implementation at the egress nodes as well. Details of these
procedures are outlined in sections 9.1 and 9.2. procedures are outlined in Sections 9.1 and 9.2.
9.1. Control Plane Procedures 9.1. Control-Plane Procedures
9.1.1. MAC learning options 9.1.1. MAC Learning Options
The fundamental premise of [RFC7432] is the notion of a different The fundamental premise of [RFC7432] is the notion of a different
approach to MAC address learning compared to traditional IEEE 802.1 approach to MAC address learning compared to traditional IEEE 802.1
bridge learning methods; specifically EVPN differentiates between bridge learning methods; specifically, EVPN differentiates between
data and control plane driven learning mechanisms. data and control-plane-driven learning mechanisms.
Data driven learning implies that there is no separate communication Data-driven learning implies that there is no separate communication
channel used to advertise and propagate MAC addresses. Rather, MAC channel used to advertise and propagate MAC addresses. Rather, MAC
addresses are learned through IEEE defined bridge-learning procedures addresses are learned through IEEE-defined bridge learning procedures
as well as by snooping on DHCP and ARP requests. As different MAC as well as by snooping on DHCP and ARP requests. As different MAC
addresses show up on different ports, the L2 FIB is populated with addresses show up on different ports, the Layer 2 (L2) FIB is
the appropriate MAC addresses. populated with the appropriate MAC addresses.
Control plane driven learning implies a communication channel that Control-plane-driven learning implies a communication channel that
could be either a control-plane protocol or a management-plane could be either a control-plane protocol or a management-plane
mechanism. In the context of EVPN, two different learning procedures mechanism. In the context of EVPN, two different learning procedures
are defined, i.e. local and remote procedures: are defined: local and remote procedures.
o Local learning defines the procedures used for learning the MAC o Local learning defines the procedures used for learning the MAC
addresses of network elements locally connected to a MAC-VRF. addresses of network elements locally connected to a MAC-VRF.
Local learning could be implemented through all three learning Local learning could be implemented through all three learning
procedures: control plane, management plane as well as data plane. procedures: control plane, management plane, and data plane.
However, the expectation is that for most of the use cases, local However, the expectation is that for most of the use cases, local
learning through data plane should be sufficient. learning through the data plane should be sufficient.
o Remote learning defines the procedures used for learning MAC o Remote learning defines the procedures used for learning MAC
addresses of network elements remotely connected to a MAC-VRF, addresses of network elements remotely connected to a MAC-VRF,
i.e. far-end PEs. Remote learning procedures defined in [RFC7432] i.e., far-end PEs. Remote learning procedures defined in
advocate using only control plane learning; specifically BGP. [RFC7432] advocate using only control-plane learning, BGP
Through the use of BGP EVPN NLRIs, the remote PE has the specifically. Through the use of BGP EVPN NLRIs, the remote PE
capability of advertising all the MAC addresses present in its has the capability of advertising all the MAC addresses present in
local FIB. its local FIB.
9.1.2. Proxy-ARP/ND 9.1.2. Proxy ARP/ND
In EVPN, MAC addresses are advertised via the MAC/IP Advertisement In EVPN, MAC addresses are advertised via the MAC/IP Advertisement
Route, as discussed in [RFC7432]. Optionally an IP address can be route, as discussed in [RFC7432]. Optionally, an IP address can be
advertised along with the MAC address advertisement. However, there advertised along with the MAC address advertisement. However, there
are certain rules put in place in terms of IP address usage: if the are certain rules put in place in terms of IP address usage: if the
MAC/IP Route contains an IP address, this particular IP address MAC/IP Route contains an IP address, this particular IP address
correlates directly with the advertised MAC address. Such correlates directly with the advertised MAC address. Such
advertisement allows us to build a proxy-ARP/ND table populated with advertisement allows us to build a proxy ARP / Neighbor Discovery
the IP<->MAC bindings received from all the remote nodes. (ND) table populated with the IP<->MAC bindings received from all the
remote nodes.
Furthermore, based on these bindings, a local MAC-VRF can now provide Furthermore, based on these bindings, a local MAC-VRF can now provide
Proxy-ARP/ND functionality for all ARP requests and ND solicitations proxy ARP/ND functionality for all ARP requests and ND solicitations
directed to the IP address pool learned through BGP. Therefore, the directed to the IP address pool learned through BGP. Therefore, the
amount of unnecessary L2 flooding, ARP/ND requests/solicitations in amount of unnecessary L2 flooding (ARP/ND requests/solicitations in
this case, can be further reduced by the introduction of Proxy-ARP/ND this case) can be further reduced by the introduction of proxy ARP/ND
functionality across all EVI MAC-VRFs. functionality across all EVI MAC-VRFs.
9.1.3. Unknown Unicast flooding suppression 9.1.3. Unknown Unicast Flooding Suppression
Given that all locally learned MAC addresses are advertised through Given that all locally learned MAC addresses are advertised through
BGP to all remote PEs, suppressing flooding of any Unknown Unicast BGP to all remote PEs, suppressing flooding of any unknown unicast
traffic towards the remote PEs is a feasible network optimization. traffic towards the remote PEs is a feasible network optimization.
The assumption in the use case is made that any network device that The assumption in the use case is made that any network device that
appears on a remote MAC-VRF will somehow signal its presence to the appears on a remote MAC-VRF will somehow signal its presence to the
network. This signaling can be done through for example gratuitous network. This signaling can be done through, for example, gratuitous
ARPs. Once the remote PE acknowledges the presence of the node in the ARPs. Once the remote PE acknowledges the presence of the node in
MAC-VRF, it will do two things: install its MAC address in its local the MAC-VRF, it will do two things: install its MAC address in its
FIB and advertise this MAC address to all other BGP speakers via EVPN local FIB and advertise this MAC address to all other BGP speakers
NLRI. Therefore, we can assume that any active MAC address is via EVPN NLRI. Therefore, we can assume that any active MAC address
propagated and learnt through the entire EVI. Given that MAC is propagated and learned through the entire EVI. Given that MAC
addresses become pre-populated - once nodes are alive on the network addresses become prepopulated -- once nodes are alive on the network
- there is no need to flood any unknown unicast towards the remote -- there is no need to flood any unknown unicast towards the remote
PEs. If the owner of a given destination MAC is active, the BGP route PEs. If the owner of a given destination MAC is active, the BGP
will be present in the local RIB and FIB, assuming that the BGP route will be present in the local RIB and FIB, assuming that the BGP
import policies are successfully applied; otherwise, the owner of import policies are successfully applied; otherwise, the owner of
such destination MAC is not present on the network. such destination MAC is not present on the network.
It is worth noting that unknown unicast flooding must not be It is worth noting that unknown unicast flooding must not be
suppressed, unless (at least) one of the following two statements are suppressed unless (at least) one of the following two statements is
given: a) control or management plane learning is performed given: a) control- or management-plane learning is performed
throughout the entire EVI for all the MACs or b) all the EVI-attached throughout the entire EVI for all the MACs or b) all the EVI-attached
devices signal their presence when they come up (GARPs or similar). devices signal their presence when they come up (Gratuitous ARP
(GARP) packets or similar).
9.1.4. Optimization of Inter-subnet forwarding 9.1.4. Optimization of Inter-Subnet Forwarding
In a scenario in which both L2 and L3 services are needed over the In a scenario in which both L2 and L3 services are needed over the
same physical topology, some interaction between EVPN and IP-VPN is same physical topology, some interaction between EVPN and IP-VPN is
required. A common way of stitching the two service planes is through required. A common way of stitching the two service planes is
the use of an IRB interface, which allows for traffic to be either through the use of an Integrated Routing and Bridging (IRB)
routed or bridged depending on its destination MAC address. If the interface, which allows for traffic to be either routed or bridged
destination MAC address is the one of the IRB interface, traffic depending on its destination MAC address. If the destination MAC
needs to be passed through a routing module and potentially be either address is the one from the IRB interface, traffic needs to be passed
routed to a remote PE or forwarded to a local subnet. If the through a routing module and potentially be either routed to a remote
destination MAC address is not the one of the IRB, the MAC-VRF PE or forwarded to a local subnet. If the destination MAC address is
follows standard bridging procedures. not the one from the IRB interface, the MAC-VRF follows standard
bridging procedures.
A typical example of EVPN inter-subnet forwarding would be a scenario A typical example of EVPN inter-subnet forwarding would be a scenario
in which multiple IP subnets are part of a single or multiple EVIs, in which multiple IP subnets are part of a single or multiple EVIs,
and they all belong to a single IP-VPN. In such topologies, it is and they all belong to a single IP-VPN. In such topologies, it is
desired that inter-subnet traffic can be efficiently routed without desired that inter-subnet traffic can be efficiently routed without
any tromboning effects in the network. Due to the overlapping any tromboning effects in the network. Due to the overlapping
physical and service topology in such scenarios, all inter-subnet physical and service topology in such scenarios, all inter-subnet
connectivity will be locally routed through the IRB interface. connectivity will be locally routed through the IRB interface.
In addition to optimizing the traffic patterns in the network, local In addition to optimizing the traffic patterns in the network, local
inter-subnet forwarding also optimizes greatly the amount of inter-subnet forwarding also greatly optimizes the amount of
processing needed to cross the subnets. Through EVPN MAC processing needed to cross the subnets. Through EVPN MAC
advertisements, the local PE learns the real destination MAC address advertisements, the local PE learns the real destination MAC address
associated with the remote IP address and the inter-subnet forwarding associated with the remote IP address and the inter-subnet forwarding
can happen locally. When the packet is received at the egress PE, it can happen locally. When the packet is received at the egress PE, it
is directly mapped to an egress MAC-VRF, bypassing any egress IP-VPN is directly mapped to an egress MAC-VRF and bypasses any egress
processing. IP-VPN processing.
Please refer to [EVPN-INTERSUBNET] for more information about the IP Please refer to [EVPN-INTERSUBNET] for more information about the IP
inter-subnet forwarding procedures in EVPN. inter-subnet forwarding procedures in EVPN.
9.2. Packet Walkthrough Examples 9.2. Packet Walk-Through Examples
Assuming that the services are setup according to figure 1 in section Assuming that the services are set up according to Figure 1 in
3, the following flow optimization processes will take place in terms Section 3, the following flow optimization processes will take place
of creating, receiving and forwarding packets across the network. in terms of creating, receiving, and forwarding packets across the
network.
9.2.1. Proxy-ARP example for CE2 to CE3 traffic 9.2.1. Proxy ARP Example for CE2-to-CE3 Traffic
Using Figure 1 in section 3, consider EVI 400 residing on PE1, PE2 Using Figure 1 in Section 3, consider EVI400 residing on PE1, PE2,
and PE3 connecting CE2 and CE3 networks. Also, consider that PE1 and and PE3 connecting CE2 and CE3 networks. Also, consider that PE1 and
PE2 are part of the all-active multi-homing ES for CE2, and that PE2 PE2 are part of the all-active multihoming ES for CE2, and that PE2
is elected designated-forwarder for EVI400. We assume that all the is elected designated forwarder for EVI400. We assume that all the
PEs implement the proxy-ARP functionality in the MAC-VRF-400 context. PEs implement the proxy ARP functionality in the MAC-VRF-400 context.
In this scenario, PE3 will not only advertise the MAC addresses In this scenario, PE3 will not only advertise the MAC addresses
through the EVPN MAC Advertisement Route but also IP addresses of through the EVPN MAC Advertisement route but also IP addresses of
individual hosts, i.e. /32 prefixes, behind CE3. Upon receiving the individual hosts (i.e., /32 prefixes) behind CE3. Upon receiving the
EVPN routes, PE1 and PE2 will install the MAC addresses in the MAC- EVPN routes, PE1 and PE2 will install the MAC addresses in the MAC-
VRF-400 FIB and based on the associated received IP addresses, PE1 VRF-400 FIB and, based on the associated received IP addresses, PE1
and PE2 can now build a proxy-ARP table within the context of MAC- and PE2 can now build a proxy ARP table within the context of MAC-
VRF-400. VRF-400.
From the forwarding perspective, when a node behind CE2 sends a frame From the forwarding perspective, when a node behind CE2 sends a frame
destined to a node behind CE3, it will first send an ARP request to destined to a node behind CE3, it will first send an ARP request to,
for example PE2 (based on the result of the CE2 hashing). Assuming for example, PE2 (based on the result of the CE2 hashing). Assuming
that PE2 has populated its proxy-ARP table for all active nodes that PE2 has populated its proxy ARP table for all active nodes
behind the CE3, and that the IP address in the ARP message matches behind the CE3, and that the IP address in the ARP message matches
the entry in the table, PE2 will respond to the ARP request with the the entry in the table, PE2 will respond to the ARP request with the
actual MAC address on behalf of the node behind CE3. actual MAC address on behalf of the node behind CE3.
Once the nodes behind CE2 learn the actual MAC address of the nodes Once the nodes behind CE2 learn the actual MAC address of the nodes
behind CE3, all the MAC-to-MAC communications between the two behind CE3, all the MAC-to-MAC communications between the two
networks will be unicast. networks will be unicast.
9.2.2. Flood suppression example for CE1 to CE3 traffic 9.2.2. Flood Suppression Example for CE1-to-CE3 Traffic
Using Figure 1 in section 3, consider EVI 500 residing on PE1 and PE3
connecting CE1 and CE3 networks. Consider that both PE1 and PE3 have Using Figure 1 in Section 3, consider EVI500 residing on PE1 and PE3
disabled unknown unicast flooding for this specific EVI context. Once connecting CE1 and CE3 networks. Consider that both PE1 and PE3 have
the network devices behind CE3 come online they will learn their MAC disabled unknown unicast flooding for this specific EVI context.
addresses and create local FIB entries for these devices. Note that Once the network devices behind CE3 come online, they will learn
local FIB entries could also be created through either a control or their MAC addresses and create local FIB entries for these devices.
management plane between PE and CE as well. Consequently, PE3 will Note that local FIB entries could also be created through either a
automatically create EVPN Type 2 MAC Advertisement Routes and control or management plane between PE and CE as well. Consequently,
advertise all locally learned MAC addresses. The routes will also PE3 will automatically create EVPN Type 2 MAC Advertisement routes
include the corresponding MPLS label. and advertise all locally learned MAC addresses. The routes will
also include the corresponding MPLS Label.
Given that PE1 automatically learns and installs all MAC addresses Given that PE1 automatically learns and installs all MAC addresses
behind CE3, its MAC-VRF FIB will already be pre-populated with the behind CE3, its MAC-VRF FIB will already be prepopulated with the
respective next-hops and label assignments associated with the MAC respective next-hops and label assignments associated with the MAC
addresses behind CE3. As such, as soon as the traffic sent by CE1 to addresses behind CE3. As such, as soon as the traffic sent by CE1 to
nodes behind CE3 is received into the context of EVI 500, PE1 will nodes behind CE3 is received into the context of EVI500, PE1 will
push the MPLS Label(s) onto the original Ethernet frame and send the push the MPLS Label(s) onto the original Ethernet frame and send the
packet to the MPLS network. As usual, once PE3 receives this packet, packet to the MPLS network. As usual, once PE3 receives this packet,
and depending on the forwarding model, PE3 will either do a next-hop and depending on the forwarding model, PE3 will either do a next-hop
lookup in the EVI 500 context, or will just forward the traffic lookup in the EVI500 context or just forward the traffic directly to
directly to the CE3. In the case that PE1 MAC-VRF-500 does not have a the CE3. In the case that PE1 MAC-VRF-500 does not have a MAC entry
MAC entry for a specific destination that CE1 is trying to reach, PE1 for a specific destination that CE1 is trying to reach, PE1 will drop
will drop the frame since unknown unicast flooding is disabled. the frame since unknown unicast flooding is disabled.
Based on the assumption that all the MAC entries behind the CEs are Based on the assumption that all the MAC entries behind the CEs are
pre-populated through gratuitous-ARP and/or DHCP requests, if one prepopulated through gratuitous ARP and/or DHCP requests, if one
specific MAC entry is not present in the MAC-VRF-500 FIB on PE1, the specific MAC entry is not present in the MAC-VRF-500 FIB on PE1, the
owner of that MAC is not alive on the network behind the CE3, hence owner of that MAC is not alive on the network behind the CE3; hence,
the traffic can be dropped at PE1 instead of be flooded and consume the traffic can be dropped at PE1 instead of flooding and consuming
network bandwidth. network bandwidth.
9.2.3. Optimization of inter-subnet forwarding example for CE3 to CE2 9.2.3. Optimization of Inter-subnet Forwarding Example for CE3-to-CE2
traffic Traffic
Using Figure 1 in section 3 consider that there is an IP-VPN 666 Using Figure 1 in Section 3, consider that there is an IP-VPN 666
context residing on PE1, PE2 and PE3 which connects CE1, CE2 and CE3 context residing on PE1, PE2, and PE3, which connects CE1, CE2, and
into a single IP-VPN domain. Also consider that there are two EVIs CE3 into a single IP-VPN domain. Also consider that there are two
present on the PEs, EVI 600 and EVI 60. Each IP subnet is associated EVIs present on the PEs, EVI600 and EVI60. Each IP subnet is
to a different MAC-VRF context. Thus there is a single subnet, subnet associated with a different MAC-VRF context. Thus, there is a single
600, between CE1 and CE3 that is established through EVI 600. subnet (subnet 600) between CE1 and CE3 that is established through
Similarly, there is another subnet, subnet 60, between CE2 and CE3 EVI600. Similarly, there is another subnet (subnet 60) between CE2
that is established through EVI 60. Since both subnets are part of and CE3 that is established through EVI60. Since both subnets are
the same IP VPN, there is a mapping of each EVI (or individual part of the same IP-VPN, there is a mapping of each EVI (or
subnet) to a local IRB interface on the three PEs. individual subnet) to a local IRB interface on the three PEs.
If a node behind CE2 wants to communicate with a node on the same If a node behind CE2 wants to communicate with a node on the same
subnet seating behind CE3, the communication flow will follow the subnet seating behind CE3, the communication flow will follow the
standard EVPN procedures, i.e. FIB lookup within the PE1 (or PE2) standard EVPN procedures, i.e., FIB lookup within the PE1 (or PE2)
after adding the corresponding EVPN label to the MPLS label stack after adding the corresponding EVPN label to the MPLS Label stack
(downstream label allocation from PE3 for EVI 60). (downstream label allocation from PE3 for EVI60).
When it comes to crossing the subnet boundaries, the ingress PE When it comes to crossing the subnet boundaries, the ingress PE
implements local inter-subnet forwarding. For example, when a node implements local inter-subnet forwarding. For example, when a node
behind CE2 (EVI 60) sends a packet to a node behind CE1 (EVI 600) the behind CE2 (EVI60) sends a packet to a node behind CE1 (EVI600), the
destination IP address will be in the subnet 600, but the destination destination IP address will be in the subnet 600, but the destination
MAC address will be the address of source node's default gateway, MAC address will be the address of the source node's default gateway,
which in this case will be an IRB interface on PE1 (connecting EVI 60 which in this case will be an IRB interface on PE1 (connecting EVI60
to IP-VPN 666). Once PE1 sees the traffic destined to its own MAC to IP-VPN 666). Once PE1 sees the traffic destined to its own MAC
address, it will route the packet to EVI 600, i.e. it will change the address, it will route the packet to EVI600, i.e., it will change the
source MAC address to the one of the IRB interface in EVI 600 and source MAC address to the one of the IRB interface in EVI600 and
change the destination MAC address to the address belonging to the change the destination MAC address to the address belonging to the
node behind CE1, which is already populated in the MAC-VRF-600 FIB, node behind CE1, which is already populated in the MAC-VRF-600 FIB,
either through data or control plane learning. either through data- or control-plane learning.
An important optimization to be noted is the local inter-subnet An important optimization to be noted is the local inter-subnet
forwarding in lieu of IP VPN routing. If the node from subnet 60 forwarding in lieu of IP-VPN routing. If the node from subnet 60
(behind CE2) is sending a packet to the remote end node on subnet 600 (behind CE2) is sending a packet to the remote end-node on subnet 600
(behind CE3), the mechanism in place still honors the local inter- (behind CE3), the mechanism in place still honors the local inter-
subnet (inter-EVI) forwarding. subnet (inter-EVI) forwarding.
In our use-case, therefore, when node from subnet 60 behind CE2 sends In our use case, therefore, when the node from subnet 60 behind CE2
traffic to the node on subnet 600 behind CE3, the destination MAC sends traffic to the node on subnet 600 behind CE3, the destination
address is the PE1 MAC-VRF-60 IRB MAC address. However, once the MAC address is the PE1 MAC-VRF-60 IRB MAC address. However, once the
traffic locally crosses EVIs, to EVI 600, via the IRB interface on traffic locally crosses EVIs to EVI600 (via the IRB interface on
PE1, the source MAC address is changed to that of the IRB interface PE1), the source MAC address is changed to that of the IRB interface
and the destination MAC address is changed to the one advertised by and the destination MAC address is changed to the one advertised by
PE3 via EVPN and already installed in MAC-VRF-600. The rest of the PE3 via EVPN and already installed in MAC-VRF-600. The rest of the
forwarding through PE1 is using the MAC-VRF-600 forwarding context forwarding through PE1 is using the MAC-VRF-600 forwarding context
and label space. and label space.
Another very relevant optimization is due to the fact that traffic Another very relevant optimization is due to the fact that traffic
between PEs is forwarded through EVPN, rather than through IP-VPN. In between PEs is forwarded through EVPN rather than through IP-VPN. In
the example described above for traffic from EVI 60 on CE2 to EVI 600 the example described above for traffic from EVI60 on CE2 to EVI600
on CE3, there is no need for IP-VPN processing on the egress PE3. on CE3, there is no need for IP-VPN processing on the egress PE3.
Traffic is forwarded either to the EVI 600 context in PE3 for further Traffic is forwarded either to the EVI600 context in PE3 for further
MAC lookup and next-hop processing, or directly to the node behind MAC lookup and next-hop processing or directly to the node behind
CE3, depending on the egress forwarding model being used. CE3, depending on the egress forwarding model being used.
10. Security Considerations 10. Security Considerations
Please refer to the "Security Considerations" section in [RFC7432]. Please refer to the "Security Considerations" section in [RFC7432].
The standards produced by the SIDR WG address secure route origin The standards produced by the SIDR Working Group address secure route
authentication (e.g., RFCs 6480-93) and route advertisement security origin authentication (e.g., RFCs 6480 through 6493) and route
(e.g., RFCs 8205-11). They protect the integrity and authenticity of advertisement security (e.g., RFCs 8205 through 8211). They protect
IP address advertisements and ASN/IP prefix bindings. This document, the integrity and authenticity of IP address advertisements and ASN/
and [RFC7432], use BGP to convey other info, e.g., MAC addresses, IP prefix bindings. This document and [RFC7432] use BGP to convey
and thus the protections offered by the SIDR WG RFCs are not other info (e.g., MAC addresses); thus, the protections offered by
applicable in this context. the SIDR WG RFCs are not applicable in this context.
11. IANA Considerations 11. IANA Considerations
No IANA considerations are needed. This document has no IANA actions.
12. References 12. References
12.1. Normative References 12.1. Normative References
[RFC7209] Sajassi, A., Aggarwal, R., Uttaro, J., Bitar, N., [RFC7209] Sajassi, A., Aggarwal, R., Uttaro, J., Bitar, N.,
Henderickx, W., and A. Isaac, "Requirements for Ethernet VPN (EVPN)", Henderickx, W., and A. Isaac, "Requirements for Ethernet
RFC 7209, DOI 10.17487/RFC7209, May 2014, <http://www.rfc- VPN (EVPN)", RFC 7209, DOI 10.17487/RFC7209, May 2014,
editor.org/info/rfc7209>. <https://www.rfc-editor.org/info/rfc7209>.
[RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based Ethernet Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
VPN", RFC 7432, DOI 10.17487/RFC7432, February 2015, <http://www.rfc- Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
editor.org/info/rfc7432>. 2015, <https://www.rfc-editor.org/info/rfc7432>.
12.2. Informative References 12.2. Informative References
[EVPN-INTERSUBNET] Sajassi et al., "IP Inter-subnet forwarding in [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private
EVPN", draft-ietf-bess-evpn-inter-subnet-forwarding-03.txt 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>.
[RFC4761] Kompella, K., Ed., and Y. Rekhter, Ed., "Virtual Private [RFC4762] Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private
LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling", LAN Service (VPLS) Using Label Distribution Protocol (LDP)
RFC 4761, DOI 10.17487/RFC4761, January 2007, <http://www.rfc- Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007,
editor.org/info/rfc4761>. <https://www.rfc-editor.org/info/rfc4762>.
[RFC4762] Lasserre, M., Ed., and V. Kompella, Ed., "Virtual Private [RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo,
LAN Service (VPLS) Using Label Distribution Protocol (LDP) "Provisioning, Auto-Discovery, and Signaling in Layer 2
Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007, Virtual Private Networks (L2VPNs)", RFC 6074,
<http://www.rfc-editor.org/info/rfc4762>. DOI 10.17487/RFC6074, January 2011,
<https://www.rfc-editor.org/info/rfc6074>.
[RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo, [EVPN-INTERSUBNET]
"Provisioning, Auto-Discovery, and Signaling in Layer 2 Virtual Sajassi, A., Salam, S., Thoria, S., Drake, J., Rabadan,
Private Networks (L2VPNs)", RFC 6074, DOI 10.17487/RFC6074, January J., and L. Yong, "Integrated Routing and Bridging in
2011, <http://www.rfc-editor.org/info/rfc6074>. EVPN", Work in Progress, draft-ietf-bess-evpn-inter-
subnet-forwarding-03, February 2017.
13. Acknowledgments Acknowledgments
The authors want to thank Giles Heron for his detailed review of the The authors want to thank Giles Heron for his detailed review of the
document. We also thank Stefan Plug, and Eric Wunan for their document. We also thank Stefan Plug and Eric Wunan for their
comments. comments.
14. Contributors Contributors
In addition to the authors listed on the front page, the following The following people contributed substantially to the content of this
co-authors have also contributed to this document: document and should be considered coauthors:
Florin Balus Florin Balus
Keyur Patel Keyur Patel
Aldrin Isaac Aldrin Isaac
Truman Boyes Truman Boyes
15. Authors' Addresses Authors' Addresses
Jorge Rabadan Jorge Rabadan (editor)
Nokia Nokia
777 E. Middlefield Road 777 E. Middlefield Road
Mountain View, CA 94043 USA Mountain View, CA 94043
United States America
Email: jorge.rabadan@nokia.com Email: jorge.rabadan@nokia.com
Senad Palislamovic Senad Palislamovic
Nokia Nokia
Email: senad.palislamovic@nokia.com Email: senad.palislamovic@nokia.com
Wim Henderickx Wim Henderickx
Nokia Nokia
Copernicuslaan 50
2018 Antwerp
Belgium
Email: wim.henderickx@nokia.com Email: wim.henderickx@nokia.com
Ali Sajassi Ali Sajassi
Cisco Cisco
Email: sajassi@cisco.com Email: sajassi@cisco.com
James Uttaro James Uttaro
AT&T AT&T
Email: uttaro@att.com Email: uttaro@att.com
 End of changes. 292 change blocks. 
937 lines changed or deleted 957 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/