draft-ietf-l2vpn-evpn-11.txt   rfc7432.txt 
Network Working Group A. Sajassi, Ed. Internet Engineering Task Force (IETF) A. Sajassi, Ed.
INTERNET-DRAFT Cisco Request for Comments: 7432 Cisco
Category: Standards Track Category: Standards Track R. Aggarwal
R. Aggarwal ISSN: 2070-1721 Arktan
J. Drake Arktan
Juniper Networks
N. Bitar N. Bitar
W. Henderickx Verizon Verizon
Alcatel-Lucent A. Isaac
Aldrin Isaac
Bloomberg Bloomberg
J. Uttaro J. Uttaro
AT&T AT&T
J. Drake
Juniper Networks
W. Henderickx
Alcatel-Lucent
February 2015
Expires: April 18, 2015 October 18, 2014 BGP MPLS-Based Ethernet VPN
BGP MPLS Based Ethernet VPN
draft-ietf-l2vpn-evpn-11
Status of this Memo Abstract
This Internet-Draft is submitted to IETF in full conformance with the This document describes procedures for BGP MPLS-based Ethernet VPNs
provisions of BCP 78 and BCP 79. (EVPN). The procedures described here meet the requirements
specified in RFC 7209 -- "Requirements for Ethernet VPN (EVPN)".
Internet-Drafts are working documents of the Internet Engineering Status of This Memo
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 This is an Internet Standards Track document.
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 a product of the Internet Engineering Task Force
http://www.ietf.org/1id-abstracts.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). Further information on
Internet Standards is available in Section 2 of RFC 5741.
The list of Internet-Draft Shadow Directories can be accessed at Information about the current status of this document, any errata,
http://www.ietf.org/shadow.html and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7432.
Copyright and License Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2015 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 (http://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.
Abstract Table of Contents
This document describes procedures for BGP MPLS based Ethernet VPNs 1. Introduction ....................................................4
(EVPN). The procedures described here meet the requirements specified 2. Specification of Requirements ...................................4
in RFC7209 - Requirements for Ethernet VPN. 3. Terminology .....................................................4
4. BGP MPLS-Based EVPN Overview ....................................6
5. Ethernet Segment ................................................7
6. Ethernet Tag ID ................................................10
6.1. VLAN-Based Service Interface ..............................11
6.2. VLAN Bundle Service Interface .............................11
6.2.1. Port-Based Service Interface .......................11
6.3. VLAN-Aware Bundle Service Interface .......................11
6.3.1. Port-Based VLAN-Aware Service Interface ............12
7. BGP EVPN Routes ................................................13
7.1. Ethernet Auto-discovery Route .............................14
7.2. MAC/IP Advertisement Route ................................14
7.3. Inclusive Multicast Ethernet Tag Route ....................15
7.4. Ethernet Segment Route ....................................16
7.5. ESI Label Extended Community ..............................16
7.6. ES-Import Route Target ....................................17
7.7. MAC Mobility Extended Community ...........................18
7.8. Default Gateway Extended Community ........................18
7.9. Route Distinguisher Assignment per EVI ....................18
7.10. Route Targets ............................................19
7.10.1. Auto-derivation from the Ethernet Tag ID ..........19
8. Multihoming Functions ..........................................19
8.1. Multihomed Ethernet Segment Auto-discovery ................19
8.1.1. Constructing the Ethernet Segment Route ............19
8.2. Fast Convergence ..........................................20
8.2.1. Constructing Ethernet A-D per Ethernet
Segment Route ......................................21
8.2.1.1. Ethernet A-D Route Targets ................21
Table of Contents 8.3. Split Horizon .............................................22
8.3.1. ESI Label Assignment ...............................22
8.3.1.1. Ingress Replication .......................22
8.3.1.2. P2MP MPLS LSPs ............................24
8.4. Aliasing and Backup Path ..................................25
8.4.1. Constructing Ethernet A-D per EVPN Instance Route ..26
8.5. Designated Forwarder Election .............................27
8.6. Interoperability with Single-Homing PEs ...................29
9. Determining Reachability to Unicast MAC Addresses ..............30
9.1. Local Learning ............................................30
9.2. Remote Learning ...........................................30
9.2.1. Constructing MAC/IP Address Advertisement ..........31
9.2.2. Route Resolution ...................................32
10. ARP and ND ....................................................33
10.1. Default Gateway ..........................................34
11. Handling of Multi-destination Traffic .........................36
11.1. Constructing Inclusive Multicast Ethernet Tag Route ......36
11.2. P-Tunnel Identification ..................................37
12. Processing of Unknown Unicast Packets .........................38
12.1. Ingress Replication ......................................38
12.2. P2MP MPLS LSPs ...........................................39
13. Forwarding Unicast Packets ....................................39
13.1. Forwarding Packets Received from a CE ....................39
13.2. Forwarding Packets Received from a Remote PE .............41
13.2.1. Unknown Unicast Forwarding ........................41
13.2.2. Known Unicast Forwarding ..........................41
14. Load Balancing of Unicast Packets .............................41
14.1. Load Balancing of Traffic from a PE to Remote CEs ........41
14.1.1. Single-Active Redundancy Mode .....................42
14.1.2. All-Active Redundancy Mode ........................42
14.2. Load Balancing of Traffic between a PE and a Local CE ....44
14.2.1. Data-Plane Learning ...............................44
14.2.2. Control-Plane Learning ............................44
15. MAC Mobility ..................................................45
15.1. MAC Duplication Issue ....................................47
15.2. Sticky MAC Addresses .....................................47
16. Multicast and Broadcast .......................................47
16.1. Ingress Replication ......................................47
16.2. P2MP LSPs ................................................48
16.2.1. Inclusive Trees ...................................48
17. Convergence ...................................................49
17.1. Transit Link and Node Failures between PEs ...............49
17.2. PE Failures ..............................................49
17.3. PE-to-CE Network Failures ................................49
18. Frame Ordering ................................................50
19. Security Considerations .......................................50
20. IANA Considerations ...........................................52
21. References ....................................................52
21.1. Normative References .....................................52
21.2. Informative References ...................................53
Acknowledgements ..................................................55
Contributors ......................................................55
Authors' Addresses ................................................56
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 1. Introduction
2. Specification of requirements . . . . . . . . . . . . . . . . . 5
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. BGP MPLS Based EVPN Overview . . . . . . . . . . . . . . . . . 6
5. Ethernet Segment . . . . . . . . . . . . . . . . . . . . . . . 7
6. Ethernet Tag ID . . . . . . . . . . . . . . . . . . . . . . . . 10
6.1 VLAN Based Service Interface . . . . . . . . . . . . . . . . 11
6.2 VLAN Bundle Service Interface . . . . . . . . . . . . . . . 11
6.2.1 Port Based Service Interface . . . . . . . . . . . . . . 11
6.3 VLAN Aware Bundle Service Interface . . . . . . . . . . . . 11
6.3.1 Port Based VLAN Aware Service Interface . . . . . . . . 12
7. BGP EVPN Routes . . . . . . . . . . . . . . . . . . . . . . . . 12
7.1. Ethernet Auto-Discovery Route . . . . . . . . . . . . . . . 13
7.2. MAC/IP Advertisement Route . . . . . . . . . . . . . . . . 13
7.3. Inclusive Multicast Ethernet Tag Route . . . . . . . . . . 14
7.4 Ethernet Segment Route . . . . . . . . . . . . . . . . . . . 15
7.5 ESI Label Extended Community . . . . . . . . . . . . . . . . 15
7.6 ES-Import Route Target . . . . . . . . . . . . . . . . . . . 16
7.7 MAC Mobility Extended Community . . . . . . . . . . . . . . 16
7.8 Default Gateway Extended Community . . . . . . . . . . . . . 17
7.9 Route Distinguisher Assignment per EVI . . . . . . . . . . . 17
7.10 Route Targets . . . . . . . . . . . . . . . . . . . . . . . 17
7.10.1 Auto-Derivation from the Ethernet Tag ID . . . . . . . 17
8. Multi-homing Functions . . . . . . . . . . . . . . . . . . . . 18
8.1 Multi-homed Ethernet Segment Auto-Discovery . . . . . . . . 18
8.1.1 Constructing the Ethernet Segment Route . . . . . . . . 18
8.2 Fast Convergence . . . . . . . . . . . . . . . . . . . . . . 18
8.2.1 Constructing Ethernet A-D per Ethernet Segment Route . . 19
8.2.1.1. Ethernet A-D Route Targets . . . . . . . . . . . . 20
8.3 Split Horizon . . . . . . . . . . . . . . . . . . . . . . . 20
8.3.1 ESI Label Assignment . . . . . . . . . . . . . . . . . . 21
8.3.1.1 Ingress Replication . . . . . . . . . . . . . . . . 21
8.3.1.2. P2MP MPLS LSPs . . . . . . . . . . . . . . . . . . 22
8.4 Aliasing and Backup-Path . . . . . . . . . . . . . . . . . . 23
8.4.1 Constructing Ethernet A-D per EVPN Instance Route . . . 24
8.5 Designated Forwarder Election . . . . . . . . . . . . . . . 25
8.6. Interoperability with Single-homing PEs . . . . . . . . . . 27
9. Determining Reachability to Unicast MAC Addresses . . . . . . . 27
9.1. Local Learning . . . . . . . . . . . . . . . . . . . . . . 28
9.2. Remote learning . . . . . . . . . . . . . . . . . . . . . . 28
9.2.1. Constructing MAC/IP Address Advertisement . . . . . . . 28
9.2.2 Route Resolution . . . . . . . . . . . . . . . . . . . . 30
10. ARP and ND . . . . . . . . . . . . . . . . . . . . . . . . . . 31
10.1 Default Gateway . . . . . . . . . . . . . . . . . . . . . . 32
11. Handling of Multi-Destination Traffic . . . . . . . . . . . . 33
11.1. Constructing Inclusive Multicast Ethernet Tag Route . . . 34
11.2. P-Tunnel Identification . . . . . . . . . . . . . . . . . 34
12. Processing of Unknown Unicast Packets . . . . . . . . . . . . 35
12.1. Ingress Replication . . . . . . . . . . . . . . . . . . . 36
12.2. P2MP MPLS LSPs . . . . . . . . . . . . . . . . . . . . . . 36
13. Forwarding Unicast Packets . . . . . . . . . . . . . . . . . . 37
13.1. Forwarding packets received from a CE . . . . . . . . . . 37
13.2. Forwarding packets received from a remote PE . . . . . . . 38
13.2.1. Unknown Unicast Forwarding . . . . . . . . . . . . . . 38
13.2.2. Known Unicast Forwarding . . . . . . . . . . . . . . . 38
14. Load Balancing of Unicast Frames . . . . . . . . . . . . . . . 38
14.1. Load balancing of traffic from a PE to remote CEs . . . . 39
14.1.1 Single-Active Redundancy Mode . . . . . . . . . . . . . 39
14.1.2 All-Active Redundancy Mode . . . . . . . . . . . . . . 39
14.2. Load balancing of traffic between a PE and a local CE . . 41
14.2.1. Data plane learning . . . . . . . . . . . . . . . . . 41
14.2.2. Control plane learning . . . . . . . . . . . . . . . . 41
15. MAC Mobility . . . . . . . . . . . . . . . . . . . . . . . . . 42
15.1. MAC Duplication Issue . . . . . . . . . . . . . . . . . . 43
15.2. Sticky MAC addresses . . . . . . . . . . . . . . . . . . . 44
16. Multicast & Broadcast . . . . . . . . . . . . . . . . . . . . 44
16.1. Ingress Replication . . . . . . . . . . . . . . . . . . . 44
16.2. P2MP LSPs . . . . . . . . . . . . . . . . . . . . . . . . 44
16.2.1. Inclusive Trees . . . . . . . . . . . . . . . . . . . 45
17. Convergence . . . . . . . . . . . . . . . . . . . . . . . . . 45
17.1. Transit Link and Node Failures between PEs . . . . . . . . 45
17.2. PE Failures . . . . . . . . . . . . . . . . . . . . . . . 46
17.3. PE to CE Network Failures . . . . . . . . . . . . . . . . 46
18. Frame Ordering . . . . . . . . . . . . . . . . . . . . . . . . 46
19. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 47
20. Security Considerations . . . . . . . . . . . . . . . . . . . 47
21. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 49
22. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 49
23. References . . . . . . . . . . . . . . . . . . . . . . . . . . 50
23.1 Normative References . . . . . . . . . . . . . . . . . . . 50
23.2 Informative References . . . . . . . . . . . . . . . . . . 50
24. Author's Address . . . . . . . . . . . . . . . . . . . . . . . 51
1. Introduction Virtual Private LAN Service (VPLS), as defined in [RFC4664],
[RFC4761], and [RFC4762], is a proven and widely deployed technology.
However, the existing solution has a number of limitations when it
comes to multihoming and redundancy, multicast optimization,
provisioning simplicity, flow-based load balancing, and multipathing;
these limitations are important considerations for Data Center (DC)
deployments. [RFC7209] describes the motivation for a new solution
to address these limitations. It also outlines a set of requirements
that the new solution must address.
This document describes procedures for BGP MPLS based Ethernet VPNs This document describes procedures for a BGP MPLS-based solution
(EVPN). The procedures described here meet the requirements specified called Ethernet VPN (EVPN) to address the requirements specified in
in [RFC7209]. Please refer to [RFC7209] for the detailed [RFC7209]. Please refer to [RFC7209] for the detailed requirements
requirements and motivation. EVPN requires extensions to existing and motivation. EVPN requires extensions to existing IP/MPLS
IP/MPLS protocols as described in this document. In addition to these protocols as described in this document. In addition to these
extensions EVPN uses several building blocks from existing MPLS extensions, EVPN uses several building blocks from existing MPLS
technologies. technologies.
2. Specification of requirements 2. Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. Terminology 3. Terminology
Broadcast Domain: In a bridged network, it corresponds to a Virtual Broadcast Domain: In a bridged network, the broadcast domain
LAN (VLAN); where a VLAN is typically represented by a single VLAN ID corresponds to a Virtual LAN (VLAN), where a VLAN is typically
(VID), but can be represented by several VIDs where Shared VLAN represented by a single VLAN ID (VID) but can be represented
Learning (SVL) is used per [802.1Q]. by several VIDs where Shared VLAN Learning (SVL) is used
per [802.1Q].
Bridge Domain: An instantiation of a broadcast domain on a bridge Bridge Table: An instantiation of a broadcast domain on a MAC-VRF.
node
CE: Customer Edge device e.g., host or router or switch CE: Customer Edge device, e.g., a host, router, or switch.
EVI: An EVPN instance spanning across the PEs participating in that EVI: An EVPN instance spanning the Provider Edge (PE) devices
EVPN participating in that EVPN.
MAC-VRF: A Virtual Routing and Forwarding table for MAC addresses on MAC-VRF: A Virtual Routing and Forwarding table for Media Access
a PE for an EVI Control (MAC) addresses on a PE.
Ethernet Segment (ES): If a multi-homed device or network is Ethernet Segment (ES): When a customer site (device or network) is
connected to two or more PEs via a set of Ethernet links, then that connected to one or more PEs via a set of Ethernet links, then
set of links is referred to as an 'Ethernet segment'. that set of links is referred to as an 'Ethernet segment'.
Ethernet Segment Identifier (ESI): A unique non-zero identifier that Ethernet Segment Identifier (ESI): A unique non-zero identifier that
identifies an Ethernet Segment is called an 'Ethernet Segment identifies an Ethernet segment is called an 'Ethernet Segment
Identifier'. Identifier'.
Ethernet Tag: An Ethernet Tag identifies a particular broadcast Ethernet Tag: An Ethernet tag identifies a particular broadcast
domain, e.g., a VLAN. An EVPN instance consists of one or more domain, e.g., a VLAN. An EVPN instance consists of one or more
broadcast domains. Ethernet tag(s) are assigned to the broadcast broadcast domains.
domains of a given EVPN instance by the provider of that EVPN, and
each PE in that EVPN instance performs a mapping between broadcast
domain identifier(s) understood by each of its attached CEs and the
corresponding Ethernet tag.
LACP: Link Aggregation Control Protocol LACP: Link Aggregation Control Protocol.
MP2MP: Multipoint to Multipoint MP2MP: Multipoint to Multipoint.
P2MP: Point to Multipoint MP2P: Multipoint to Point.
P2P: Point to Point P2MP: Point to Multipoint.
P2P: Point to Point.
PE: Provider Edge device.
Single-Active Redundancy Mode: When only a single PE, among all the Single-Active Redundancy Mode: When only a single PE, among all the
PEs attached to an Ethernet segment, is allowed to forward traffic PEs attached to an Ethernet segment, is allowed to forward traffic
to/from that Ethernet Segment, then the Ethernet segment is defined to/from that Ethernet segment for a given VLAN, then the Ethernet
to be operating in Single-Active redundancy mode. segment is defined to be operating in Single-Active redundancy
mode.
All-Active Redundancy Mode: When all PEs attached to an Ethernet All-Active Redundancy Mode: When all PEs attached to an Ethernet
segment are allowed to forward traffic to/from that Ethernet Segment, segment are allowed to forward known unicast traffic to/from that
then the Ethernet segment is defined to be operating in All-Active Ethernet segment for a given VLAN, then the Ethernet segment is
redundancy mode. defined to be operating in All-Active redundancy mode.
4. BGP MPLS Based EVPN Overview 4. BGP MPLS-Based EVPN Overview
This section provides an overview of EVPN. An EVPN instance comprises This section provides an overview of EVPN. An EVPN instance
CEs that are connected to PEs that form the edge of the MPLS comprises Customer Edge devices (CEs) that are connected to Provider
infrastructure. A CE may be a host, a router or a switch. The PEs Edge devices (PEs) that form the edge of the MPLS infrastructure. A
provide virtual Layer 2 bridged connectivity between the CEs. There CE may be a host, a router, or a switch. The PEs provide virtual
may be multiple EVPN instances in the provider's network. Layer 2 bridged connectivity between the CEs. There may be multiple
EVPN instances in the provider's network.
The PEs may be connected by an MPLS LSP infrastructure which provides The PEs may be connected by an MPLS Label Switched Path (LSP)
the benefits of MPLS technology such as fast-reroute, resiliency, infrastructure, which provides the benefits of MPLS technology, such
etc. The PEs may also be connected by an IP infrastructure in which as fast reroute, resiliency, etc. The PEs may also be connected by
case IP/GRE tunneling or other IP tunneling can be used between the an IP infrastructure, in which case IP/GRE (Generic Routing
PEs. The detailed procedures in this version of this document are Encapsulation) tunneling or other IP tunneling can be used between
specified only for MPLS LSPs as the tunneling technology. However the PEs. The detailed procedures in this document are specified only
these procedures are designed to be extensible to IP tunneling as the for MPLS LSPs as the tunneling technology. However, these procedures
Packet Switched Network (PSN) tunneling technology. are designed to be extensible to IP tunneling as the Packet Switched
Network (PSN) tunneling technology.
In an EVPN, MAC learning between PEs occurs not in the data plane (as In an EVPN, MAC learning between PEs occurs not in the data plane (as
happens with traditional bridging in VPLS [RFC4761] or [RFC4762]) but happens with traditional bridging in VPLS [RFC4761] [RFC4762]) but in
in the control plane. Control plane learning offers greater control the control plane. Control-plane learning offers greater control
over the MAC learning process, such as restricting who learns what, over the MAC learning process, such as restricting who learns what,
and the ability to apply policies. Furthermore, the control plane and the ability to apply policies. Furthermore, the control plane
chosen for advertising MAC reachability information is multi-protocol chosen for advertising MAC reachability information is multi-protocol
(MP) BGP (similar to IP VPNs (RFC 4364)). This provides flexibility (MP) BGP (similar to IP VPNs [RFC4364]). This provides flexibility
and the ability to preserve the "virtualization" or isolation of and the ability to preserve the "virtualization" or isolation of
groups of interacting agents (hosts, servers, virtual machines) from groups of interacting agents (hosts, servers, virtual machines) from
each other. In EVPN, PEs advertise the MAC addresses learned from the each other. In EVPN, PEs advertise the MAC addresses learned from
CEs that are connected to them, along with an MPLS label, to other the CEs that are connected to them, along with an MPLS label, to
PEs in the control plane using MP-BGP. Control plane learning enables other PEs in the control plane using Multiprotocol BGP (MP-BGP).
load balancing of traffic to and from CEs that are multi-homed to Control-plane learning enables load balancing of traffic to and from
multiple PEs. This is in addition to load balancing across the MPLS CEs that are multihomed to multiple PEs. This is in addition to load
core via multiple LSPs between the same pair of PEs. In other words balancing across the MPLS core via multiple LSPs between the same
it allows CEs to connect to multiple active points of attachment. It pair of PEs. In other words, it allows CEs to connect to multiple
also improves convergence times in the event of certain network active points of attachment. It also improves convergence times in
failures. the event of certain network failures.
However, learning between PEs and CEs is done by the method best However, learning between PEs and CEs is done by the method best
suited to the CE: data plane learning, IEEE 802.1x, LLDP, 802.1aq, suited to the CE: data-plane learning, IEEE 802.1x, the Link Layer
ARP, management plane or other protocols. Discovery Protocol (LLDP), IEEE 802.1aq, Address Resolution Protocol
(ARP), management plane, or other protocols.
It is a local decision as to whether the Layer 2 forwarding table on It is a local decision as to whether the Layer 2 forwarding table on
a PE is populated with all the MAC destination addresses known to the a PE is populated with all the MAC destination addresses known to the
control plane, or whether the PE implements a cache based scheme. For control plane, or whether the PE implements a cache-based scheme.
instance the MAC forwarding table may be populated only with the MAC For instance, the MAC forwarding table may be populated only with the
destinations of the active flows transiting a specific PE. MAC destinations of the active flows transiting a specific PE.
The policy attributes of EVPN are very similar to those of IP-VPN. A The policy attributes of EVPN are very similar to those of IP-VPN.
EVPN instance requires a Route Distinguisher (RD) which is unique per An EVPN instance requires a Route Distinguisher (RD) that is unique
PE and one or more globally unique Route-Targets (RTs). A CE attaches per MAC-VRF and one or more globally unique Route Targets (RTs). A
to a MAC-VRF on a PE, on an Ethernet interface which may be CE attaches to a MAC-VRF on a PE, on an Ethernet interface that may
configured for one or more Ethernet Tags, e.g., VLAN IDs. Some be configured for one or more Ethernet tags, e.g., VLAN IDs. Some
deployment scenarios guarantee uniqueness of VLAN IDs across EVPN deployment scenarios guarantee uniqueness of VLAN IDs across EVPN
instances: all points of attachment for a given EVPN instance use the instances: all points of attachment for a given EVPN instance use the
same VLAN ID, and no other EVPN instance uses this VLAN ID. This same VLAN ID, and no other EVPN instance uses this VLAN ID. This
document refers to this case as a "Unique VLAN EVPN" and describes document refers to this case as a "Unique VLAN EVPN" and describes
simplified procedures to optimize for it. simplified procedures to optimize for it.
5. Ethernet Segment 5. Ethernet Segment
If a CE is multi-homed to two or more PEs, the set of Ethernet links As indicated in [RFC7209], each Ethernet segment needs a unique
constitutes an "Ethernet Segment". An Ethernet segment may appear to identifier in an EVPN. This section defines how such identifiers are
the CE as a Link Aggregation Group (LAG). Ethernet segments have an assigned and how they are encoded for use in EVPN signaling. Later
identifier, called the "Ethernet Segment Identifier" (ESI) which is sections of this document describe the protocol mechanisms that
encoded as a ten octets integer in line format with the most utilize the identifiers.
significant octet sent first. The following two ESI values are
reserved:
- ESI 0 denotes a single-homed CE. When a customer site is connected to one or more PEs via a set of
Ethernet links, then this set of Ethernet links constitutes an
"Ethernet segment". For a multihomed site, each Ethernet segment
(ES) is identified by a unique non-zero identifier called an Ethernet
Segment Identifier (ESI). An ESI is encoded as a 10-octet integer in
line format with the most significant octet sent first. The
following two ESI values are reserved:
- ESI {0xFF} (repeated 10 times) is known as MAX-ESI and is - ESI 0 denotes a single-homed site.
reserved.
- ESI {0xFF} (repeated 10 times) is known as MAX-ESI and is reserved.
In general, an Ethernet segment SHOULD have a non-reserved ESI that In general, an Ethernet segment SHOULD have a non-reserved ESI that
is unique network wide (i.e., across all EVPN instances on all the is unique network wide (i.e., across all EVPN instances on all the
PEs). If the CE(s) constituting an Ethernet Segment is (are) managed PEs). If the CE(s) constituting an Ethernet segment is (are) managed
by the network operator, then ESI uniqueness should be guaranteed; by the network operator, then ESI uniqueness should be guaranteed;
however, if the CE(s) is (are) not managed, then the operator MUST however, if the CE(s) is (are) not managed, then the operator MUST
configure a network-wide unique ESI for that Ethernet Segment. This configure a network-wide unique ESI for that Ethernet segment. This
is required to enable auto-discovery of Ethernet Segments and DF is required to enable auto-discovery of Ethernet segments and
election. Designated Forwarder (DF) election.
In a network with managed and not-managed CEs, the ESI has the In a network with managed and non-managed CEs, the ESI has the
following format: following format:
+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+
| T | ESI Value | | T | ESI Value |
+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+
Where: Where:
T (ESI Type) is a 1-octet field (most significant octet) that T (ESI Type) is a 1-octet field (most significant octet) that
specifies the format of the remaining nine octets (ESI Value). The specifies the format of the remaining 9 octets (ESI Value). The
following 6 ESI types can be used: following six ESI types can be used:
- Type 0 (T=0x00) - This type indicates an arbitrary nine-octet ESI - Type 0 (T=0x00) - This type indicates an arbitrary 9-octet ESI
value, which is managed and configured by the operator. value, which is managed and configured by the operator.
- Type 1 (T=0x01) - When IEEE 802.1AX LACP is used between the PEs - Type 1 (T=0x01) - When IEEE 802.1AX LACP is used between the PEs
and CEs, this ESI type indicates an auto-generated ESI value and CEs, this ESI type indicates an auto-generated ESI value
determined from LACP by concatenating the following parameters: determined from LACP by concatenating the following parameters:
+ CE LACP six octets System MAC address. The CE LACP System MAC + CE LACP System MAC address (6 octets). The CE LACP System MAC
address MUST be encoded in the high order six octets of the ESI address MUST be encoded in the high-order 6 octets of the ESI
Value field. Value field.
+ CE LACP two octets Port Key. The CE LACP port key MUST be + CE LACP Port Key (2 octets). The CE LACP port key MUST be
encoded in the two octets next to the System MAC address. encoded in the 2 octets next to the System MAC address.
+ The remaining octet will be set to 0x00. + The remaining octet will be set to 0x00.
As far as the CE is concerned, it would treat the multiple PEs As far as the CE is concerned, it would treat the multiple PEs that
that it is connected to as the same switch. This allows the CE it is connected to as the same switch. This allows the CE to
to aggregate links that are attached to different PEs in the aggregate links that are attached to different PEs in the same
same bundle. bundle.
This mechanism could be used only if it produces ESIs that This mechanism could be used only if it produces ESIs that satisfy
satisfy the uniqueness requirement specified above. the uniqueness requirement specified above.
- Type 2 (T=0x02) - This type is used in the case of indirectly - Type 2 (T=0x02) - This type is used in the case of indirectly
connected hosts via a bridged LAN between the CEs and the PEs. The connected hosts via a bridged LAN between the CEs and the PEs. The
ESI Value is auto-generated and determined based on the Layer 2 ESI Value is auto-generated and determined based on the Layer 2
bridge protocol as follows: If MST is used in the bridged LAN then bridge protocol as follows: If the Multiple Spanning Tree Protocol
the value of the ESI is derived by listening to BPDUs on the Ethernet (MSTP) is used in the bridged LAN, then the value of the ESI is
segment. To achieve this the PE is not required to run MST. However derived by listening to Bridge PDUs (BPDUs) on the Ethernet
the PE must learn the Root Bridge MAC address and Bridge Priority of segment. To achieve this, the PE is not required to run MSTP.
the root of the Internal Spanning Tree (IST) by listening to the However, the PE must learn the Root Bridge MAC address and Bridge
BPDUs. The ESI Value is constructed as follows: Priority of the root of the Internal Spanning Tree (IST) by
listening to the BPDUs. The ESI Value is constructed as follows:
+ Root Bridge six octets MAC address. The Root Bridge MAC + Root Bridge MAC address (6 octets). The Root Bridge MAC address
address MUST be encoded in the high order six octets of the MUST be encoded in the high-order 6 octets of the ESI Value
ESI Value field. field.
+ Root Bridge two octets Priority. The CE Root Bridge Priority + Root Bridge Priority (2 octets). The CE Root Bridge Priority
MUST be encoded in the two octets next to the Root Bridge MUST be encoded in the 2 octets next to the Root Bridge MAC
MAC address. address.
+ The remaining octet will be set to 0x00. + The remaining octet will be set to 0x00.
This mechanism could be used only if it produces ESIs that This mechanism could be used only if it produces ESIs that satisfy
satisfy the uniqueness requirement specified above. the uniqueness requirement specified above.
- Type 3 (T=0x03) - This type indicates a MAC-based ESI Value that - Type 3 (T=0x03) - This type indicates a MAC-based ESI Value that
can be auto-generated or configured by the operator. The ESI Value is can be auto-generated or configured by the operator. The ESI Value
constructed as follows: is constructed as follows:
+ System MAC address (six octets). The PE MAC address MUST + System MAC address (6 octets). The PE MAC address MUST be
be encoded in the high order six octets of the ESI Value field. encoded in the high-order 6 octets of the ESI Value field.
+ Local Discriminator value (three octets). The Local + Local Discriminator value (3 octets). The Local Discriminator
Discriminator MUST be encoded in the low order three octets value MUST be encoded in the low-order 3 octets of the ESI Value.
of the ESI Value.
This mechanism could be used only if it produces ESIs that This mechanism could be used only if it produces ESIs that satisfy
satisfy the uniqueness requirement specified above. the uniqueness requirement specified above.
- Type 4 (T=0x04) - This type indicates a router-ID ESI Value that - Type 4 (T=0x04) - This type indicates a router-ID ESI Value that
can be auto-generated or configured by the operator. The ESI Value is can be auto-generated or configured by the operator. The ESI Value
constructed as follows: is constructed as follows:
+ Router ID (four octets). The system router ID MUST be encoded + Router ID (4 octets). The system router ID MUST be encoded in
in the high order four octets of the ESI Value field. the high-order 4 octets of the ESI Value field.
+ Local Discriminator value (four octets). The Local + Local Discriminator value (4 octets). The Local Discriminator
Discriminator MUST be encoded in the four octets next to the value MUST be encoded in the 4 octets next to the IP address.
IP address.
+ The low order octet of the ESI Value will be set to 0x00. + The low-order octet of the ESI Value will be set to 0x00.
This mechanism could be used only if it produces ESIs that This mechanism could be used only if it produces ESIs that satisfy
satisfy the uniqueness requirement specified above. the uniqueness requirement specified above.
- Type 5 (T=0x05) - This type indicates an AS-based ESI Value that - Type 5 (T=0x05) - This type indicates an Autonomous System
can be auto-generated or configured by the operator. The ESI Value is (AS)-based ESI Value that can be auto-generated or configured by
constructed as follows: the operator. The ESI Value is constructed as follows:
+ AS number (four octets). This is an AS number owned by the + AS number (4 octets). This is an AS number owned by the system
system and MUST be encoded in the high order four octets of the and MUST be encoded in the high-order 4 octets of the ESI Value
ESI Value field. If a two-octet AS number is used, the high field. If a 2-octet AS number is used, the high-order extra
order extra two octets will be 0x0000. 2 octets will be 0x0000.
+ Local Discriminator value (four octets). The Local + Local Discriminator value (4 octets). The Local Discriminator
Discriminator MUST be encoded in the four octets next to value MUST be encoded in the 4 octets next to the AS number.
the AS number.
+ The low order octet of the ESI Value will be set to 0x00. + The low-order octet of the ESI Value will be set to 0x00.
This mechanism could be used only if it produces ESIs that This mechanism could be used only if it produces ESIs that satisfy
satisfy the uniqueness requirement specified above. the uniqueness requirement specified above.
6. Ethernet Tag ID 6. Ethernet Tag ID
An Ethernet Tag ID is a 32-bit field containing either a 12-bit or a An Ethernet Tag ID is a 32-bit field containing either a 12-bit or
24-bit identifier that identifies a particular broadcast domain 24-bit identifier that identifies a particular broadcast domain
(e.g., a VLAN) in an EVPN Instance. The 12-bit identifier is called (e.g., a VLAN) in an EVPN instance. The 12-bit identifier is called
VLAN ID (VID). An EVPN Instance consists of one or more broadcast the VLAN ID (VID). An EVPN instance consists of one or more
domains (one or more VLANs). VLANs are assigned to a given EVPN broadcast domains (one or more VLANs). VLANs are assigned to a given
Instance by the provider of the EVPN service. A given VLAN can itself EVPN instance by the provider of the EVPN service. A given VLAN can
be represented by multiple VLAN IDs (VIDs). In such cases, the PEs itself be represented by multiple VIDs. In such cases, the PEs
participating in that VLAN for a given EVPN instance are responsible participating in that VLAN for a given EVPN instance are responsible
for performing VLAN ID translation to/from locally attached CE for performing VLAN ID translation to/from locally attached CE
devices. devices.
If a VLAN is represented by a single VID across all PE devices If a VLAN is represented by a single VID across all PE devices
participating in that VLAN for that EVPN instance, then there is no participating in that VLAN for that EVPN instance, then there is no
need for VID translation at the PEs. Furthermore, some deployment need for VID translation at the PEs. Furthermore, some deployment
scenarios guarantee uniqueness of VIDs across all EVPN instances; scenarios guarantee uniqueness of VIDs across all EVPN instances; all
all points of attachment for a given EVPN instance use the same VID points of attachment for a given EVPN instance use the same VID, and
and no other EVPN instances use that VID. This allows the RT(s) for no other EVPN instances use that VID. This allows the RT(s) for each
each EVPN instance to be derived automatically from the corresponding EVPN instance to be derived automatically from the corresponding VID,
VID, as described in section 7.10.1. as described in Section 7.10.1.
The following subsections discuss the relationship between broadcast The following subsections discuss the relationship between broadcast
domains (e.g., VLANs), Ethernet Tag IDs (e.g., VIDs), and MAC-VRFs as domains (e.g., VLANs), Ethernet Tag IDs (e.g., VIDs), and MAC-VRFs as
well as the setting of the Ethernet Tag ID, in the various EVPN BGP well as the setting of the Ethernet Tag ID, in the various EVPN BGP
routes (defined in section 8), for the different types of service routes (defined in Section 8), for the different types of service
interfaces described in [RFC7209]. interfaces described in [RFC7209].
The following value of Ethernet Tag ID is reserved: The following Ethernet Tag ID value is reserved:
- Ethernet Tag ID {0xFFFFFFFF} is known as MAX-ET - Ethernet Tag ID {0xFFFFFFFF} is known as MAX-ET.
6.1 VLAN Based Service Interface 6.1. VLAN-Based Service Interface
With this service interface, an EVPN instance consists of only a With this service interface, an EVPN instance consists of only a
single broadcast domain (e.g., a single VLAN). Therefore, there is a single broadcast domain (e.g., a single VLAN). Therefore, there is a
one to one mapping between a VID on this interface and a MAC-VRF. one-to-one mapping between a VID on this interface and a MAC-VRF.
Since a MAC-VRF corresponds to a single VLAN, it consists of a single Since a MAC-VRF corresponds to a single VLAN, it consists of a single
bridge domain corresponding to that VLAN. If the VLAN is represented bridge table corresponding to that VLAN. If the VLAN is represented
by multiple VIDs (e.g., a different VID per Ethernet Segment per PE), by multiple VIDs (e.g., a different VID per Ethernet segment per PE),
then each PE needs to perform VID translation for frames destined to then each PE needs to perform VID translation for frames destined to
its Ethernet Segment(s). In such scenarios, the Ethernet frames its Ethernet segment(s). In such scenarios, the Ethernet frames
transported over MPLS/IP network SHOULD remain tagged with the transported over an MPLS/IP network SHOULD remain tagged with the
originating VID and a VID translation MUST be supported in the data originating VID, and a VID translation MUST be supported in the data
path and MUST be performed on the disposition PE. The Ethernet Tag ID path and MUST be performed on the disposition PE. The Ethernet Tag
in all EVPN routes MUST be set to 0. ID in all EVPN routes MUST be set to 0.
6.2 VLAN Bundle Service Interface 6.2. VLAN Bundle Service Interface
With this service interface, an EVPN instance corresponds to several With this service interface, an EVPN instance corresponds to multiple
broadcast domains (e.g., several VLANs); however, only a single broadcast domains (e.g., multiple VLANs); however, only a single
bridge domain is maintained per MAC-VRF which means multiple VLANs bridge table is maintained per MAC-VRF, which means multiple VLANs
share the same bridge domain. This implies MAC addresses MUST be share the same bridge table. This implies that MAC addresses MUST be
unique across different VLANs for this service to work. In other unique across all VLANs for that EVI in order for this service to
words, there is a many-to-one mapping between VLANs and a MAC-VRF, work. In other words, there is a many-to-one mapping between VLANs
and the MAC-VRF consists of a single bridge domain. Furthermore, a and a MAC-VRF, and the MAC-VRF consists of a single bridge table.
single VLAN must be represented by a single VID - e.g., no VID Furthermore, a single VLAN must be represented by a single VID --
translation is allowed for this service interface type. The MPLS e.g., no VID translation is allowed for this service interface type.
encapsulated frames MUST remain tagged with the originating VID. Tag The MPLS-encapsulated frames MUST remain tagged with the originating
translation is NOT permitted. The Ethernet Tag ID in all EVPN routes VID. Tag translation is NOT permitted. The Ethernet Tag ID in all
MUST be set to 0. EVPN routes MUST be set to 0.
6.2.1 Port Based Service Interface 6.2.1. Port-Based Service Interface
This service interface is a special case of the VLAN Bundle service This service interface is a special case of the VLAN bundle service
interface, where all of the VLANs on the port are part of the same interface, where all of the VLANs on the port are part of the same
service and map to the same bundle. The procedures are identical to service and map to the same bundle. The procedures are identical to
those described in section 6.2. those described in Section 6.2.
6.3 VLAN Aware Bundle Service Interface 6.3. VLAN-Aware Bundle Service Interface
With this service interface, an EVPN instance consists of several With this service interface, an EVPN instance consists of multiple
broadcast domains (e.g., several VLANs) with each VLAN having its own broadcast domains (e.g., multiple VLANs) with each VLAN having its
bridge domain - i.e., multiple bridge domains (one per VLAN) is own bridge table -- i.e., multiple bridge tables (one per VLAN) are
maintained by a single MAC-VRF corresponding to the EVPN instance. In maintained by a single MAC-VRF corresponding to the EVPN instance.
the case where a single VLAN is represented by different VIDs on
Broadcast, unknown unicast, or multicast (BUM) traffic is sent only
to the CEs in a given broadcast domain; however, the broadcast
domains within an EVI either MAY each have their own P-Tunnel or MAY
share P-Tunnels -- e.g., all of the broadcast domains in an EVI MAY
share a single P-Tunnel.
In the case where a single VLAN is represented by a single VID and
thus no VID translation is required, an MPLS-encapsulated packet MUST
carry that VID. The Ethernet Tag ID in all EVPN routes MUST be set
to that VID. The advertising PE MAY advertise the MPLS Label1 in the
MAC/IP Advertisement route representing ONLY the EVI or representing
both the Ethernet Tag ID and the EVI. This decision is only a local
matter by the advertising PE (which is also the disposition PE) and
doesn't affect any other PEs.
In the case where a single VLAN is represented by different VIDs on
different CEs and thus VID translation is required, a normalized different CEs and thus VID translation is required, a normalized
Ethernet Tag ID (VID) MUST be carried in the MPLS encapsulated frames Ethernet Tag ID (VID) MUST be carried in the EVPN BGP routes.
and a Ethernet Tag ID translation function MUST be supported in the Furthermore, the advertising PE advertises the MPLS Label1 in the
data path. This translation MUST be performed in data path on both MAC/IP Advertisement route representing both the Ethernet Tag ID and
the imposition as well as the disposition PEs (translating to the EVI, so that upon receiving an MPLS-encapsulated packet, it can
normalized Ethernet Tag ID on imposition PE and translating to local identify the corresponding bridge table from the MPLS EVPN label and
Ethernet Tag ID on disposition PE). The Ethernet Tag ID in all EVPN perform Ethernet Tag ID translation ONLY at the disposition PE --
routes MUST be set to the normalized value assigned by the EVPN i.e., the Ethernet frames transported over the MPLS/IP network MUST
provider. remain tagged with the originating VID, and VID translation is
performed on the disposition PE. The Ethernet Tag ID in all EVPN
routes MUST be set to the normalized Ethernet Tag ID assigned by the
EVPN provider.
6.3.1 Port Based VLAN Aware Service Interface 6.3.1. Port-Based VLAN-Aware Service Interface
This service interface is a special case of the VLAN Aware Bundle This service interface is a special case of the VLAN-aware bundle
service interface, where all of the VLANs on the port are part of the service interface, where all of the VLANs on the port are part of the
same service and are mapped to a single bundle but without any VID same service and are mapped to a single bundle but without any VID
translation. The procedures are subset of those described in section translation. The procedures are a subset of those described in
6.3. Section 6.3.
7. BGP EVPN Routes 7. BGP EVPN Routes
This document defines a new BGP Network Layer Reachability This document defines a new BGP Network Layer Reachability
Information (NLRI), called the EVPN NLRI. Information (NLRI) called the EVPN NLRI.
Following is the format of the EVPN NLRI: The format of the EVPN NLRI is as follows:
+-----------------------------------+ +-----------------------------------+
| Route Type (1 octet) | | Route Type (1 octet) |
+-----------------------------------+ +-----------------------------------+
| Length (1 octet) | | Length (1 octet) |
+-----------------------------------+ +-----------------------------------+
| Route Type specific (variable) | | Route Type specific (variable) |
+-----------------------------------+ +-----------------------------------+
The Route Type field defines encoding of the rest of the EVPN NLRI The Route Type field defines the encoding of the rest of the EVPN
(Route Type specific EVPN NLRI). NLRI (Route Type specific EVPN NLRI).
The Length field indicates the length in octets of the Route Type The Length field indicates the length in octets of the Route Type
specific field of EVPN NLRI. specific field of the EVPN NLRI.
This document defines the following Route Types: This document defines the following Route Types:
+ 1 - Ethernet Auto-Discovery (A-D) route + 1 - Ethernet Auto-Discovery (A-D) route
+ 2 - MAC/IP advertisement route + 2 - MAC/IP Advertisement route
+ 3 - Inclusive Multicast Ethernet Tag Route + 3 - Inclusive Multicast Ethernet Tag route
+ 4 - Ethernet Segment Route + 4 - Ethernet Segment route
The detailed encoding and procedures for these route types are The detailed encoding and procedures for these route types are
described in subsequent sections. described in subsequent sections.
The EVPN NLRI is carried in BGP [RFC4271] using BGP Multiprotocol The EVPN NLRI is carried in BGP [RFC4271] using BGP Multiprotocol
Extensions [RFC4760] with an Address Family Identifier (AFI) of 25 Extensions [RFC4760] with an Address Family Identifier (AFI) of 25
(L2VPN) and a Subsequent Address Family Identifier (SAFI) of 70 (L2VPN) and a Subsequent Address Family Identifier (SAFI) of 70
(EVPN). The NLRI field in the MP_REACH_NLRI/MP_UNREACH_NLRI attribute (EVPN). The NLRI field in the MP_REACH_NLRI/MP_UNREACH_NLRI
contains the EVPN NLRI (encoded as specified above). attribute contains the EVPN NLRI (encoded as specified above).
In order for two BGP speakers to exchange labeled EVPN NLRI, they In order for two BGP speakers to exchange labeled EVPN NLRI, they
must use BGP Capabilities Advertisement to ensure that they both are must use BGP Capabilities Advertisements to ensure that they both are
capable of properly processing such NLRI. This is done as specified capable of properly processing such NLRI. This is done as specified
in [RFC4760], by using capability code 1 (multiprotocol BGP) with an in [RFC4760], by using capability code 1 (multiprotocol BGP) with an
AFI of 25 (L2VPN) and a SAFI of 70 (EVPN). AFI of 25 (L2VPN) and a SAFI of 70 (EVPN).
7.1. Ethernet Auto-Discovery Route 7.1. Ethernet Auto-discovery Route
A Ethernet A-D route type specific EVPN NLRI consists of the An Ethernet A-D route type specific EVPN NLRI consists of the
following: following:
+---------------------------------------+ +---------------------------------------+
| Route Distinguisher (RD) (8 octets) | | Route Distinguisher (RD) (8 octets) |
+---------------------------------------+ +---------------------------------------+
|Ethernet Segment Identifier (10 octets)| |Ethernet Segment Identifier (10 octets)|
+---------------------------------------+ +---------------------------------------+
| Ethernet Tag ID (4 octets) | | Ethernet Tag ID (4 octets) |
+---------------------------------------+ +---------------------------------------+
| MPLS Label (3 octets) | | MPLS Label (3 octets) |
+---------------------------------------+ +---------------------------------------+
For the purpose of BGP route key processing, only the Ethernet For the purpose of BGP route key processing, only the Ethernet
Segment Identifier and the Ethernet Tag ID are considered to be part Segment Identifier and the Ethernet Tag ID are considered to be part
of the prefix in the NLRI. The MPLS Label field is to be treated as a of the prefix in the NLRI. The MPLS Label field is to be treated as
route attribute as opposed to being part of the route. a route attribute as opposed to being part of the route.
For procedures and usage of this route please see section 8.2 "Fast For procedures and usage of this route, please see Sections 8.2
Convergence" and section 8.4 "Aliasing". ("Fast Convergence") and 8.4 ("Aliasing and Backup Path").
7.2. MAC/IP Advertisement Route 7.2. MAC/IP Advertisement Route
A MAC/IP advertisement route type specific EVPN NLRI consists of the A MAC/IP Advertisement route type specific EVPN NLRI consists of the
following: following:
+---------------------------------------+ +---------------------------------------+
| RD (8 octets) | | RD (8 octets) |
+---------------------------------------+ +---------------------------------------+
|Ethernet Segment Identifier (10 octets)| |Ethernet Segment Identifier (10 octets)|
+---------------------------------------+ +---------------------------------------+
| Ethernet Tag ID (4 octets) | | Ethernet Tag ID (4 octets) |
+---------------------------------------+ +---------------------------------------+
| MAC Address Length (1 octet) | | MAC Address Length (1 octet) |
+---------------------------------------+ +---------------------------------------+
| MAC Address (6 octets) | | MAC Address (6 octets) |
+---------------------------------------+ +---------------------------------------+
| IP Address Length (1 octet) | | IP Address Length (1 octet) |
+---------------------------------------+ +---------------------------------------+
| IP Address (0 or 4 or 16 octets) | | IP Address (0, 4, or 16 octets) |
+---------------------------------------+ +---------------------------------------+
| MPLS Label1 (3 octets) | | MPLS Label1 (3 octets) |
+---------------------------------------+ +---------------------------------------+
| MPLS Label2 (0 or 3 octets) | | MPLS Label2 (0 or 3 octets) |
+---------------------------------------+ +---------------------------------------+
For the purpose of BGP route key processing, only the Ethernet Tag For the purpose of BGP route key processing, only the Ethernet Tag
ID, MAC Address Length, MAC Address, IP Address Length, and IP ID, MAC Address Length, MAC Address, IP Address Length, and IP
Address Address fields are considered to be part of the prefix in the Address fields are considered to be part of the prefix in the NLRI.
NLRI. The Ethernet Segment Identifier and MPLS Label1 and MPLS Label2 The Ethernet Segment Identifier, MPLS Label1, and MPLS Label2 fields
fields are to be treated as route attributes as opposed to being part are to be treated as route attributes as opposed to being part of the
of the "route". The IP address length is in bits. "route". Both the IP and MAC address lengths are in bits.
For procedures and usage of this route please see section 9 For procedures and usage of this route, please see Sections 9
"Determining Reachability to Unicast MAC Addresses" and section 14 ("Determining Reachability to Unicast MAC Addresses") and 14 ("Load
"Load Balancing of Unicast Packets". Balancing of Unicast Packets").
7.3. Inclusive Multicast Ethernet Tag Route 7.3. Inclusive Multicast Ethernet Tag Route
An Inclusive Multicast Ethernet Tag route type specific EVPN NLRI An Inclusive Multicast Ethernet Tag route type specific EVPN NLRI
consists of the following: consists of the following:
+---------------------------------------+ +---------------------------------------+
| RD (8 octets) | | RD (8 octets) |
+---------------------------------------+ +---------------------------------------+
| Ethernet Tag ID (4 octets) | | Ethernet Tag ID (4 octets) |
+---------------------------------------+ +---------------------------------------+
| IP Address Length (1 octet) | | IP Address Length (1 octet) |
+---------------------------------------+ +---------------------------------------+
| Originating Router's IP Addr | | Originating Router's IP Address |
| (4 or 16 octets) | | (4 or 16 octets) |
+---------------------------------------+ +---------------------------------------+
For procedures and usage of this route please see section 11 For procedures and usage of this route, please see Sections 11
"Handling of Multi-Destination Traffic", section 13 "Processing of ("Handling of Multi-destination Traffic"), 12 ("Processing of Unknown
Unknown Unicast Traffic" and section 16 "Multicast". The IP address Unicast Packets"), and 16 ("Multicast and Broadcast"). The IP
length is in bits. For the purpose of BGP route key processing, only address length is in bits. For the purpose of BGP route key
the Ethernet Tag ID, IP Address Length, and Originating Router's IP processing, only the Ethernet Tag ID, IP Address Length, and
Address fields are considered to be part of the prefix in the NLRI. Originating Router's IP Address fields are considered to be part of
the prefix in the NLRI.
7.4 Ethernet Segment Route 7.4. Ethernet Segment Route
An Ethernet Segment route type specific EVPN NLRI consists of the An Ethernet Segment route type specific EVPN NLRI consists of the
following: following:
+---------------------------------------+ +---------------------------------------+
| RD (8 octets) | | RD (8 octets) |
+---------------------------------------+ +---------------------------------------+
|Ethernet Segment Identifier (10 octets)| |Ethernet Segment Identifier (10 octets)|
+---------------------------------------+ +---------------------------------------+
| IP Address Length (1 octet) | | IP Address Length (1 octet) |
+---------------------------------------+ +---------------------------------------+
| Originating Router's IP Addr | | Originating Router's IP Address |
| (4 or 16 octets) | | (4 or 16 octets) |
+---------------------------------------+ +---------------------------------------+
For procedures and usage of this route please see section 8.5 For procedures and usage of this route, please see Section 8.5
"Designated Forwarder Election". The IP address length is in bits. ("Designated Forwarder Election"). The IP address length is in bits.
For the purpose of BGP route key processing, only the Ethernet For the purpose of BGP route key processing, only the Ethernet
Segment ID, IP Address Length, and Originating Router's IP Address Segment ID, IP Address Length, and Originating Router's IP Address
fields are considered to be part of the prefix in the NLRI. fields are considered to be part of the prefix in the NLRI.
7.5 ESI Label Extended Community 7.5. ESI Label Extended Community
This extended community is a new transitive extended community with This Extended Community is a new transitive Extended Community having
the Type field is 0x06, and the Sub-Type of 0x01. It may be a Type field value of 0x06 and the Sub-Type 0x01. It may be
advertised along with Ethernet Auto-Discovery routes and it enables advertised along with Ethernet Auto-discovery routes, and it enables
split-horizon procedures for multi-homed sites as described in split-horizon procedures for multihomed sites as described in
section 8.3 "Split Horizon". ESI Label represents an ES by the Section 8.3 ("Split Horizon"). The ESI Label field represents an ES
advertising PE and it is used in split-horizon filtering by other PEs by the advertising PE, and it is used in split-horizon filtering by
that are connected to the same multi-homed Ethernet Segment. other PEs that are connected to the same multihomed Ethernet segment.
Each ESI Label Extended Community is encoded as a 8-octet value as Each ESI Label extended community is encoded as an 8-octet value, as
follows: follows:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=0x06 | Sub-Type=0x01 | Flags(1 Octet)| Reserved=0 | | Type=0x06 | Sub-Type=0x01 | Flags(1 octet)| Reserved=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved = 0 | ESI Label | | Reserved=0 | ESI Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The low order bit of the flags octet is defined as the "Single- The low-order bit of the Flags octet is defined as the
Active" bit. A value of 0 means that the multi-homed site is "Single-Active" bit. A value of 0 means that the multihomed site
operating in All-Active redundancy mode and a value of 1 means that is operating in All-Active redundancy mode, and a value of 1 means
the multi-homed site is operating in Single-Active redundancy mode. that the multihomed site is operating in Single-Active redundancy
mode.
7.6 ES-Import Route Target 7.6. ES-Import Route Target
This is a new transitive Route Target extended community carried with This is a new transitive Route Target extended community carried with
the Ethernet Segment route. When used, it enables all the PEs the Ethernet Segment route. When used, it enables all the PEs
connected to the same multi-homed site to import the Ethernet Segment connected to the same multihomed site to import the Ethernet Segment
routes. The value is derived automatically from the ESI by encoding routes. The value is derived automatically for the ESI Types 1, 2,
the high order 6-octet portion of the 9-octet ESI Value in the ES- and 3, by encoding the high-order 6-octet portion of the 9-octet ESI
Import Route Target. The high order 6-octet of the ESI incorporates Value, which corresponds to a MAC address, in the ES-Import Route
MAC address of ESI (for type 1, 2, and 3) which when encoded in this Target. The format of this Extended Community is as follows:
RT and used in the RT constrain feature, it enables proper route-
target filtering. The format of this extended community is as
follows:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=0x06 | Sub-Type=0x02 | ES-Import | | Type=0x06 | Sub-Type=0x02 | ES-Import |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ES-Import Cont'd | | ES-Import Cont'd |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This document expands the definition of the Route Target extended This document expands the definition of the Route Target extended
community to allow the value of high order octet (Type field) to be community to allow the value of the high-order octet (Type field) to
0x06 (in addition to the values specified in rfc4360). The value of be 0x06 (in addition to the values specified in [RFC4360]). The
low order octet (Sub-Type field) of 0x02 indicates that this extended low-order octet (Sub-Type field) value 0x02 indicates that this
community is of type "Route Target". The new value for Type field of Extended Community is of type "Route Target". The new Type field
0x06 indicates that the structure of this RT is a six-octet value value 0x06 indicates that the structure of this RT is a 6-octet value
(e.g., a MAC address). A BGP speaker that implements RT-Constrain (e.g., a MAC address). A BGP speaker that implements RT Constraint
[RFC4684] MUST apply the RT Constraint procedures to the ES-import RT [RFC4684] MUST apply the RT Constraint procedures to the ES-Import RT
as well. as well.
For procedures and usage of this attribute, please see section 8.1 For procedures and usage of this attribute, please see Section 8.1
"Multi-homed Ethernet Segment Auto-Discovery". ("Multihomed Ethernet Segment Auto-discovery").
7.7 MAC Mobility Extended Community 7.7. MAC Mobility Extended Community
This extended community is a new transitive extended community with This Extended Community is a new transitive Extended Community having
the Type field of 0x06 and the Sub-Type of 0x00. It may be advertised a Type field value of 0x06 and the Sub-Type 0x00. It may be
along with MAC Advertisement routes. The procedures for using this advertised along with MAC/IP Advertisement routes. The procedures
Extended Community are described in section 15 "MAC Mobility". for using this Extended Community are described in Section 15 ("MAC
Mobility").
The MAC Mobility Extended Community is encoded as an 8-octet value as The MAC Mobility extended community is encoded as an 8-octet value,
follows: as follows:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=0x06 | Sub-Type=0x00 |Flags(1 octet)| Reserved=0 | | Type=0x06 | Sub-Type=0x00 |Flags(1 octet)| Reserved=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number | | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The low order bit of the flags octet is defined as the The low-order bit of the Flags octet is defined as the
"Sticky/static" flag and may be set to 1. A value of 1 means that the "Sticky/static" flag and may be set to 1. A value of 1 means that
MAC address is static and cannot move. The sequence number is used to the MAC address is static and cannot move. The sequence number is
ensure that PEs retain the correct MAC advertisement route when used to ensure that PEs retain the correct MAC/IP Advertisement route
multiple updates occur for the same MAC address. when multiple updates occur for the same MAC address.
7.8 Default Gateway Extended Community 7.8. Default Gateway Extended Community
The Default Gateway community is an Extended Community of an Opaque The Default Gateway community is an Extended Community of an Opaque
Type (see 3.3 of rfc4360). It is a transitive community, which means Type (see Section 3.3 of [RFC4360]). It is a transitive community,
that the first octet is 0x03. The value of the second octet (Sub- which means that the first octet is 0x03. The value of the second
Type) is 0x0d (Default Gateway) as assigned by IANA. The Value field octet (Sub-Type) is 0x0d (Default Gateway) as assigned by IANA. The
of this community is reserved (set to 0 by the senders, ignored by Value field of this community is reserved (set to 0 by the senders,
the receivers). ignored by the receivers). For procedures and usage of this
attribute, please see Section 10.1 ("Default Gateway").
7.9 Route Distinguisher Assignment per EVI 7.9. Route Distinguisher Assignment per MAC-VRF
Route Distinguisher (RD) MUST be set to the RD of the EVI that is The Route Distinguisher (RD) MUST be set to the RD of the MAC-VRF
advertising the NLRI. An RD MUST be assigned for a given EVI on a PE. that is advertising the NLRI. An RD MUST be assigned for a given
This RD MUST be unique across all EVIs on a PE. It is RECOMMENDED to MAC-VRF on a PE. This RD MUST be unique across all MAC-VRFs on a PE.
use the Type 1 RD [RFC4364]. The value field comprises an IP address It is RECOMMENDED to use the Type 1 RD [RFC4364]. The value field
of the PE (typically, the loopback address) followed by a number comprises an IP address of the PE (typically, the loopback address)
unique to the PE. This number may be generated by the PE. Or in the followed by a number unique to the PE. This number may be generated
Unique VLAN EVPN case, the low order 12 bits may be the 12 bit VLAN by the PE. Or, in the Unique VLAN EVPN case, the low-order 12 bits
ID, with the remaining high order 4 bits set to 0. may be the 12-bit VLAN ID, with the remaining high-order 4 bits set
to 0.
7.10 Route Targets 7.10. Route Targets
The EVPN route MAY carry one or more Route Target (RT) attributes. The EVPN route MAY carry one or more Route Target (RT) attributes.
RTs may be configured (as in IP VPNs), or may be derived RTs may be configured (as in IP VPNs) or may be derived
automatically. automatically.
If a PE uses RT-Constrain, the PE advertises all such RTs using RT If a PE uses RT Constraint, the PE advertises all such RTs using RT
Constraints per [RFC4684]. The use of RT Constrains allows each Constraints per [RFC4684]. The use of RT Constraints allows each
Ethernet A-D route to reach only those PEs that are configured to EVPN route to reach only those PEs that are configured to import at
import at least one RT from the set of RTs carried in the EVPN route. least one RT from the set of RTs carried in the EVPN route.
7.10.1 Auto-Derivation from the Ethernet Tag ID 7.10.1. Auto-derivation from the Ethernet Tag ID
For the "Unique VLAN EVPN" scenario, it is highly desirable to auto- For the "Unique VLAN EVPN" scenario, it is highly desirable to
derive the RT from the Ethernet Tag ID (VLAN ID) for that EVPN auto-derive the RT from the Ethernet Tag ID (VLAN ID) for that EVPN
instance. The following is the procedure for performing such auto- instance. The procedure for performing such auto-derivation is as
derivation. follows:
+ The Global Administrator field of the RT MUST be set + The Global Administrator field of the RT MUST be set to the
to the Autonomous System (AS) number that the PE is Autonomous System (AS) number with which the PE is associated.
associated with.
+ The 12-bit VLAN ID MUST be encoded in the lowest 12 bits of + The 12-bit VLAN ID MUST be encoded in the lowest 12 bits of the
the Local Administrator field. Local Administrator field, with the remaining bits set to zero.
8. Multi-homing Functions 8. Multihoming Functions
This section discusses the functions, procedures and associated BGP This section discusses the functions, procedures, and associated BGP
routes used to support multi-homing in EVPN. This covers both multi- routes used to support multihoming in EVPN. This covers both
homed device (MHD) as well as multi-homed network (MHN) scenarios. multihomed device (MHD) and multihomed network (MHN) scenarios.
8.1 Multi-homed Ethernet Segment Auto-Discovery 8.1. Multihomed Ethernet Segment Auto-discovery
PEs connected to the same Ethernet segment can automatically discover PEs connected to the same Ethernet segment can automatically discover
each other with minimal to no configuration through the exchange of each other with minimal to no configuration through the exchange of
the Ethernet Segment route. the Ethernet Segment route.
8.1.1 Constructing the Ethernet Segment Route 8.1.1. Constructing the Ethernet Segment Route
The Route-Distinguisher (RD) MUST be a Type 1 RD [RFC4364]. The value The Route Distinguisher (RD) MUST be a Type 1 RD [RFC4364]. The
field comprises an IP address of the PE (typically, the loopback value field comprises an IP address of the PE (typically, the
address) followed by 0's. loopback address) followed by a number unique to the PE.
The Ethernet Segment Identifier (ESI) MUST be set to the ten octet The Ethernet Segment Identifier (ESI) MUST be set to the 10-octet
value described in section 5. value described in Section 5.
The BGP advertisement that advertises the Ethernet Segment route MUST The BGP advertisement that advertises the Ethernet Segment route MUST
also carry an ES-Import route target, as defined in section 7.6. also carry an ES-Import Route Target, as defined in Section 7.6.
The Ethernet Segment Route filtering MUST be done such that the The Ethernet Segment route filtering MUST be done such that the
Ethernet Segment Route is imported only by the PEs that are multi- Ethernet Segment route is imported only by the PEs that are
homed to the same Ethernet Segment. To that end, each PE that is multihomed to the same Ethernet segment. To that end, each PE that
connected to a particular Ethernet segment constructs an import is connected to a particular Ethernet segment constructs an import
filtering rule to import a route that carries the ES-Import extended filtering rule to import a route that carries the ES-Import Route
community, constructed from the ESI. Target, constructed from the ESI.
8.2 Fast Convergence 8.2. Fast Convergence
In EVPN, MAC address reachability is learnt via the BGP control-plane In EVPN, MAC address reachability is learned via the BGP control
over the MPLS network. As such, in the absence of any fast protection plane over the MPLS network. As such, in the absence of any fast
mechanism, the network convergence time is a function of the number protection mechanism, the network convergence time is a function of
of MAC Advertisement routes that must be withdrawn by the PE the number of MAC/IP Advertisement routes that must be withdrawn by
encountering a failure. For highly scaled environments, this scheme the PE encountering a failure. For highly scaled environments, this
yields slow convergence. scheme yields slow convergence.
To alleviate this, EVPN defines a mechanism to efficiently and To alleviate this, EVPN defines a mechanism to efficiently and
quickly signal, to remote PE nodes, the need to update their quickly signal, to remote PE nodes, the need to update their
forwarding tables upon the occurrence of a failure in connectivity to forwarding tables upon the occurrence of a failure in connectivity to
an Ethernet segment. This is done by having each PE advertise a set an Ethernet segment. This is done by having each PE advertise a set
of one or more Ethernet A-D per Ethernet segment (per ES) routes for of one or more Ethernet A-D per ES routes for each locally attached
each locally attached Ethernet segment (refer to section 8.2.1 below Ethernet segment (refer to Section 8.2.1 below for details on how
for details on how these routes are constructed). The reason that a these routes are constructed). A PE may need to advertise more than
PE may need to advertise more than one Ethernet A-D per ES route for one Ethernet A-D per ES route for a given ES because the ES may be in
a given ES is that the ES may be in a multiplicity of EVIs and the a multiplicity of EVIs and the RTs for all of these EVIs may not fit
RTs for all of these EVIs may not fit into a single route. into a single route. Advertising a set of Ethernet A-D per ES routes
Advertising a set of Ethernet A-D per ES routes for the ES allows for the ES allows each route to contain a subset of the complete set
each route to contain a subset of the complete set of RTs. of RTs. Each Ethernet A-D per ES route is differentiated from the
other routes in the set by a different Route Distinguisher (RD).
Upon a failure in connectivity to the attached segment, the PE Upon a failure in connectivity to the attached segment, the PE
withdraws the corresponding set of Ethernet A-D Per ES routes. This withdraws the corresponding set of Ethernet A-D per ES routes. This
triggers all PEs that receive the withdrawal to update their next-hop triggers all PEs that receive the withdrawal to update their next-hop
adjacencies for all MAC addresses associated with the Ethernet adjacencies for all MAC addresses associated with the Ethernet
segment in question. If no other PE had advertised an Ethernet A-D segment in question. If no other PE had advertised an Ethernet A-D
route for the same segment, then the PE that received the withdrawal route for the same segment, then the PE that received the withdrawal
simply invalidates the MAC entries for that segment. Otherwise, the simply invalidates the MAC entries for that segment. Otherwise, the
PE updates the next-hop adjacencies to point to the backup PE(s). PE updates its next-hop adjacencies accordingly.
8.2.1 Constructing Ethernet A-D per Ethernet Segment Route 8.2.1. Constructing Ethernet A-D per Ethernet Segment Route
This section describes the procedures used to construct the Ethernet This section describes the procedures used to construct the Ethernet
A-D per ES route, which is used for fast convergence (as discussed A-D per ES route, which is used for fast convergence (as discussed
above) and for advertising the ESI label used for split-horizon above) and for advertising the ESI label used for split-horizon
filtering (as discussed in section 8.3). Support of this route is filtering (as discussed in Section 8.3). Support of this route is
REQUIRED. REQUIRED.
The Route-Distinguisher (RD) MUST be a Type 1 RD [RFC4364]. The value The Route Distinguisher (RD) MUST be a Type 1 RD [RFC4364]. The
field comprises an IP address of the PE (typically, the loopback value field comprises an IP address of the PE (typically, the
address) followed by a number unique to the PE. loopback address) followed by a number unique to the PE.
The Ethernet Segment Identifier MUST be a ten octet entity as The Ethernet Segment Identifier MUST be a 10-octet entity as
described in section "Ethernet Segment". The Ethernet A-D route is described in Section 5 ("Ethernet Segment"). The Ethernet A-D route
not needed when the Segment Identifier is set to 0 (e.g., single- is not needed when the Segment Identifier is set to 0 (e.g., single-
homed scenarios). homed scenarios).
The Ethernet Tag ID MUST be set to MAX-ET. The Ethernet Tag ID MUST be set to MAX-ET.
The MPLS label in the NLRI MUST be set to 0. The MPLS label in the NLRI MUST be set to 0.
The "ESI Label Extended Community" MUST be included in the route. If The ESI Label extended community MUST be included in the route. If
All-Active redundancy mode is desired, then the "Single-Active" bit All-Active redundancy mode is desired, then the "Single-Active" bit
in the flags of the ESI Label Extended Community MUST be set to 0 and in the flags of the ESI Label extended community MUST be set to 0 and
the MPLS label in that extended community MUST be set to a valid MPLS the MPLS label in that Extended Community MUST be set to a valid MPLS
label value. The MPLS label in this Extended Community is referred to label value. The MPLS label in this Extended Community is referred
as the ESI label and MUST have the same value in each Ethernet A-D to as the ESI label and MUST have the same value in each Ethernet A-D
per ES route advertised for the ES. This label MUST be a downstream per ES route advertised for the ES. This label MUST be a downstream
assigned MPLS label if the advertising PE is using ingress assigned MPLS label if the advertising PE is using ingress
replication for receiving multicast, broadcast or unknown unicast replication for receiving multicast, broadcast, or unknown unicast
traffic from other PEs. If the advertising PE is using P2MP MPLS LSPs traffic from other PEs. If the advertising PE is using P2MP MPLS
for sending multicast, broadcast or unknown unicast traffic, then LSPs for sending multicast, broadcast, or unknown unicast traffic,
this label MUST be an upstream assigned MPLS label. The usage of this then this label MUST be an upstream assigned MPLS label. The usage
label is described in section 8.3. of this label is described in Section 8.3.
If Single-Active redundancy mode is desired, then the "Single-Active" If Single-Active redundancy mode is desired, then the "Single-Active"
bit in the flags of the ESI Label Extended Community MUST be set to 1 bit in the flags of the ESI Label extended community MUST be set to 1
and the ESI label SHOULD be set to a valid MPLS label value. and the ESI label SHOULD be set to a valid MPLS label value.
8.2.1.1. Ethernet A-D Route Targets 8.2.1.1. Ethernet A-D Route Targets
Each Ethernet A-D per ES route MUST carry one or more Route Target Each Ethernet A-D per ES route MUST carry one or more Route Target
(RT) attributes. The set of Ethernet A-D routes per ES MUST carry the (RT) attributes. The set of Ethernet A-D routes per ES MUST carry
entire set of RTs for all the EVPN instances to which the Ethernet the entire set of RTs for all the EVPN instances to which the
Segment belongs. Ethernet segment belongs.
8.3 Split Horizon 8.3. Split Horizon
Consider a CE that is multi-homed to two or more PEs on an Ethernet Consider a CE that is multihomed to two or more PEs on an Ethernet
segment ES1 operating in All-Active redundancy mode. If the CE sends segment ES1 operating in All-Active redundancy mode. If the CE sends
a broadcast, unknown unicast, or multicast (BUM) packet to one of the a broadcast, unknown unicast, or multicast (BUM) packet to one of the
non-Designated Forwarder (non-DF) PEs, say PE1, then PE1 will forward non-Designated Forwarder (non-DF) PEs, say PE1, then PE1 will forward
that packet to all or subset of the other PEs in that EVPN instance that packet to all or a subset of the other PEs in that EVPN
including the Designated Forwarder (DF) PE for that Ethernet segment. instance, including the DF PE for that Ethernet segment. In this
In this case the DF PE that the CE is multi-homed to MUST drop the case, the DF PE to which the CE is multihomed MUST drop the packet
packet and not forward back to the CE. This filtering is referred to and not forward back to the CE. This filtering is referred to as
as "split horizon" filtering in this document. "split-horizon filtering" in this document.
When a set of PEs operating in Single-Active redundancy mode, the use When a set of PEs are operating in Single-Active redundancy mode, the
of this split-horizon filtering mechanism is highly recommended use of this split-horizon filtering mechanism is highly recommended
because it prevents transient loop at the time of failure or recovery because it prevents transient loops at the time of failure or
impacting the Ethernet Segment - e.g., when two PEs thinks that both recovery that would impact the Ethernet segment -- e.g., when two PEs
are DFs for that segment before DF election procedure settles down. think that both are DFs for that segment before the DF election
procedure settles down.
In order to achieve this split horizon function, every BUM packet In order to achieve this split-horizon function, every BUM packet
originating from a non-DF PE is encapsulated with an MPLS label that originating from a non-DF PE is encapsulated with an MPLS label that
identifies the Ethernet segment of origin (i.e. the segment from identifies the Ethernet segment of origin (i.e., the segment from
which the frame entered the EVPN network). This label is referred to which the frame entered the EVPN network). This label is referred to
as the ESI label, and MUST be distributed by all PEs when operating as the ESI label and MUST be distributed by all PEs when operating in
in All-Active redundancy mode using a set of Ethernet A-D per ES All-Active redundancy mode using a set of Ethernet A-D per ES routes,
routes per section 8.2.1 above. The ESI label SHOULD be distributed per Section 8.2.1 above. The ESI label SHOULD be distributed by all
by all PEs when operating in Single-Active redundancy mode using a PEs when operating in Single-Active redundancy mode using a set of
set of Ethernet A-D per ES route. This route is imported by the PEs Ethernet A-D per ES routes. These routes are imported by the PEs
connected to the Ethernet Segment and also by the PEs that have at connected to the Ethernet segment and also by the PEs that have at
least one EVPN instance in common with the Ethernet Segment in the least one EVPN instance in common with the Ethernet segment in the
route. As described in section 8.1.1, the route MUST carry an ESI route. As described in Section 8.1.1, the route MUST carry an ESI
Label Extended Community with a valid ESI label. The disposition PE Label extended community with a valid ESI label. The disposition PE
rely on the value of the ESI label to determine whether or not a BUM relies on the value of the ESI label to determine whether or not a
frame is allowed to egress a specific Ethernet segment. BUM frame is allowed to egress a specific Ethernet segment.
8.3.1 ESI Label Assignment 8.3.1. ESI Label Assignment
The following subsections describe the assignment procedures for the The following subsections describe the assignment procedures for the
ESI label, which differ depending on the type of tunnels being used ESI label, which differ depending on the type of tunnels being used
to deliver multi-destination packets in the EVPN network. to deliver multi-destination packets in the EVPN network.
8.3.1.1 Ingress Replication 8.3.1.1. Ingress Replication
Each PE attached to a given ES that is operating in All-Active or Each PE that operates in All-Active or Single-Active redundancy mode
Single-Active redundancy mode and that uses ingress replication to and that uses ingress replication to receive BUM traffic advertises a
receive BUM traffic advertises a downstream assigned ESI label in the downstream assigned ESI label in the set of Ethernet A-D per ES
set of Ethernet A-D per ES routes for that ES. This label MUST be routes for its attached ES. This label MUST be programmed in the
programmed in the platform label space by the advertising PE and the platform label space by the advertising PE, and the forwarding entry
forwarding entry for this label must result in NOT forwarding packets for this label must result in NOT forwarding packets received with
received with this label onto the Ethernet segment for which the this label onto the Ethernet segment for which the label was
label was distributed. distributed.
The rules for the inclusion of the ESI label in a BUM packet by the The rules for the inclusion of the ESI label in a BUM packet by the
ingress PE operating in All-Active redundancy mode are as follows: ingress PE operating in All-Active redundancy mode are as follows:
A non-DF ingress PE MUST include the ESI label distributed by the DF - A non-DF ingress PE MUST include the ESI label distributed by the
egress PE in the copy of a BUM packet sent to it. DF egress PE in the copy of a BUM packet sent to it.
An ingress PE (DF or non-DF) SHOULD include the ESI label distributed - An ingress PE (DF or non-DF) SHOULD include the ESI label
by each non-DF egress PE in the copy of a BUM packet sent to it. distributed by each non-DF egress PE in the copy of a BUM packet
sent to it.
The rules for the inclusion of the ESI label in a BUM packet by the The rule for the inclusion of the ESI label in a BUM packet by the
ingress PE operating in Single-Active redundancy mode are as follows: ingress PE operating in Single-Active redundancy mode is as follows:
An ingress DF PE SHOULD include the ESI label distributed by the - An ingress DF PE SHOULD include the ESI label distributed by the
egress PE in the copy of a BUM packet sent to it. egress PE in the copy of a BUM packet sent to it.
In both All-Active and Single-Active redundancy mode, an ingress PE In both All-Active and Single-Active redundancy mode, an ingress PE
MUST NOT include an ESI label in the copy of a BUM packet sent to an MUST NOT include an ESI label in the copy of a BUM packet sent to an
egress PE that is not attached to the ES through which the BUM packet egress PE that is not attached to the ES through which the BUM packet
entered the EVI. entered the EVI.
As an example, consider PE1 and PE2 that are multi-homed to CE1 on As an example, consider PE1 and PE2, which are multihomed to CE1 on
ES1 and operating in All-Active multi-homing mode. Further consider ES1 and operating in All-Active multihoming mode. Further, consider
that PE1 is using P2P or MP2P LSPs to send packets to PE2. Consider that PE1 is using P2P or MP2P LSPs to send packets to PE2. Consider
that PE1 is the non-DF for VLAN1 and PE2 is the DF for VLAN1, and PE1 that PE1 is the non-DF for VLAN1 and PE2 is the DF for VLAN1, and PE1
receives a BUM packet from CE1 on VLAN1 on ES1. In this scenario, PE2 receives a BUM packet from CE1 on VLAN1 on ES1. In this scenario,
distributes an Inclusive Multicast Ethernet Tag route for VLAN1 PE2 distributes an Inclusive Multicast Ethernet Tag route for VLAN1
corresponding to an EVPN instance. So, when PE1 sends a BUM packet, corresponding to an EVPN instance. So, when PE1 sends a BUM packet
that it receives from CE1, it MUST first push onto the MPLS label that it receives from CE1, it MUST first push onto the MPLS label
stack the ESI label that PE2 has distributed for ES1. It MUST then stack the ESI label that PE2 has distributed for ES1. It MUST then
push on the MPLS label distributed by PE2 in the Inclusive Multicast push onto the MPLS label stack the MPLS label distributed by PE2 in
Ethernet Tag route for VLAN1. The resulting packet is further the Inclusive Multicast Ethernet Tag route for VLAN1. The resulting
encapsulated in the P2P or MP2P LSP label stack required to transmit packet is further encapsulated in the P2P or MP2P LSP label stack
the packet to PE2. When PE2 receives this packet, it determines the required to transmit the packet to PE2. When PE2 receives this
set of ESIs to replicate the packet to from the top MPLS label, after packet, it determines, from the top MPLS label, the set of ESIs to
any P2P or MP2P LSP labels have been removed. If the next label is which it will replicate the packet after any P2P or MP2P LSP labels
the ESI label assigned by PE2 for ES1, then PE2 MUST NOT forward the have been removed. If the next label is the ESI label assigned by
packet onto ES1. If the next label is an ESI label which has not been PE2 for ES1, then PE2 MUST NOT forward the packet onto ES1. If the
assigned by PE2, then PE2 MUST drop the packet. It should be noted next label is an ESI label that has not been assigned by PE2, then
that in this scenario, if PE2 receives a BUM packet for VLAN1 from PE2 MUST drop the packet. It should be noted that in this scenario,
CE1, then it SHOULD encapsulate the packet with an ESI label received if PE2 receives a BUM packet for VLAN1 from CE1, then it SHOULD
from PE1 when sending it to PE1 in order to avoid any transient loop encapsulate the packet with an ESI label received from PE1 when
during a failure scenario impacting ES1 (e.g., port or link failure). sending it to PE1 in order to avoid any transient loops during a
failure scenario that would impact ES1 (e.g., port or link failure).
8.3.1.2. P2MP MPLS LSPs 8.3.1.2. P2MP MPLS LSPs
The non-DF PEs attached to a given ES that is operating in All-Active The non-DF PEs that operate in All-Active redundancy mode and that
redundancy mode and that use P2MP LSPs to send BUM traffic advertise use P2MP LSPs to send BUM traffic advertise an upstream assigned ESI
an upstream assigned ESI label in the set of Ethernet A-D per ES label in the set of Ethernet A-D per ES routes for their common
routes for that ES. This label is upstream assigned by the PE that attached ES. This label is upstream assigned by the PE that
advertises the route. This label MUST be programmed by the other PEs, advertises the route. This label MUST be programmed by the other PEs
that are connected to the ESI advertised in the route, in the context that are connected to the ESI advertised in the route, in the context
label space for the advertising PE. Further the forwarding entry for label space for the advertising PE. Further, the forwarding entry
this label must result in NOT forwarding packets received with this for this label must result in NOT forwarding packets received with
label onto the Ethernet segment that the label was distributed for. this label onto the Ethernet segment for which the label was
This label MUST also be programmed by the other PEs, that import the distributed. This label MUST also be programmed by the other PEs
route but are not connected to the ESI advertised in the route, in that import the route but are not connected to the ESI advertised in
the context label space for the advertising PE. Further the the route, in the context label space for the advertising PE.
forwarding entry for this label must be a POP with no other Further, the forwarding entry for this label must be a label pop with
associated action. no other associated action.
The DF PE attached to a given ES that is operating in Single-Active The DF PE that operates in Single-Active redundancy mode and that
redundancy mode and that use P2MP LSPs to send BUM traffic should uses P2MP LSPs to send BUM traffic should advertise an upstream
advertise an upstream assigned ESI label in the set of Ethernet A-D assigned ESI label in the set of Ethernet A-D per ES routes for its
per ES routes for that ES just as above paragraph. attached ES, just as described in the previous paragraph.
As an example, consider PE1 and PE2 that are multi-homed to CE1 on As an example, consider PE1 and PE2, which are multihomed to CE1 on
ES1 and operating in All-Active multi-homing mode. Also consider PE3 ES1 and operating in All-Active multihoming mode. Also, consider
belongs to one of the EVPN instances of ES1. Further, assume that that PE3 belongs to one of the EVPN instances of ES1. Further,
PE1 which is the non-DF, using P2MP MPLS LSPs to send BUM packets. assume that PE1, which is the non-DF, is using P2MP MPLS LSPs to send
When PE1 sends a BUM packet, that it receives from CE1, it MUST first BUM packets. When PE1 sends a BUM packet that it receives from CE1,
push onto the MPLS label stack the ESI label that it has assigned for it MUST first push onto the MPLS label stack the ESI label that it
the ESI that the packet was received on. The resulting packet is has assigned for the ESI on which the packet was received. The
further encapsulated in the P2MP MPLS label stack necessary to resulting packet is further encapsulated in the P2MP MPLS label stack
transmit the packet to the other PEs. Penultimate hop popping MUST be necessary to transmit the packet to the other PEs. Penultimate hop
disabled on the P2MP LSPs used in the MPLS transport infrastructure popping MUST be disabled on the P2MP LSPs used in the MPLS transport
for EVPN. When PE2 receives this packet, it de-capsulates the top infrastructure for EVPN. When PE2 receives this packet, it
MPLS label and forwards the packet using the context label space decapsulates the top MPLS label and forwards the packet using the
determined by the top label. If the next label is the ESI label context label space determined by the top label. If the next label
assigned by PE1 to ES1, then PE2 MUST NOT forward the packet onto is the ESI label assigned by PE1 to ES1, then PE2 MUST NOT forward
ES1. When PE3 receives this packet, it de-capsulates the top MPLS the packet onto ES1. When PE3 receives this packet, it decapsulates
label and forwards the packet using the context label space the top MPLS label and forwards the packet using the context label
determined by the top label. If the next label is the ESI label space determined by the top label. If the next label is the ESI
assigned by PE1 to ES1 and PE3 is not connected to ES1, then PE3 MUST label assigned by PE1 to ES1 and PE3 is not connected to ES1, then
pop the label and flood the packet over all local ESIs in that EVPN PE3 MUST pop the label and flood the packet over all local ESIs in
instance. It should be noted that when PE2 sends a BUM frame over a that EVPN instance. It should be noted that when PE2 sends a BUM
P2MP LSP, it should encapsulate the frame with an ESI label even frame over a P2MP LSP, it should encapsulate the frame with an ESI
though it is the DF for that VLAN in order to avoid any transient label even though it is the DF for that VLAN, in order to avoid any
loop during a failure scenario impacting ES1 (e.g., port or link transient loops during a failure scenario that would impact ES1
failure). (e.g., port or link failure).
8.4 Aliasing and Backup-Path 8.4. Aliasing and Backup Path
In the case where a CE is multi-homed to multiple PE nodes, using a In the case where a CE is multihomed to multiple PE nodes, using a
LAG with All-Active redundancy, it is possible that only a single PE Link Aggregation Group (LAG) with All-Active redundancy, it is
learns a set of the MAC addresses associated with traffic transmitted possible that only a single PE learns a set of the MAC addresses
by the CE. This leads to a situation where remote PE nodes receive associated with traffic transmitted by the CE. This leads to a
MAC advertisement routes, for these addresses, from a single PE even situation where remote PE nodes receive MAC/IP Advertisement routes
though multiple PEs are connected to the multi-homed segment. As a for these addresses from a single PE, even though multiple PEs are
result, the remote PEs are not able to effectively load-balance connected to the multihomed segment. As a result, the remote PEs are
traffic among the PE nodes connected to the multi-homed Ethernet not able to effectively load balance traffic among the PE nodes
segment. This could be the case, for e.g. when the PEs perform data- connected to the multihomed Ethernet segment. This could be the
plane learning on the access, and the load-balancing function on the case, for example, when the PEs perform data-plane learning on the
CE hashes traffic from a given source MAC address to a single PE. access, and the load-balancing function on the CE hashes traffic from
Another scenario where this occurs is when the PEs rely on control a given source MAC address to a single PE.
plane learning on the access (e.g. using ARP), since ARP traffic will
be hashed to a single link in the LAG.
To address this issue, EVPN introduces the concept of 'Aliasing' Another scenario where this occurs is when the PEs rely on control-
plane learning on the access (e.g., using ARP), since ARP traffic
will be hashed to a single link in the LAG.
To address this issue, EVPN introduces the concept of 'aliasing',
which is the ability of a PE to signal that it has reachability to an which is the ability of a PE to signal that it has reachability to an
EVPN instance on a given ES even when it has learnt no MAC addresses EVPN instance on a given ES even when it has learned no MAC addresses
from that EVI/ES. The Ethernet A-D per EVI route is used for this from that EVI/ES. The Ethernet A-D per EVI route is used for this
purpose. A remote PE that receives a MAC advertisement route with purpose. A remote PE that receives a MAC/IP Advertisement route with
non-reserved ESI SHOULD consider the advertised MAC address to be a non-reserved ESI SHOULD consider the advertised MAC address to be
reachable via all PEs that have advertised reachability to that MAC reachable via all PEs that have advertised reachability to that MAC
address' EVI/ES via the combination of an Ethernet A-D per EVI route address's EVI/ES via the combination of an Ethernet A-D per EVI route
for that EVI/ES (and Ethernet Tag if applicable) AND Ethernet A-D per for that EVI/ES (and Ethernet tag, if applicable) AND Ethernet A-D
ES routes for that ES with the 'Single-Active' bit in the flags of per ES routes for that ES with the "Single-Active" bit in the flags
the ESI Label Extended Community set to 0. of the ESI Label extended community set to 0.
Note that the Ethernet A-D per EVI route may be received by a remote Note that the Ethernet A-D per EVI route may be received by a remote
PE before it receives the set of Ethernet A-D per ES routes. PE before it receives the set of Ethernet A-D per ES routes.
Therefore, in order to handle corner cases and race conditions, the Therefore, in order to handle corner cases and race conditions, the
Ethernet A-D per EVI route MUST NOT be used for traffic forwarding by Ethernet A-D per EVI route MUST NOT be used for traffic forwarding by
a remote PE until it also receives the associated set of Ethernet A-D a remote PE until it also receives the associated set of Ethernet A-D
per ES routes. per ES routes.
Backup-path is a closely related function, but it is used in Single- The backup path is a closely related function, but it is used in
Active redundancy mode. In this case a PE also advertises that it Single-Active redundancy mode. In this case, a PE also advertises
has reachability to a give EVI/ES using same combination of Ethernet that it has reachability to a given EVI/ES using the same combination
A-D per EVI route and Ethernet A-D per ES route as above, but with of Ethernet A-D per EVI route and Ethernet A-D per ES route as
the 'Single-Active' bit in the flags of the ESI Label Extended discussed above, but with the "Single-Active" bit in the flags of the
Community set to 1. A remote PE that receives a MAC advertisement ESI Label extended community set to 1. A remote PE that receives a
route with non-reserved ESI SHOULD consider the advertised MAC MAC/IP Advertisement route with a non-reserved ESI SHOULD consider
address to be reachable via any PE that has advertised this the advertised MAC address to be reachable via any PE that has
combination of Ethernet A-D routes and it SHOULD install a backup- advertised this combination of Ethernet A-D routes, and it SHOULD
path for that MAC address. install a backup path for that MAC address.
8.4.1 Constructing Ethernet A-D per EVPN Instance Route 8.4.1. Constructing Ethernet A-D per EVPN Instance Route
This section describes the procedures used to construct the Ethernet This section describes the procedures used to construct the Ethernet
A-D per EVPN Instance (EVI) route, which is used for aliasing (as A-D per EVPN instance (EVI) route, which is used for aliasing (as
discussed above). Support of this route is OPTIONAL. discussed above). Support of this route is OPTIONAL.
Route-Distinguisher (RD) MUST be set to the RD of the EVI that is The Route Distinguisher (RD) MUST be set per Section 7.9.
advertising the NLRI per section 7.9.
The Ethernet Segment Identifier MUST be a ten octet entity as The Ethernet Segment Identifier MUST be a 10-octet entity as
described in section "Ethernet Segment Identifier". The Ethernet A-D described in Section 5 ("Ethernet Segment"). The Ethernet A-D route
route is not needed when the Segment Identifier is set to 0. is not needed when the Segment Identifier is set to 0.
The Ethernet Tag ID is the identifier of an Ethernet Tag on the The Ethernet Tag ID is the identifier of an Ethernet tag on the
Ethernet segment. This value may be a 12 bit VLAN ID, in which case Ethernet segment. This value may be a 12-bit VLAN ID, in which case
the low order 12 bits are set to the VLAN ID and the high order 20 the low-order 12 bits are set to the VLAN ID and the high-order
bits are set to 0. Or it may be another Ethernet Tag used by the 20 bits are set to 0. Or, it may be another Ethernet tag used by the
EVPN. It MAY be set to the default Ethernet Tag on the Ethernet EVPN. It MAY be set to the default Ethernet tag on the Ethernet
segment or to the value 0. segment or to the value 0.
Note that the above allows the Ethernet A-D route to be advertised Note that the above allows the Ethernet A-D route to be advertised
with one of the following granularities: with one of the following granularities:
+ One Ethernet A-D route for a given <ESI, Ethernet Tag ID> tuple + One Ethernet A-D route per <ESI, Ethernet Tag ID> tuple per
per EVI. This is applicable when the PE uses MPLS-based MAC-VRF. This is applicable when the PE uses MPLS-based
disposition. disposition with VID translation or may be applicable when the
PE uses MAC-based disposition with VID translation.
+ One Ethernet A-D route per <ESI, EVI> (where the Ethernet + One Ethernet A-D route for each <ESI> per MAC-VRF (where the
Tag ID is set to 0). This is applicable when the PE uses Ethernet Tag ID is set to 0). This is applicable when the PE uses
MAC-based disposition, or when the PE uses MPLS-based MAC-based disposition or MPLS-based disposition without VID
disposition when no VLAN translation is required. translation.
The usage of the MPLS label is described in the section on "Load The usage of the MPLS label is described in Section 14 ("Load
Balancing of Unicast Packets". Balancing of Unicast Packets").
The Next Hop field of the MP_REACH_NLRI attribute of the route MUST The Next Hop field of the MP_REACH_NLRI attribute of the route MUST
be set to the IPv4 or IPv6 address of the advertising PE. be set to the IPv4 or IPv6 address of the advertising PE.
The Ethernet A-D route MUST carry one or more Route Target (RT) The Ethernet A-D route MUST carry one or more Route Target (RT)
attributes per section 7.10. attributes, per Section 7.10.
8.5 Designated Forwarder Election 8.5. Designated Forwarder Election
Consider a CE that is a host or a router that is multi-homed directly Consider a CE that is a host or a router that is multihomed directly
to more than one PE in an EVPN instance on a given Ethernet segment. to more than one PE in an EVPN instance on a given Ethernet segment.
One or more Ethernet Tags may be configured on the Ethernet segment. One or more Ethernet tags may be configured on the Ethernet segment.
In this scenario only one of the PEs, referred to as the Designated In this scenario, only one of the PEs, referred to as the Designated
Forwarder (DF), is responsible for certain actions: Forwarder (DF), is responsible for certain actions:
- Sending multicast and broadcast traffic, on a given Ethernet - Sending multicast and broadcast traffic, on a given Ethernet tag on
Tag on a particular Ethernet segment, to the CE. a particular Ethernet segment, to the CE.
- Flooding unknown unicast traffic (i.e. traffic for - Flooding unknown unicast traffic (i.e., traffic for which a PE does
which a PE does not know the destination MAC address), not know the destination MAC address), on a given Ethernet tag on a
on a given Ethernet Tag on a particular Ethernet segment particular Ethernet segment to the CE, if the environment requires
to the CE, if the environment requires flooding of flooding of unknown unicast traffic.
unknown unicast traffic.
Note that this behavior, which allows selecting a DF at the Note that this behavior, which allows selecting a DF at the
granularity of <ESI, EVI> for multicast, broadcast and unknown granularity of <ES, VLAN> or <ES, VLAN bundle> for multicast,
unicast traffic, is the default behavior in this specification. broadcast, and unknown unicast traffic, is the default behavior in
this specification.
Note that a CE always sends packets belonging to a specific flow Note that a CE always sends packets belonging to a specific flow
using a single link towards a PE. For instance, if the CE is a host using a single link towards a PE. For instance, if the CE is a host,
then, as mentioned earlier, the host treats the multiple links that then, as mentioned earlier, the host treats the multiple links that
it uses to reach the PEs as a Link Aggregation Group (LAG). The CE it uses to reach the PEs as a Link Aggregation Group (LAG). The CE
employs a local hashing function to map traffic flows onto links in employs a local hashing function to map traffic flows onto links in
the LAG. the LAG.
If a bridged network is multi-homed to more than one PE in an EVPN If a bridged network is multihomed to more than one PE in an EVPN
network via switches, then the support of All-Active redundancy mode network via switches, then the support of All-Active redundancy mode
requires the bridged network to be connected to two or more PEs using requires the bridged network to be connected to two or more PEs using
a LAG. a LAG.
If a bridged network does not connect to the PEs using LAG, then only If a bridged network does not connect to the PEs using a LAG, then
one of the links between the switched bridged network and the PEs only one of the links between the bridged network and the PEs must be
must be the active link for a given EVPN instance. In this case, the the active link for a given <ES, VLAN> or <ES, VLAN bundle>. In this
set of Ethernet A-D per ES routes advertised by each PE MUST have the case, the set of Ethernet A-D per ES routes advertised by each PE
'Single-Active' bit in the flags of the ESI Label Extended Community MUST have the "Single-Active" bit in the flags of the ESI Label
set to 1. extended community set to 1.
The default procedure for DF election at the granularity of <ESI, The default procedure for DF election at the granularity of <ES,
EVI> is referred to as "service carving". With service carving, it is VLAN> for VLAN-based service or <ES, VLAN bundle> for VLAN-(aware)
possible to elect multiple DFs per Ethernet Segment (one per EVI) in bundle service is referred to as "service carving". With service
order to perform load-balancing of multi-destination traffic destined carving, it is possible to elect multiple DFs per Ethernet segment
to a given Segment. The load-balancing procedures carve up the EVI (one per VLAN or VLAN bundle) in order to perform load balancing of
space among the PE nodes evenly, in such a way that every PE is the multi-destination traffic destined to a given segment. The load-
DF for a disjoint set of EVIs. The procedure for service carving is balancing procedures carve up the VLAN space per ES among the PE
as follows: nodes evenly, in such a way that every PE is the DF for a disjoint
set of VLANs or VLAN bundles for that ES. The procedure for service
carving is as follows:
1. When a PE discovers the ESI of the attached Ethernet Segment, it 1. When a PE discovers the ESI of the attached Ethernet segment, it
advertises an Ethernet Segment route with the associated ES-Import advertises an Ethernet Segment route with the associated ES-Import
extended community attribute. extended community attribute.
2. The PE then starts a timer (default value = 3 seconds) to allow 2. The PE then starts a timer (default value = 3 seconds) to allow
the reception of Ethernet Segment routes from other PE nodes the reception of Ethernet Segment routes from other PE nodes
connected to the same Ethernet Segment. This timer value should be connected to the same Ethernet segment. This timer value should
same across all PEs connected to the same Ethernet Segment. be the same across all PEs connected to the same Ethernet segment.
3. When the timer expires, each PE builds an ordered list of the IP 3. When the timer expires, each PE builds an ordered list of the IP
addresses of all the PE nodes connected to the Ethernet Segment addresses of all the PE nodes connected to the Ethernet segment
(including itself), in increasing numeric value. Each IP address in (including itself), in increasing numeric value. Each IP address
this list is extracted from the "Originator Router's IP address" in this list is extracted from the "Originating Router's IP
field of the advertised Ethernet Segment route. Every PE is then address" field of the advertised Ethernet Segment route. Every PE
given an ordinal indicating its position in the ordered list, is then given an ordinal indicating its position in the ordered
starting with 0 as the ordinal for the PE with the numerically lowest list, starting with 0 as the ordinal for the PE with the
IP address. The ordinals are used to determine which PE node will be numerically lowest IP address. The ordinals are used to determine
the DF for a given EVPN instance on the Ethernet Segment using the which PE node will be the DF for a given EVPN instance on the
following rule: Ethernet segment, using the following rule:
Assuming a redundancy group of N PE nodes, the PE with ordinal i is Assuming a redundancy group of N PE nodes, for VLAN-based service,
the DF for an EVPN instance with an associated Ethernet Tag value V the PE with ordinal i is the DF for an <ES, VLAN V> when (V mod N)
when (V mod N) = i. In the case where multiple Ethernet Tags are = i. In the case of VLAN-(aware) bundle service, then the
associated with a single EVPN instance, then the numerically lowest numerically lowest VLAN value in that bundle on that ES MUST be
Ethernet Tag value in that EVPN instance on that ES MUST be used in used in the modulo function.
the modulo function.
It should be noted that using "Originator Router's IP address" field It should be noted that using the "Originating Router's IP
in the Ethernet Segment route to get the PE IP address needed for the address" field in the Ethernet Segment route to get the PE IP
ordered list, allows for a CE to be multi-homed across different ASes address needed for the ordered list allows for a CE to be
if such need ever arises. multihomed across different ASes if such a need ever arises.
4. The PE that is elected as a DF for a given EVPN instance will 4. The PE that is elected as a DF for a given <ES, VLAN> or <ES, VLAN
unblock traffic for the Ethernet Tags associated with that EVPN bundle> will unblock multi-destination traffic for that VLAN or
instance. Note that the DF PE unblocks multi-destination traffic in VLAN bundle on the corresponding ES. Note that the DF PE unblocks
the egress direction towards the Segment. All non-DF PEs continue to multi-destination traffic in the egress direction towards the
drop multi-destination traffic (for the associated EVPN instances) in segment. All non-DF PEs continue to drop multi-destination
the egress direction towards the Segment. traffic in the egress direction towards that <ES, VLAN> or <ES,
VLAN bundle>.
In the case of link or port failure, the affected PE withdraws its In the case of link or port failure, the affected PE withdraws its
Ethernet Segment route. This will re-trigger the service carving Ethernet Segment route. This will re-trigger the service carving
procedures on all the PEs in the RG. For PE node failure, or upon PE procedures on all the PEs in the redundancy group. For PE node
commissioning or decommissioning, the PEs re-trigger the service failure, or upon PE commissioning or decommissioning, the PEs
carving. In case of a Single-Active multi-homing, when a service re-trigger the service carving. In the case of Single-Active
moves from one PE in the RG to another PE as a result of re-carving, multihoming, when a service moves from one PE in the redundancy
the PE, which ends up being the elected DF for the service, SHOULD group to another PE as a result of re-carving, the PE, which ends
trigger a MAC address flush notification towards the associated up being the elected DF for the service, SHOULD trigger a MAC
Ethernet Segment. This can be done, for e.g. using IEEE 802.1ak MVRP address flush notification towards the associated Ethernet
'new' declaration. segment. This can be done, for example, using the IEEE 802.1ak
Multiple VLAN Registration Protocol (MVRP) 'new' declaration.
8.6. Interoperability with Single-homing PEs 8.6. Interoperability with Single-Homing PEs
Let's refer to PEs that only support single-homed CE devices as Let's refer to PEs that only support single-homed CE devices as
single-homing PEs. For single-homing PEs, all the above multi-homing single-homing PEs. For single-homing PEs, all the above multihoming
procedures can be omitted; however, to allow for single-homing PEs to procedures can be omitted; however, to allow for single-homing PEs
fully inter-operate with multi-homing PEs, some of the multi-homing to fully interoperate with multihoming PEs, some of the multihoming
procedures described above SHOULD be supported even by single-homing procedures described above SHOULD be supported even by single-
PEs: homing PEs:
- procedures related to processing Ethernet A-D route for the purpose - procedures related to processing Ethernet A-D routes for the
of Fast Convergence (8.2 Fast Convergence), to let single-homing PEs purpose of fast convergence (Section 8.2 ("Fast Convergence")), to
benefit from fast convergence let single-homing PEs benefit from fast convergence
- procedures related to processing Ethernet A-D route for the purpose - procedures related to processing Ethernet A-D routes for the
of Aliasing (8.4 Aliasing and Backup-path), to let single-homing PEs purpose of aliasing (Section 8.4 ("Aliasing and Backup Path")), to
benefit from load balancing let single-homing PEs benefit from load balancing
- procedures related to processing Ethernet A-D route for the purpose - procedures related to processing Ethernet A-D routes for the
of Backup-path (8.4 Aliasing and Backup-path), to let single-homing purpose of a backup path (Section 8.4 ("Aliasing and Backup
PEs to benefit from the corresponding convergence improvement Path")), to let single-homing PEs benefit from the corresponding
convergence improvement
9. Determining Reachability to Unicast MAC Addresses 9. Determining Reachability to Unicast MAC Addresses
PEs forward packets that they receive based on the destination MAC PEs forward packets that they receive based on the destination MAC
address. This implies that PEs must be able to learn how to reach a address. This implies that PEs must be able to learn how to reach a
given destination unicast MAC address. given destination unicast MAC address.
There are two components to MAC address learning, "local learning" There are two components to MAC address learning -- "local learning"
and "remote learning": and "remote learning":
9.1. Local Learning 9.1. Local Learning
A particular PE must be able to learn the MAC addresses from the CEs A particular PE must be able to learn the MAC addresses from the CEs
that are connected to it. This is referred to as local learning. that are connected to it. This is referred to as local learning.
The PEs in a particular EVPN instance MUST support local data plane The PEs in a particular EVPN instance MUST support local data-plane
learning using standard IEEE Ethernet learning procedures. A PE must learning using standard IEEE Ethernet learning procedures. A PE must
be capable of learning MAC addresses in the data plane when it be capable of learning MAC addresses in the data plane when it
receives packets such as the following from the CE network: receives packets such as the following from the CE network:
- DHCP requests - DHCP requests
- ARP request for its own MAC. - An ARP Request for its own MAC
- ARP request for a peer. - An ARP Request for a peer
Alternatively PEs MAY learn the MAC addresses of the CEs in the Alternatively, PEs MAY learn the MAC addresses of the CEs in the
control plane or via management plane integration between the PEs and control plane or via management-plane integration between the PEs and
the CEs. the CEs.
There are applications where a MAC address that is reachable via a There are applications where a MAC address that is reachable via a
given PE on a locally attached Segment (e.g. with ESI X) may move given PE on a locally attached segment (e.g., with ESI X) may move,
such that it becomes reachable via another PE on another Segment such that it becomes reachable via another PE on another segment
(e.g. with ESI Y). This is referred to as a "MAC Mobility". (e.g., with ESI Y). This is referred to as "MAC Mobility".
Procedures to support this are described in section "MAC Mobility". Procedures to support this are described in Section 15 ("MAC
Mobility").
9.2. Remote learning 9.2. Remote Learning
A particular PE must be able to determine how to send traffic to MAC A particular PE must be able to determine how to send traffic to MAC
addresses that belong to or are behind CEs connected to other PEs addresses that belong to or are behind CEs connected to other PEs,
i.e. to remote CEs or hosts behind remote CEs. We call such MAC i.e., to remote CEs or hosts behind remote CEs. We call such MAC
addresses "remote" MAC addresses. addresses "remote" MAC addresses.
This document requires a PE to learn remote MAC addresses in the This document requires a PE to learn remote MAC addresses in the
control plane. In order to achieve this, each PE advertises the MAC control plane. In order to achieve this, each PE advertises the MAC
addresses it learns from its locally attached CEs in the control addresses it learns from its locally attached CEs in the control
plane, to all the other PEs in that EVPN instance, using MP-BGP and plane, to all the other PEs in that EVPN instance, using MP-BGP and,
specifically the MAC Advertisement route. specifically, the MAC/IP Advertisement route.
9.2.1. Constructing MAC/IP Address Advertisement 9.2.1. Constructing MAC/IP Address Advertisement
BGP is extended to advertise these MAC addresses using the MAC/IP BGP is extended to advertise these MAC addresses using the MAC/IP
Advertisement route type in the EVPN NLRI. Advertisement route type in the EVPN NLRI.
The RD MUST be the RD of the EVI that is advertising the NLRI. The The RD MUST be set per Section 7.9.
procedures for setting the RD for a given EVI are described in
section 7.9.
The Ethernet Segment Identifier is set to the ten octet ESI described The Ethernet Segment Identifier is set to the 10-octet ESI described
in section "Ethernet Segment". in Section 5 ("Ethernet Segment").
The Ethernet Tag ID may be zero or may represent a valid Ethernet Tag The Ethernet Tag ID may be zero or may represent a valid Ethernet
ID. This field may be non-zero when there are multiple bridge Tag ID. This field may be non-zero when there are multiple bridge
domains in the MAC-VRF (i.e., the PE needs to perform qualified tables in the MAC-VRF (i.e., the PE needs to support VLAN-aware
learning for the VLANs in that MAC-VRF). bundle service for that EVI).
When the the Ethernet Tag ID in the NLRI is set to a non-zero value, When the Ethernet Tag ID in the NLRI is set to a non-zero value for a
for a particular bridge domain, then this Ethernet Tag ID may either particular broadcast domain, then this Ethernet Tag ID may be either
be the CE's Ethernet tag value (e.g., CE VLAN ID) or the EVPN the CE's Ethernet tag value (e.g., CE VLAN ID) or the EVPN provider's
provider's Ethernet tag value (e.g., provider VLAN ID). The latter Ethernet tag value (e.g., provider VLAN ID). The latter would be the
would be the case if the CE Ethernet tags (e.g., CE VLAN ID) for a case if the CE Ethernet tags (e.g., CE VLAN ID) for a particular
particular bridge domain are different on different CEs. broadcast domain are different on different CEs.
The MAC address length field is in bits and it is set to 48. The MAC The MAC Address Length field is in bits, and it is set to 48. MAC
address length values other than 48 bits, are outside the scope of address length values other than 48 bits are outside the scope of
this document. The encoding of a MAC address MUST be the 6-octet MAC this document. The encoding of a MAC address MUST be the 6-octet MAC
address specified by [802.1D-ORIG] [802.1D-REV]. address specified by [802.1Q] and [802.1D-REV].
The IP Address Field is optional. By default, the IP Address Length The IP Address field is optional. By default, the IP Address Length
field is set to 0 and the IP address field is omitted from the route. field is set to 0, and the IP Address field is omitted from the
When a valid IP address needs to be advertised, it is then encoded in route. When a valid IP address needs to be advertised, it is then
this route. When an IP address is present, the IP Address Length encoded in this route. When an IP address is present, the IP Address
field is in bits and it is set to 32 or 128 bits. Other IP Address Length field is in bits, and it is set to 32 or 128 bits. Other IP
Length values are outside the scope of this document. The encoding of Address Length values are outside the scope of this document. The
an IP address MUST be either 4 octets for IPv4 or 16 octets for IPv6. encoding of an IP address MUST be either 4 octets for IPv4 or
The length field of EVPN NLRI (which is in octets and is described in 16 octets for IPv6. The Length field of the EVPN NLRI (which is in
section 7) is sufficient to determine whether an IP address is octets and is described in Section 7) is sufficient to determine
encoded in this route and if so, whether the encoded IP address is whether an IP address is encoded in this route and, if so, whether
IPV4 or IPv6. the encoded IP address is IPv4 or IPv6.
The MPLS label1 field is encoded as 3 octets, where the high-order 20 The MPLS Label1 field is encoded as 3 octets, where the high-order
bits contain the label value. The MPLS label1 MUST be downstream 20 bits contain the label value. The MPLS Label1 MUST be downstream
assigned and it is associated with the MAC address being advertised assigned, and it is associated with the MAC address being advertised
by the advertising PE. The advertising PE uses this label when it by the advertising PE. The advertising PE uses this label when it
receives an MPLS-encapsulated packet to perform forwarding based on receives an MPLS-encapsulated packet to perform forwarding based on
the destination MAC address toward the CE. The forwarding procedures the destination MAC address toward the CE. The forwarding procedures
are specified in sections 13 and 14. are specified in Sections 13 and 14.
A PE may advertise the same single EVPN label for all MAC addresses A PE may advertise the same single EVPN label for all MAC addresses
in a given EVI. This label assignment is referred to as a per EVI in a given MAC-VRF. This label assignment is referred to as a per
label assignment. Alternatively, a PE may advertise a unique EVPN MAC-VRF label assignment. Alternatively, a PE may advertise a unique
label per <ESI, Ethernet Tag> combination. This label assignment is EVPN label per <MAC-VRF, Ethernet tag> combination. This label
referred to as a per <ESI, Ethernet Tag> label assignment. As a third assignment is referred to as a per <MAC-VRF, Ethernet tag> label
option, a PE may advertise a unique EVPN label per MAC address. This assignment. As a third option, a PE may advertise a unique EVPN
label assignment is referred to as a per MAC label assignment. All of label per <ESI, Ethernet tag> combination. This label assignment is
these label assignment methods have their tradeoffs. The choice of a referred to as a per <ESI, Ethernet tag> label assignment. As a
particular label assignment methodology is purely local to the PE fourth option, a PE may advertise a unique EVPN label per MAC
that originates the route. address. This label assignment is referred to as a per MAC label
assignment. All of these label assignment methods have their
trade-offs. The choice of a particular label assignment methodology
is purely local to the PE that originates the route.
Per EVI label assignment requires the least number of EVPN labels, An assignment per MAC-VRF label requires the least number of EVPN
but requires a MAC lookup in addition to an MPLS lookup on an egress labels but requires a MAC lookup in addition to an MPLS lookup on an
PE for forwarding. On the other hand, a unique label per <ESI, egress PE for forwarding. On the other hand, a unique label per
Ethernet Tag> or a unique label per MAC allows an egress PE to <ESI, Ethernet tag> or a unique label per MAC allows an egress PE to
forward a packet that it receives from another PE, to the connected forward a packet that it receives from another PE, to the connected
CE, after looking up only the MPLS labels without having to perform a CE, after looking up only the MPLS labels without having to perform a
MAC lookup. This includes the capability to perform appropriate VLAN MAC lookup. This includes the capability to perform appropriate VLAN
ID translation on egress to the CE. ID translation on egress to the CE.
The MPLS label2 field is an optional field and if it is present, then The MPLS Label2 field is an optional field. If it is present, then
it is encoded as 3 octets, where the high-order 20 bits contain the it is encoded as 3 octets, where the high-order 20 bits contain the
label value. label value.
The Next Hop field of the MP_REACH_NLRI attribute of the route MUST The Next Hop field of the MP_REACH_NLRI attribute of the route MUST
be set to the IPv4 or IPv6 address of the advertising PE. be set to the IPv4 or IPv6 address of the advertising PE.
The BGP advertisement for the MAC advertisement route MUST also carry The BGP advertisement for the MAC/IP Advertisement route MUST also
one or more Route Target (RT) attributes. RTs may be configured (as carry one or more Route Target (RT) attributes. RTs may be
in IP VPNs), or may be derived automatically from the Ethernet Tag configured (as in IP VPNs) or may be derived automatically from the
ID, in the Unique VLAN case, as described in section 7.10.1. Ethernet Tag ID, in the Unique VLAN case, as described in
Section 7.10.1.
It is to be noted that this document does not require PEs to create It is to be noted that this document does not require PEs to create
forwarding state for remote MACs when they are learnt in the control forwarding state for remote MACs when they are learned in the control
plane. When this forwarding state is actually created is a local plane. When this forwarding state is actually created is a local
implementation matter. implementation matter.
9.2.2 Route Resolution 9.2.2. Route Resolution
If the Ethernet Segment Identifier field in a received MAC If the Ethernet Segment Identifier field in a received MAC/IP
Advertisement route is set to the reserved ESI value of 0 or MAX-ESI, Advertisement route is set to the reserved ESI value of 0 or MAX-ESI,
then if the receiving PE decides to install forwarding state for the then if the receiving PE decides to install forwarding state for the
associated MAC address, it MUST be based on the MAC Advertisement associated MAC address, it MUST be based on the MAC/IP Advertisement
route alone. route alone.
If the Ethernet Segment Identifier field in a received MAC If the Ethernet Segment Identifier field in a received MAC/IP
Advertisement route is set to a non-reserved ESI, and the receiving Advertisement route is set to a non-reserved ESI, and the receiving
PE is locally attached to the same ESI, then the PE does not alter PE is locally attached to the same ESI, then the PE does not alter
its forwarding state based on the received route. This ensures that its forwarding state based on the received route. This ensures that
local routes are preferred to remote routes. local routes are preferred to remote routes.
If the Ethernet Segment Identifier field in a received MAC If the Ethernet Segment Identifier field in a received MAC/IP
Advertisement route is set to a non-reserved ESI, then if the Advertisement route is set to a non-reserved ESI, then if the
receiving PE decides to install forwarding state for the associated receiving PE decides to install forwarding state for the associated
MAC address, it MUST be when both the MAC Advertisement route AND the MAC address, it MUST be when both the MAC/IP Advertisement route AND
associated set of Ethernet A-D per ES routes have been received. The the associated set of Ethernet A-D per ES routes have been received.
dependency of MAC routes installation on Ethernet A-D per ES routes, The dependency of MAC route installation on Ethernet A-D per ES
is to ensure that MAC routes don't get accidentally installed during routes is to ensure that MAC routes don't get accidentally installed
mass withdraw period. during a mass withdraw period.
To illustrate this with an example, consider two PEs (PE1 and PE2) To illustrate this with an example, consider two PEs (PE1 and PE2)
connected to a multi-homed Ethernet Segment ES1. All-Active connected to a multihomed Ethernet segment ES1. All-Active
redundancy mode is assumed. A given MAC address M1 is learnt by PE1 redundancy mode is assumed. A given MAC address M1 is learned by PE1
but not PE2. On PE3, the following states may arise: but not PE2. On PE3, the following states may arise:
T1- When the MAC Advertisement Route from PE1 and the set of Ethernet T1 When the MAC/IP Advertisement route from PE1 and the set of
A-D per ES routes and Ethernet A-D per EVI routes from PE1 and PE2 Ethernet A-D per ES routes and Ethernet A-D per EVI routes from
are received, PE3 can forward traffic destined to M1 to both PE1 and PE1 and PE2 are received, PE3 can forward traffic destined to
PE2. M1 to both PE1 and PE2.
T2- If after T1, PE1 withdraws its set of Ethernet A-D per ES routes, T2 If after T1 PE1 withdraws its set of Ethernet A-D per ES
then PE3 forwards traffic destined to M1 to PE2 only. routes, then PE3 forwards traffic destined to M1 to PE2 only.
T2'- If after T1, PE2 withdraws its set of Ethernet A-D per ES T2' If after T1 PE2 withdraws its set of Ethernet A-D per ES
routes, then PE3 forwards traffic destined to M1 to PE1 only. routes, then PE3 forwards traffic destined to M1 to PE1 only.
T2''- If after T1, PE1 withdraws its MAC Advertisement route, then T2'' If after T1 PE1 withdraws its MAC/IP Advertisement route, then
PE3 treats traffic to M1 as unknown unicast. PE3 treats traffic to M1 as unknown unicast.
T3- PE2 also advertises a MAC route for M1 and then PE1 withdraws its T3 PE2 also advertises a MAC route for M1, and then PE1 withdraws
MAC route for M1. PE3 continues forwarding traffic destined to M1 to its MAC route for M1. PE3 continues forwarding traffic
both PE1 and PE2. In other words, despite M1 withdrawal by PE1, PE3 destined to M1 to both PE1 and PE2. In other words, despite M1
forwards the traffic destined to M1 to both PE1 and PE2. This is withdrawal by PE1, PE3 forwards the traffic destined to M1 to
because a flow from the CE, resulting in M1 traffic getting hashed to both PE1 and PE2. This is because a flow from the CE,
PE1, can get terminated resulting in M1 to aged out in PE1; however, resulting in M1 traffic getting hashed to PE1, can get
M1 can be reachable by both PE1 and PE2. terminated, resulting in M1 being aged out in PE1; however, M1
can be reachable by both PE1 and PE2.
10. ARP and ND 10. ARP and ND
The IP address field in the MAC advertisement route may optionally The IP Address field in the MAC/IP Advertisement route may optionally
carry one of the IP addresses associated with the MAC address. This carry one of the IP addresses associated with the MAC address. This
provides an option which can be used to minimize the flooding of ARP provides an option that can be used to minimize the flooding of ARP
or Neighbor Discovery (ND) messages over the MPLS network and to or Neighbor Discovery (ND) messages over the MPLS network and to
remote CEs. This option also minimizes ARP (or ND) message processing remote CEs. This option also minimizes ARP (or ND) message
on end-stations/hosts connected to the EVPN network. A PE may learn processing on end-stations/hosts connected to the EVPN network. A PE
the IP address associated with a MAC address in the control or may learn the IP address associated with a MAC address in the control
management plane between the CE and the PE. Or, it may learn this or management plane between the CE and the PE. Or, it may learn this
binding by snooping certain messages to or from a CE. When a PE binding by snooping certain messages to or from a CE. When a PE
learns the IP address associated with a MAC address, of a locally learns the IP address associated with a MAC address of a locally
connected CE, it may advertise this address to other PEs by including connected CE, it may advertise this address to other PEs by including
it in the MAC Advertisement route. The IP Address may be an IPv4 it in the MAC/IP Advertisement route. The IP address may be an IPv4
address encoded using four octets, or an IPv6 address encoded using address encoded using 4 octets or an IPv6 address encoded using
sixteen octets. For ARP and ND purposes, the IP Address length field 16 octets. For ARP and ND purposes, the IP Address Length field MUST
MUST be set to 32 for an IPv4 address or to 128 for an IPv6 address. be set to 32 for an IPv4 address or 128 for an IPv6 address.
If there are multiple IP addresses associated with a MAC address, If there are multiple IP addresses associated with a MAC address,
then multiple MAC advertisement routes MUST be generated, one for then multiple MAC/IP Advertisement routes MUST be generated, one for
each IP address. For instance, this may be the case when there are each IP address. For instance, this may be the case when there are
both an IPv4 and an IPv6 address associated with the same MAC address both an IPv4 and an IPv6 address associated with the same MAC address
for dual-IP stack scenarios. When the IP address is dissociated with for dual-IP-stack scenarios. When the IP address is dissociated with
the MAC address, then the MAC advertisement route with that the MAC address, then the MAC/IP Advertisement route with that
particular IP address MUST be withdrawn. particular IP address MUST be withdrawn.
Note that a MAC-only route can be advertised along with but Note that a MAC-only route can be advertised along with, but
independent from MAC/IP route for scenarios where the MAC learning independent from, a MAC/IP route for scenarios where the MAC learning
over access network/node is done in data-plane and independent from over an access network/node is done in the data plane and independent
ARP snooping that generates MAC/IP route. In such scenarios when the from ARP snooping that generates a MAC/IP route. In such scenarios,
ARP entry times out and causes the MAC/IP to be withdrawn, then the when the ARP entry times out and causes the MAC/IP to be withdrawn,
MAC information will not be lost. In scenarios where host MAC/IP is then the MAC information will not be lost. In scenarios where the
learned via management or control plane, then the sender PE may only host MAC/IP is learned via the management or control plane, then the
generates and advertises MAC/IP route. If the receiving PE receives sender PE may only generate and advertise the MAC/IP route. If the
both the MAC-only route and the MAC/IP route, then when it receives a receiving PE receives both the MAC-only route and the MAC/IP route,
withdraw message for the MAC/IP route, it MUST delete the then when it receives a withdraw message for the MAC/IP route, it
corresponding entry from the ARP table but not the MAC entry from the MUST delete the corresponding entry from the ARP table but not the
MAC-VRF table unless it receives a withdraw message for MAC-only MAC entry from the MAC-VRF table, unless it receives a withdraw
route. message for the MAC-only route.
When a PE receives an ARP request for an IP address from a CE, and if When a PE receives an ARP Request for an IP address from a CE, and if
the PE has the MAC address binding for that IP address, the PE SHOULD the PE has the MAC address binding for that IP address, the PE SHOULD
perform ARP proxy by responding to the ARP request. perform ARP proxy by responding to the ARP Request.
10.1 Default Gateway 10.1. Default Gateway
When a PE needs to perform inter-subnet forwarding where each subnet When a PE needs to perform inter-subnet forwarding where each subnet
is represented by a different broadcast domain (e.g., different VLAN) is represented by a different broadcast domain (e.g., a different
the inter-subnet forwarding is performed at layer 3 and the PE that VLAN), the inter-subnet forwarding is performed at Layer 3, and the
performs such function is called the default gateway for the EVPN PE that performs such a function is called the default gateway for
instance. In this case when the PE receives an ARP Request for the IP the EVPN instance. In this case, when the PE receives an ARP Request
address configured as the default gateway address, the PE originates for the IP address configured as the default gateway address, the PE
an ARP Reply. originates an ARP Reply.
Each PE that acts as a default gateway for a given EVPN instance MAY Each PE that acts as a default gateway for a given EVPN instance MAY
advertise in the EVPN control plane its default gateway MAC address advertise in the EVPN control plane its default gateway MAC address
using the MAC/IP advertisement route, and indicates that such route using the MAC/IP Advertisement route, and each such PE indicates that
is associated with the default gateway. This is accomplished by such a route is associated with the default gateway. This is
requiring the route to carry the Default Gateway extended community accomplished by requiring the route to carry the Default Gateway
defined in [Section 7.8 Default Gateway Extended Community]. The ESI extended community defined in Section 7.8 ("Default Gateway Extended
field is set to zero when advertising the MAC route with the Default Community"). The ESI field is set to zero when advertising the MAC
Gateway extended community. route with the Default Gateway extended community.
The IP address field of the MAC/IP advertisement route is set to the The IP Address field of the MAC/IP Advertisement route is set to the
default GW IP address for that subnet (e.g., EVPN instance). For a default gateway IP address for that subnet (e.g., an EVPN instance).
given subnet (e.g., VLAN or EVPN instance), the default GW IP address For a given subnet (e.g., a VLAN or EVPN instance), the default
is the same across all the participant PEs. The inclusion of this IP gateway IP address is the same across all the participant PEs. The
address enables the receiving PE to check its configured default GW inclusion of this IP address enables the receiving PE to check its
IP address against the one received in the MAC/IP advertisement route configured default gateway IP address against the one received in the
for that subnet (or EVPN instance) and if there is a discrepancy, MAC/IP Advertisement route for that subnet (or EVPN instance), and if
then the PE SHOULD notify the operator and log an error message. there is a discrepancy, then the PE SHOULD notify the operator and
log an error message.
Unless it is known a priori (by means outside of this document) that Unless it is known a priori (by means outside of this document) that
all PEs of a given EVPN instance act as a default gateway for that all PEs of a given EVPN instance act as a default gateway for that
EVPN instance, the MPLS label MUST be set to a valid downstream EVPN instance, the MPLS label MUST be set to a valid downstream
assigned label. assigned label.
Furthermore, even if all PEs of a given EVPN instance do act as a Furthermore, even if all PEs of a given EVPN instance do act as a
default gateway for that EVPN instance, but only some, but not all, default gateway for that EVPN instance, but only some, but not all,
of these PEs have sufficient (routing) information to provide inter- of these PEs have sufficient (routing) information to provide
subnet routing for all the inter-subnet traffic originated within the inter-subnet routing for all the inter-subnet traffic originated
subnet associated with the EVPN instance, then when such PE within the subnet associated with the EVPN instance, then when such a
advertises in the EVPN control plane its default gateway MAC address PE advertises in the EVPN control plane its default gateway MAC
using the MAC advertisement route, and indicates that such route is address using the MAC/IP Advertisement route and indicates that such
associated with the default gateway, the route MUST carry a valid a route is associated with the default gateway, the route MUST carry
downstream assigned label. a valid downstream assigned label.
If all PEs of a given EVPN instance act as a default gateway for that If all PEs of a given EVPN instance act as a default gateway for that
EVPN instance, and the same default gateway MAC address is used EVPN instance, and the same default gateway MAC address is used
across all gateway devices, then no such advertisement is needed. across all gateway devices, then no such advertisement is needed.
However, if each default gateway uses a different MAC address, then However, if each default gateway uses a different MAC address, then
each default gateway needs to be aware of other gateways' MAC each default gateway needs to be aware of other gateways' MAC
addresses and thus the need for such advertisement. This is called addresses and thus the need for such an advertisement. This is
MAC address aliasing since a single default GW can be represented by called MAC address aliasing, since a single default gateway can be
multiple MAC addresses. represented by multiple MAC addresses.
Each PE that receives this route and imports it as per procedures Each PE that receives this route and imports it as per procedures
specified in this document follows the procedures in this section specified in this document follows the procedures in this section
when replying to ARP Requests that it receives. when replying to ARP Requests that it receives.
Each PE that acts as a default gateway for a given EVPN instance that Each PE that acts as a default gateway for a given EVPN instance that
receives this route and imports it as per procedures specified in receives this route and imports it as per procedures specified in
this document MUST create MAC forwarding state that enables it to this document MUST create MAC forwarding state that enables it to
apply IP forwarding to the packets destined to the MAC address apply IP forwarding to the packets destined to the MAC address
carried in the route. carried in the route.
11. Handling of Multi-Destination Traffic 11. Handling of Multi-destination Traffic
Procedures are required for a given PE to send broadcast or multicast Procedures are required for a given PE to send broadcast or multicast
traffic, received from a CE encapsulated in a given Ethernet Tag traffic received from a CE encapsulated in a given Ethernet tag
(VLAN) in an EVPN instance, to all the other PEs that span that (VLAN) in an EVPN instance to all the other PEs that span that
Ethernet Tag (VLAN) in that EVPN instance. In certain scenarios, Ethernet tag (VLAN) in that EVPN instance. In certain scenarios, as
described in section "Processing of Unknown Unicast Packets", a given described in Section 12 ("Processing of Unknown Unicast Packets"), a
PE may also need to flood unknown unicast traffic to other PEs. given PE may also need to flood unknown unicast traffic to other PEs.
The PEs in a particular EVPN instance may use ingress replication, The PEs in a particular EVPN instance may use ingress replication,
P2MP LSPs or MP2MP LSPs to send unknown unicast, broadcast or P2MP LSPs, or MP2MP LSPs to send unknown unicast, broadcast, or
multicast traffic to other PEs. multicast traffic to other PEs.
Each PE MUST advertise an "Inclusive Multicast Ethernet Tag Route" to Each PE MUST advertise an "Inclusive Multicast Ethernet Tag route" to
enable the above. The following subsection provides the procedures to enable the above. The following subsection provides the procedures
construct the Inclusive Multicast Ethernet Tag route. Subsequent to construct the Inclusive Multicast Ethernet Tag route. Subsequent
subsections describe in further detail its usage. subsections describe its usage in further detail.
11.1. Constructing Inclusive Multicast Ethernet Tag Route 11.1. Constructing Inclusive Multicast Ethernet Tag Route
The RD MUST be the RD of the EVI that is advertising the NLRI. The The RD MUST be set per Section 7.9.
procedures for setting the RD for a given EVPN instance on a PE are
described in section 7.9.
The Ethernet Tag ID is the identifier of the Ethernet Tag. It may be The Ethernet Tag ID is the identifier of the Ethernet tag. It may be
set to 0 or to a valid Ethernet Tag value. set to 0 or to a valid Ethernet tag value.
The Originating Router's IP address MUST be set to an IP address of The Originating Router's IP Address field value MUST be set to an IP
the PE that should be common for all the EVIs on the PE (e.,g., this address of the PE that should be common for all the EVIs on the PE
address may be PE's loopback address). The IP Address Length field is (e.g., this address may be the PE's loopback address). The IP
in bits. Address Length field is in bits.
The Next Hop field of the MP_REACH_NLRI attribute of the route MUST The Next Hop field of the MP_REACH_NLRI attribute of the route MUST
be set to the same IP address as the one carried in the Originating be set to the IPv4 or IPv6 address of the advertising PE.
Router's IP Address field.
The BGP advertisement for the Inclusive Multicast Ethernet Tag route The BGP advertisement for the Inclusive Multicast Ethernet Tag route
MUST also carry one or more Route Target (RT) attributes. The MUST also carry one or more Route Target (RT) attributes. The
assignment of RTs described in the section 7.10 MUST be followed. assignment of RTs as described in Section 7.10 MUST be followed.
11.2. P-Tunnel Identification 11.2. P-Tunnel Identification
In order to identify the P-Tunnel used for sending broadcast, unknown In order to identify the P-tunnel used for sending broadcast, unknown
unicast or multicast traffic, the Inclusive Multicast Ethernet Tag unicast, or multicast traffic, the Inclusive Multicast Ethernet Tag
route MUST carry a "PMSI Tunnel Attribute" as specified in [BGP route MUST carry a Provider Multicast Service Interface (PMSI) Tunnel
MVPN]. attribute as specified in [RFC6514].
Depending on the technology used for the P-tunnel for the EVPN Depending on the technology used for the P-tunnel for the EVPN
instance on the PE, the PMSI Tunnel attribute of the Inclusive instance on the PE, the PMSI Tunnel attribute of the Inclusive
Multicast Ethernet Tag route is constructed as follows. Multicast Ethernet Tag route is constructed as follows.
+ If the PE that originates the advertisement uses a + If the PE that originates the advertisement uses a P-multicast tree
P-Multicast tree for the P-tunnel for EVPN, the PMSI for the P-tunnel for EVPN, the PMSI Tunnel attribute MUST contain
Tunnel attribute MUST contain the identity of the tree the identity of the tree (note that the PE could create the
(note that the PE could create the identity of the identity of the tree prior to the actual instantiation of the
tree prior to the actual instantiation of the tree). tree).
+ A PE that uses a P-Multicast tree for the P-tunnel MAY + A PE that uses a P-multicast tree for the P-tunnel MAY aggregate
aggregate two or more EVPN instances (EVIs) present two or more EVPN instances (EVIs) present on the PE onto the same
on the PE onto the same tree. In this case, in addition tree. In this case, in addition to carrying the identity of the
to carrying the identity of the tree, the PMSI Tunnel tree, the PMSI Tunnel attribute MUST carry an MPLS upstream
attribute MUST carry an MPLS upstream assigned label which assigned label, which the PE has bound uniquely to the EVI
the PE has bound uniquely to the EVI associated with this associated with this update (as determined by its RTs).
update (as determined by its RTs).
If the PE has already advertised Inclusive Multicast If the PE has already advertised Inclusive Multicast Ethernet Tag
Ethernet Tag routes for two or more EVIs that it now routes for two or more EVIs that it now desires to aggregate, then
desires to aggregate, then the PE MUST re-advertise the PE MUST re-advertise those routes. The re-advertised routes
those routes. The re-advertised routes MUST be the same MUST be the same as the original ones, except for the PMSI Tunnel
as the original ones, except for the PMSI Tunnel attribute attribute and the label carried in that attribute.
and the label carried in that attribute.
+ If the PE that originates the advertisement uses ingress + If the PE that originates the advertisement uses ingress
replication for the P-tunnel for EVPN, the route MUST replication for the P-tunnel for EVPN, the route MUST include the
include the PMSI Tunnel attribute with the Tunnel Type set to PMSI Tunnel attribute with the Tunnel Type set to Ingress
Ingress Replication and Tunnel Identifier set to a routable Replication and the Tunnel Identifier set to a routable address of
address of the PE. The PMSI Tunnel attribute MUST carry a the PE. The PMSI Tunnel attribute MUST carry a downstream assigned
downstream assigned MPLS label. This label is used to MPLS label. This label is used to demultiplex the broadcast,
demultiplex the broadcast, multicast or unknown unicast EVPN multicast, or unknown unicast EVPN traffic received over an MP2P
traffic received over a MP2P tunnel by the PE. tunnel by the PE.
+ The Leaf Information Required flag of the PMSI Tunnel + The Leaf Information Required flag of the PMSI Tunnel attribute
attribute MUST be set to zero, and MUST be ignored on receipt. MUST be set to zero and MUST be ignored on receipt.
12. Processing of Unknown Unicast Packets 12. Processing of Unknown Unicast Packets
The procedures in this document do not require the PEs to flood The procedures in this document do not require the PEs to flood
unknown unicast traffic to other PEs. If PEs learn CE MAC addresses unknown unicast traffic to other PEs. If PEs learn CE MAC addresses
via a control plane protocol, the PEs can then distribute MAC via a control-plane protocol, the PEs can then distribute MAC
addresses via BGP, and all unicast MAC addresses will be learnt prior addresses via BGP, and all unicast MAC addresses will be learned
to traffic to those destinations. prior to traffic to those destinations.
However, if a destination MAC address of a received packet is not However, if a destination MAC address of a received packet is not
known by the PE, the PE may have to flood the packet. When flooding, known by the PE, the PE may have to flood the packet. When flooding,
one must take into account "split horizon forwarding" as follows: The one must take into account "split-horizon forwarding" as follows: The
principles behind the following procedures are borrowed from the principles behind the following procedures are borrowed from the
split horizon forwarding rules in VPLS solutions [RFC4761] and split-horizon forwarding rules in VPLS solutions [RFC4761] [RFC4762].
[RFC4762]. When a PE capable of flooding (say PEx) receives an When a PE capable of flooding (say PEx) receives an unknown
unknown destination MAC address, it floods the frame. If the frame destination MAC address, it floods the frame. If the frame arrived
arrived from an attached CE, PEx must send a copy of that frame on from an attached CE, PEx must send a copy of that frame on every
every Ethernet Segment (belonging to that EVI) for which it is the Ethernet segment (belonging to that EVI) for which it is the DF,
DF, other than the Ethernet Segment on which it received the frame. other than the Ethernet segment on which it received the frame. In
In addition, the PE must flood the frame to all other PEs addition, the PE must flood the frame to all other PEs participating
participating in that EVPN instance. If, on the other hand, the frame in that EVPN instance. If, on the other hand, the frame arrived from
arrived from another PE (say PEy), PEx must send a copy of the packet another PE (say PEy), PEx must send a copy of the packet on each
on each Ethernet Segment (belonging to that EVI) for which it is the Ethernet segment (belonging to that EVI) for which it is the DF. PEx
DF. PEx MUST NOT send the frame to other PEs, since PEy would have MUST NOT send the frame to other PEs, since PEy would have already
already done so. Split horizon forwarding rules apply to unknown MAC done so. Split-horizon forwarding rules apply to unknown MAC
addresses. addresses.
Whether or not to flood packets to unknown destination MAC addresses Whether or not to flood packets to unknown destination MAC addresses
should be an administrative choice, depending on how learning happens should be an administrative choice, depending on how learning happens
between CEs and PEs. between CEs and PEs.
The PEs in a particular EVPN instance may use ingress replication The PEs in a particular EVPN instance may use ingress replication
using RSVP-TE P2P LSPs or LDP MP2P LSPs for sending unknown unicast using RSVP-TE P2P LSPs or LDP MP2P LSPs for sending unknown unicast
traffic to other PEs. Or they may use RSVP-TE P2MP or LDP P2MP for traffic to other PEs. Or, they may use RSVP-TE P2MP or LDP P2MP for
sending such traffic to other PEs. sending such traffic to other PEs.
12.1. Ingress Replication 12.1. Ingress Replication
If ingress replication is in use, the P-Tunnel attribute, carried in If ingress replication is in use, the P-tunnel attribute, carried in
the Inclusive Multicast Ethernet Tag routes for the EVPN instance, the Inclusive Multicast Ethernet Tag routes for the EVPN instance,
specifies the downstream label that the other PEs can use to send specifies the downstream label that the other PEs can use to send
unknown unicast, multicast or broadcast traffic for that EVPN unknown unicast, multicast, or broadcast traffic for that EVPN
instance to this particular PE. instance to this particular PE.
The PE that receives a packet with this particular MPLS label MUST The PE that receives a packet with this particular MPLS label MUST
treat the packet as a broadcast, multicast or unknown unicast packet. treat the packet as a broadcast, multicast, or unknown unicast
Further if the MAC address is a unicast MAC address, the PE MUST packet. Further, if the MAC address is a unicast MAC address, the PE
treat the packet as an unknown unicast packet. MUST treat the packet as an unknown unicast packet.
12.2. P2MP MPLS LSPs 12.2. P2MP MPLS LSPs
The procedures for using P2MP LSPs are very similar to VPLS The procedures for using P2MP LSPs are very similar to the VPLS
procedures [RFC7117]. The P-Tunnel attribute used by a PE for sending procedures described in [RFC7117]. The P-tunnel attribute used by a
unknown unicast, broadcast or multicast traffic for a particular EVPN PE for sending unknown unicast, broadcast, or multicast traffic for a
instance is advertised in the Inclusive Ethernet Tag Multicast route particular EVPN instance is advertised in the Inclusive Multicast
as described in section "Handling of Multi-Destination Traffic". Ethernet Tag route as described in Section 11 ("Handling of
Multi-destination Traffic").
The P-Tunnel attribute specifies the P2MP LSP identifier. This is the The P-tunnel attribute specifies the P2MP LSP identifier. This is
equivalent of an Inclusive tree in [RFC7117]. Note that multiple the equivalent of an Inclusive tree as described in [RFC7117]. Note
Ethernet Tags, which may be in different EVPN instances, may use the that multiple Ethernet tags, which may be in different EVPN
same P2MP LSP, using upstream labels [RFC7117]. This is the instances, may use the same P2MP LSP, using upstream labels
equivalent of an Aggregate Inclusive tree in [RFC7117]. When P2MP [RFC7117]. This is the equivalent of an Aggregate Inclusive tree
LSPs are used for flooding unknown unicast traffic, packet re- [RFC7117]. When P2MP LSPs are used for flooding unknown unicast
ordering is possible. traffic, packet reordering is possible.
The PE that receives a packet on the P2MP LSP specified in the PMSI The PE that receives a packet on the P2MP LSP specified in the PMSI
Tunnel Attribute MUST treat the packet as a broadcast, multicast or Tunnel attribute MUST treat the packet as a broadcast, multicast, or
unknown unicast packet. Further if the MAC address is a unicast MAC unknown unicast packet. Further, if the MAC address is a unicast MAC
address, the PE MUST treat the packet as an unknown unicast packet. address, the PE MUST treat the packet as an unknown unicast packet.
13. Forwarding Unicast Packets 13. Forwarding Unicast Packets
This section describes procedures for forwarding unicast packets by This section describes procedures for forwarding unicast packets by
PEs, where such packets are received from either directly connected PEs, where such packets are received from either directly connected
CEs, or from some other PEs. CEs or some other PEs.
13.1. Forwarding packets received from a CE 13.1. Forwarding Packets Received from a CE
When a PE receives a packet from a CE, on a given Ethernet Tag ID, it When a PE receives a packet from a CE, on a given Ethernet Tag ID, it
must first look up the source MAC address of the packet. In certain must first look up the source MAC address of the packet. In certain
environments that enable MAC security, the source MAC address MAY be environments that enable MAC security, the source MAC address MAY be
used to validate the host identity and determine that traffic from used to validate the host identity and determine that traffic from
the host can be allowed into the network. Source MAC lookup MAY also the host can be allowed into the network. Source MAC lookup MAY also
be used for local MAC address learning. be used for local MAC address learning.
If the PE decides to forward the packet, the destination MAC address If the PE decides to forward the packet, the destination MAC address
of the packet must be looked up. If the PE has received MAC address of the packet must be looked up. If the PE has received MAC address
advertisements for this destination MAC address from one or more advertisements for this destination MAC address from one or more
other PEs or learned it from locally connected CEs, it is considered other PEs or has learned it from locally connected CEs, the MAC
as a known MAC address. Otherwise, the MAC address is considered as address is considered a known MAC address. Otherwise, it is
an unknown MAC address. considered an unknown MAC address.
For known MAC addresses the PE forwards this packet to one of the For known MAC addresses, the PE forwards this packet to one of the
remote PEs or to a locally attached CE. When forwarding to a remote remote PEs or to a locally attached CE. When forwarding to a remote
PE, the packet is encapsulated in the EVPN MPLS label advertised by PE, the packet is encapsulated in the EVPN MPLS label advertised by
the remote PE, for that MAC address, and in the MPLS LSP label stack the remote PE, for that MAC address, and in the MPLS LSP label stack
to reach the remote PE. to reach the remote PE.
If the MAC address is unknown and if the administrative policy on the If the MAC address is unknown and if the administrative policy on the
PE requires flooding of unknown unicast traffic then: PE requires flooding of unknown unicast traffic, then:
- The PE MUST flood the packet to other PEs. The PE MUST first - The PE MUST flood the packet to other PEs. The PE MUST first
encapsulate the packet in the ESI MPLS label as described in section encapsulate the packet in the ESI MPLS label as described in
8.3. If ingress replication is used, the packet MUST be replicated to Section 8.3. If ingress replication is used, the packet MUST be
each remote PE with the VPN label being an MPLS label determined as replicated to each remote PE, with the VPN label being an MPLS
follows: This is the MPLS label advertised by the remote PE in a PMSI label determined as follows: This is the MPLS label advertised by
Tunnel Attribute in the Inclusive Multicast Ethernet Tag route for an the remote PE in a PMSI Tunnel attribute in the Inclusive Multicast
<EVPN instance, Ethernet Tag> combination. The Ethernet Tag in the Ethernet Tag route for a <MAC-VRF> or <MAC-VRF, Ethernet tag>
route may be the same as the Ethernet Tag associated with the combination.
interface on which the ingress PE receives the packet. If P2MP LSPs
are being used the packet MUST be sent on the P2MP LSP that the PE is
the root of for the Ethernet Tag in the EVPN instance. If the same
P2MP LSP is used for all Ethernet Tags, then all the PEs in the EVPN
instance MUST be the leaves of the P2MP LSP. If a distinct P2MP LSP
is used for a given Ethernet Tag in the EVPN instance, then only the
PEs in the Ethernet Tag MUST be the leaves of the P2MP LSP. The
packet MUST be encapsulated in the P2MP LSP label stack.
If the MAC address is unknown then, if the administrative policy on The Ethernet tag in the route may be the same as the Ethernet tag
associated with the interface on which the ingress PE receives the
packet. If P2MP LSPs are being used, the packet MUST be sent on
the P2MP LSP of which the PE is the root, for the Ethernet tag in
the EVPN instance. If the same P2MP LSP is used for all Ethernet
tags, then all the PEs in the EVPN instance MUST be the leaves of
the P2MP LSP. If a distinct P2MP LSP is used for a given Ethernet
tag in the EVPN instance, then only the PEs in the Ethernet tag
MUST be the leaves of the P2MP LSP. The packet MUST be
encapsulated in the P2MP LSP label stack.
If the MAC address is unknown, then, if the administrative policy on
the PE does not allow flooding of unknown unicast traffic: the PE does not allow flooding of unknown unicast traffic:
- The PE MUST drop the packet. - the PE MUST drop the packet.
13.2. Forwarding packets received from a remote PE 13.2. Forwarding Packets Received from a Remote PE
This section described the procedures for forwarding known and This section describes the procedures for forwarding known and
unknown unicast packets received from a remote PE. unknown unicast packets received from a remote PE.
13.2.1. Unknown Unicast Forwarding 13.2.1. Unknown Unicast Forwarding
When a PE receives an MPLS packet from a remote PE then, after When a PE receives an MPLS packet from a remote PE, then, after
processing the MPLS label stack, if the top MPLS label ends up being processing the MPLS label stack, if the top MPLS label ends up being
a P2MP LSP label associated with an EVPN instance or in case of a P2MP LSP label associated with an EVPN instance or -- in the case
ingress replication the downstream label advertised in the P-Tunnel of ingress replication -- the downstream label advertised in the
attribute, and after performing the split horizon procedures P-tunnel attribute, and after performing the split-horizon procedures
described in section 8.3: described in Section 8.3:
- If the PE is the designated forwarder of BUM traffic on a - If the PE is the designated forwarder of BUM traffic on a
particular set of ESIs for the Ethernet Tag, the default behavior is particular set of ESIs for the Ethernet tag, the default behavior
for the PE to flood the packet on these ESIs. In other words, the is for the PE to flood the packet on these ESIs. In other words,
default behavior is for the PE to assume that for BUM traffic, it is the default behavior is for the PE to assume that for BUM traffic
not required to perform a destination MAC address lookup. As an it is not required to perform a destination MAC address lookup. As
option, the PE may perform a destination MAC lookup to flood the an option, the PE may perform a destination MAC lookup to flood the
packet to only a subset of the CE interfaces in the Ethernet Tag. For packet to only a subset of the CE interfaces in the Ethernet tag.
instance the PE may decide to not flood an BUM packet on certain For instance, the PE may decide to not flood a BUM packet on
Ethernet segments even if it is the DF on the Ethernet segment, based certain Ethernet segments even if it is the DF on the Ethernet
on administrative policy. segment, based on administrative policy.
- If the PE is not the designated forwarder on any of the ESIs for - If the PE is not the designated forwarder on any of the ESIs for
the Ethernet Tag, the default behavior is for it to drop the packet. the Ethernet tag, the default behavior is for it to drop the
packet.
13.2.2. Known Unicast Forwarding 13.2.2. Known Unicast Forwarding
If the top MPLS label ends up being an EVPN label that was advertised If the top MPLS label ends up being an EVPN label that was advertised
in the unicast MAC advertisements, then the PE either forwards the in the unicast MAC advertisements, then the PE either forwards the
packet based on CE next-hop forwarding information associated with packet based on CE next-hop forwarding information associated with
the label or does a destination MAC address lookup to forward the the label or does a destination MAC address lookup to forward the
packet to a CE. packet to a CE.
14. Load Balancing of Unicast Frames 14. Load Balancing of Unicast Packets
This section specifies the load balancing procedures for sending
known unicast frames to a multi-homed CE.
14.1. Load balancing of traffic from a PE to remote CEs This section specifies the load-balancing procedures for sending
known unicast packets to a multihomed CE.
Whenever a remote PE imports a MAC advertisement for a given <ESI, 14.1. Load Balancing of Traffic from a PE to Remote CEs
Ethernet Tag> in an EVI, it MUST examine all imported Ethernet A-D
routes for that ESI in order to determine the load-balancing
characteristics of the Ethernet segment.
14.1.1 Single-Active Redundancy Mode Whenever a remote PE imports a MAC/IP Advertisement route for a given
<ESI, Ethernet tag> in a MAC-VRF, it MUST examine all imported
Ethernet A-D routes for that ESI in order to determine the load-
balancing characteristics of the Ethernet segment.
14.1.1. Single-Active Redundancy Mode
For a given ES, if the remote PE has imported the set of Ethernet A-D For a given ES, if the remote PE has imported the set of Ethernet A-D
per ES routes from at least one PE, where the "Single-Active" flag in per ES routes from at least one PE, where the "Single-Active" flag in
the ESI Label Extended Community is set, then the remote PE MUST the ESI Label extended community is set, then the remote PE MUST
deduce that the ES is operating in Single-Active redundancy mode. As deduce that the ES is operating in Single-Active redundancy mode. As
such, the MAC address will be reachable only via the PE announcing such, the MAC address will be reachable only via the PE announcing
the associated MAC Advertisement route - this is referred to as the the associated MAC/IP Advertisement route -- this is referred to as
primary PE. The other PEs advertising the set of Ethernet A-D per ES the primary PE. The other PEs advertising the set of Ethernet A-D
routes for the same ES provide backup paths for that ES, in case the per ES routes for the same ES provide backup paths for that ES, in
primary PE encounters a failure, and are referred to as backup PEs. case the primary PE encounters a failure, and are referred to as
It should be noted that the primary PE for a given <ES, EVI> is the backup PEs. It should be noted that the primary PE for a given <ES,
DF for that <ES, EVI>. VLAN> (or <ES, VLAN bundle>) is the DF for that <ES, VLAN> (or <ES,
VLAN bundle>).
If the primary PE encounters a failure, it MAY withdraw its set of If the primary PE encounters a failure, it MAY withdraw its set of
Ethernet A-D per ES routes for the affected ES prior to withdrawing Ethernet A-D per ES routes for the affected ES prior to withdrawing
it set of MAC Advertisement routes. its set of MAC/IP Advertisement routes.
If there is only one backup PE for a given ES, the remote PE MAY use If there is only one backup PE for a given ES, the remote PE MAY use
the primary PE's withdrawal of its set of Ethernet A-D per ES routes the primary PE's withdrawal of its set of Ethernet A-D per ES routes
as a trigger to update its forwarding entries, for the associated MAC as a trigger to update its forwarding entries, for the associated MAC
addresses, to point towards the backup PE. As the backup PE starts addresses, to point towards the backup PE. As the backup PE starts
learning the MAC addresses over its attached ES, it will start learning the MAC addresses over its attached ES, it will start
sending MAC Advertisement routes while the failed PE withdraws its sending MAC/IP Advertisement routes while the failed PE withdraws its
routes. This mechanism minimizes the flooding of traffic during fail- routes. This mechanism minimizes the flooding of traffic during
over events. fail-over events.
If there is more than one backup PE for a given ES, the remote PE If there is more than one backup PE for a given ES, the remote PE
MUST use the primary PE's withdrawal of its set of Ethernet A-D per MUST use the primary PE's withdrawal of its set of Ethernet A-D per
ES routes as a trigger to start flooding traffic for the associated ES routes as a trigger to start flooding traffic for the associated
MAC addresses (as long as flooding of unknown unicast is MAC addresses (as long as flooding of unknown unicast packets is
administratively allowed), as it is not possible to select a single administratively allowed), as it is not possible to select a single
backup PE. backup PE.
14.1.2 All-Active Redundancy Mode 14.1.2. All-Active Redundancy Mode
For a given ES, if the remote PE has imported the set of Ethernet A-D For a given ES, if the remote PE has imported the set of Ethernet A-D
per ES routes from one or more PEs and none of them have the "Single- per ES routes from one or more PEs and none of them have the
Active" flag in the ESI Label Extended Community set, then the remote "Single-Active" flag in the ESI Label extended community set, then
PE MUST deduce that the ES is operating in All-Active redundancy the remote PE MUST deduce that the ES is operating in All-Active
mode. A remote PE that receives a MAC advertisement route with non- redundancy mode. A remote PE that receives a MAC/IP Advertisement
reserved ESI SHOULD consider the advertised MAC address to be route with a non-reserved ESI SHOULD consider the advertised MAC
reachable via all PEs that have advertised reachability to that MAC address to be reachable via all PEs that have advertised reachability
address' EVI/ES via the combination of an Ethernet A-D per EVI route to that MAC address's EVI/ES via the combination of an Ethernet A-D
for that EVI/ES (and Ethernet Tag if applicable) AND an Ethernet A-D per EVI route for that EVI/ES (and Ethernet tag, if applicable) AND
per ES route for that ES. The remote PE MUST use received MAC an Ethernet A-D per ES route for that ES. The remote PE MUST use
Advertisement routes and Ethernet A-D per EVI/per ES routes to received MAC/IP Advertisement routes and Ethernet A-D per EVI/per ES
construct the set of next-hops for the advertised MAC address. routes to construct the set of next hops for the advertised MAC
address.
Each next-hop comprises an MPLS label stack that is to be used by the Each next hop comprises an MPLS label stack that is to be used by the
egress PE to forward the packet. This label stack is determined as egress PE to forward the packet. This label stack is determined as
follows: follows:
-If the next-hop is constructed as a result of a MAC route then this - If the next hop is constructed as a result of a MAC route, then
label stack MUST be used. However, if the MAC route doesn't exist for this label stack MUST be used. However, if the MAC route doesn't
that PE, then the next-hop and MPLS label stack is constructed as a exist for that PE, then the next hop and the MPLS label stack are
result of the Ethernet A-D routes. Note that the following constructed as a result of the Ethernet A-D routes. Note that the
description applies to determining the label stack for a particular following description applies to determining the label stack for a
next-hop to reach a given PE, from which the remote PE has received particular next hop to reach a given PE, from which the remote PE
and imported Ethernet A-D routes that have the matching ESI and has received and imported Ethernet A-D routes that have the same
Ethernet Tag as the one present in the MAC advertisement. The ESI and Ethernet tag as the ones present in the MAC advertisement.
Ethernet A-D routes mentioned in the following description refer to The Ethernet A-D routes mentioned in the following description
the ones imported from this given PE. refer to the ones imported from this given PE.
-If a set of Ethernet A-D per ES routes for that ES AND an Ethernet - If a set of Ethernet A-D per ES routes for that ES AND an Ethernet
A-D route per EVI exist, only then the label from that latter route A-D route per EVI exist, only then must the label from that latter
must be used. route be used.
The following example explains the above. The following example explains the above.
Consider a CE (CE1) that is dual-homed to two PEs (PE1 and PE2) on a Consider a CE (CE1) that is dual-homed to two PEs (PE1 and PE2) on a
LAG interface (ES1), and is sending packets with source MAC address LAG interface (ES1), and is sending packets with source MAC address
MAC1 on VLAN1 (mapped to EVI1). A remote PE, say PE3, is able to MAC1 on VLAN1 (mapped to EVI1). A remote PE, say PE3, is able to
learn that MAC1 is reachable via PE1 and PE2. Both PE1 and PE2 may learn that MAC1 is reachable via PE1 and PE2. Both PE1 and PE2 may
advertise MAC1 in BGP if they receive packets with MAC1 from CE1. If advertise MAC1 in BGP if they receive packets with MAC1 from CE1. If
this is not the case, and if MAC1 is advertised only by PE1, PE3 this is not the case, and if MAC1 is advertised only by PE1, PE3
still considers MAC1 as reachable via both PE1 and PE2 as both PE1 still considers MAC1 as reachable via both PE1 and PE2, as both PE1
and PE2 advertise a set of Ethernet A-D per ES routes for ES1 as well and PE2 advertise a set of Ethernet A-D per ES routes for ES1 as well
as an Ethernet A-D per EVI route for <EVI1, ES1>. as an Ethernet A-D per EVI route for <EVI1, ES1>.
The MPLS label stack to send the packets to PE1 is the MPLS LSP stack The MPLS label stack to send the packets to PE1 is the MPLS LSP stack
to get to PE1 (at top of the stack) followed by the EVPN label to get to PE1 (at the top of the stack) followed by the EVPN label
advertised by PE1 for CE1's MAC . advertised by PE1 for CE1's MAC.
The MPLS label stack to send packets to PE2 is the MPLS LSP stack to The MPLS label stack to send packets to PE2 is the MPLS LSP stack to
get to PE2 (at top of the stack) followed by the MPLS label in the get to PE2 (at the top of the stack) followed by the MPLS label in
Ethernet A-D route advertised by PE2 for <ES1, VLAN1>, if PE2 has not the Ethernet A-D route advertised by PE2 for <ES1, VLAN1>, if PE2 has
advertised MAC1 in BGP. not advertised MAC1 in BGP.
We will refer to these label stacks as MPLS next-hops. We will refer to these label stacks as MPLS next hops.
The remote PE (PE3) can now load balance the traffic it receives from The remote PE (PE3) can now load balance the traffic it receives from
its CEs, destined for CE1, between PE1 and PE2. PE3 may use N-Tuple its CEs, destined for CE1, between PE1 and PE2. PE3 may use N-tuple
flow information to hash traffic into one of the MPLS next-hops for flow information to hash traffic into one of the MPLS next hops for
load balancing of IP traffic. Alternatively PE3 may rely on the load balancing of IP traffic. Alternatively, PE3 may rely on the
source MAC addresses for load balancing. source MAC addresses for load balancing.
Note that once PE3 decides to send a particular packet to PE1 or PE2 Note that once PE3 decides to send a particular packet to PE1 or PE2,
it can pick one out of multiple possible paths to reach the it can pick one out of multiple possible paths to reach the
particular remote PE using regular MPLS procedures. For instance, if particular remote PE using regular MPLS procedures. For instance, if
the tunneling technology is based on RSVP-TE LSPs, and PE3 decides to the tunneling technology is based on RSVP-TE LSPs and PE3 decides to
send a particular packet to PE1, then PE3 can choose from multiple send a particular packet to PE1, then PE3 can choose from multiple
RSVP-TE LSPs that have PE1 as their destination. RSVP-TE LSPs that have PE1 as their destination.
When PE1 or PE2 receive the packet destined for CE1 from PE3, if the When PE1 or PE2 receives the packet destined for CE1 from PE3, if the
packet is a known unicast, it is forwarded to CE1. If it is a BUM packet is a known unicast, it is forwarded to CE1. If it is a BUM
packet then only one of PE1 or PE2 must forward the packet to the CE. packet, then only one of PE1 or PE2 must forward the packet to the
Which of PE1 or PE2 forward this packet to the CE is determined based CE. Whether PE1 or PE2 forwards this packet to the CE is determined
on which of the two is the DF. based on which of the two is the DF.
14.2. Load balancing of traffic between a PE and a local CE 14.2. Load Balancing of Traffic between a PE and a Local CE
A CE may be configured with more than one interface connected to A CE may be configured with more than one interface connected to
different PEs or the same PE for load balancing, using a technology different PEs or the same PE for load balancing, using a technology
such as LAG. The PE(s) and the CE can load balance traffic onto these such as a LAG. The PE(s) and the CE can load balance traffic onto
interfaces using one of the following mechanisms. these interfaces using one of the following mechanisms.
14.2.1. Data plane learning 14.2.1. Data-Plane Learning
Consider that the PEs perform data plane learning for local MAC Consider that the PEs perform data-plane learning for local MAC
addresses learned from local CEs. This enables the PE(s) to learn a addresses learned from local CEs. This enables the PE(s) to learn a
particular MAC address and associate it with one or more interfaces, particular MAC address and associate it with one or more interfaces,
if the technology between the PE and the CE supports multi-pathing. if the technology between the PE and the CE supports multipathing.
The PEs can now load balance traffic destined to that MAC address on The PEs can now load balance traffic destined to that MAC address on
the multiple interfaces. the multiple interfaces.
Whether the CE can load balance traffic that it generates on the Whether the CE can load balance traffic that it generates on the
multiple interfaces is dependent on the CE implementation. multiple interfaces is dependent on the CE implementation.
14.2.2. Control plane learning 14.2.2. Control-Plane Learning
The CE can be a host that advertises the same MAC address using a The CE can be a host that advertises the same MAC address using a
control protocol on all interfaces. This enables the PE(s) to learn control protocol on all interfaces. This enables the PE(s) to learn
the host's MAC address and associate it with all interfaces. The PEs the host's MAC address and associate it with all interfaces. The PEs
can now load balance traffic destined to the host on all these can now load balance traffic destined to the host on all these
interfaces. The host can also load balance the traffic it generates interfaces. The host can also load balance the traffic it generates
onto these interfaces and the PE that receives the traffic employs onto these interfaces, and the PE that receives the traffic employs
EVPN forwarding procedures to forward the traffic. EVPN forwarding procedures to forward the traffic.
15. MAC Mobility 15. MAC Mobility
It is possible for a given host or end-station (as defined by its MAC It is possible for a given host or end-station (as defined by its MAC
address) to move from one Ethernet segment to another; this is address) to move from one Ethernet segment to another; this is
referred to as 'MAC Mobility' or 'MAC move' and it is different from referred to as 'MAC Mobility' or 'MAC move', and it is different from
the multi-homing situation in which a given MAC address is reachable the multihoming situation in which a given MAC address is reachable
via multiple PEs for the same Ethernet segment. In a MAC move, there via multiple PEs for the same Ethernet segment. In a MAC move, there
would be two sets of MAC Advertisement routes, one set with the new would be two sets of MAC/IP Advertisement routes -- one set with the
Ethernet segment and one set with the previous Ethernet segment, and new Ethernet segment and one set with the previous Ethernet segment
the MAC address would appear to be reachable via each of these -- and the MAC address would appear to be reachable via each of these
segments. segments.
In order to allow all of the PEs in the EVPN instance to correctly In order to allow all of the PEs in the EVPN instance to correctly
determine the current location of the MAC address, all advertisements determine the current location of the MAC address, all advertisements
of it being reachable via the previous Ethernet segment MUST be of it being reachable via the previous Ethernet segment MUST be
withdrawn by the PEs, for the previous Ethernet segment, that had withdrawn by the PEs, for the previous Ethernet segment, that had
advertised it. advertised it.
If local learning is performed using the data plane, these PEs will If local learning is performed using the data plane, these PEs will
not be able to detect that the MAC address has moved to another not be able to detect that the MAC address has moved to another
Ethernet segment and the receipt of MAC Advertisement routes, with Ethernet segment, and the receipt of MAC/IP Advertisement routes,
the MAC Mobility extended community attribute, from other PEs serves with the MAC Mobility extended community attribute, from other PEs
as the trigger for these PEs to withdraw their advertisements. If serves as the trigger for these PEs to withdraw their advertisements.
local learning is performed using the control or management planes, If local learning is performed using the control or management
these interactions serve as the trigger for these PEs to withdraw planes, these interactions serve as the trigger for these PEs to
their advertisements. withdraw their advertisements.
In a situation where there are multiple moves of a given MAC, In a situation where there are multiple moves of a given MAC,
possibly between the same two Ethernet segments, there may be possibly between the same two Ethernet segments, there may be
multiple withdrawals and re-advertisements. In order to ensure that multiple withdrawals and re-advertisements. In order to ensure that
all PEs in the EVPN instance receive all of these correctly through all PEs in the EVPN instance receive all of these correctly through
the intervening BGP infrastructure, it is necessary to introduce a the intervening BGP infrastructure, introducing a sequence number
sequence number into the MAC Mobility extended community attribute. into the MAC Mobility extended community attribute is necessary.
An implementation MUST handle the scenarios where the sequence number In order to process mobility events correctly, an implementation MUST
wraps around to process mobility event correctly. handle scenarios in which sequence number wraparound occurs.
Every MAC mobility event for a given MAC address will contain a Every MAC mobility event for a given MAC address will contain a
sequence number that is set using the following rules: sequence number that is set using the following rules:
- A PE advertising a MAC address for the first time advertises it - A PE advertising a MAC address for the first time advertises it
with no MAC Mobility extended community attribute. with no MAC Mobility extended community attribute.
- A PE detecting a locally attached MAC address for which it had - A PE detecting a locally attached MAC address for which it had
previously received a MAC Advertisement route with a different previously received a MAC/IP Advertisement route with a different
Ethernet segment identifier advertises the MAC address in a MAC Ethernet segment identifier advertises the MAC address in a MAC/IP
Advertisement route tagged with a MAC Mobility extended community Advertisement route tagged with a MAC Mobility extended community
attribute with a sequence number one greater than the sequence number attribute with a sequence number one greater than the sequence
in the MAC mobility attribute of the received MAC Advertisement number in the MAC Mobility extended community attribute of the
route. In the case of the first mobility event for a given MAC received MAC/IP Advertisement route. In the case of the first
address, where the received MAC Advertisement route does not carry a mobility event for a given MAC address, where the received MAC/IP
MAC Mobility attribute, the value of the sequence number in the Advertisement route does not carry a MAC Mobility extended
received route is assumed to be 0 for purpose of this processing. community attribute, the value of the sequence number in the
received route is assumed to be 0 for the purpose of this
processing.
- A PE detecting a locally attached MAC address for which it had - A PE detecting a locally attached MAC address for which it had
previously received a MAC Advertisement route with the same non-zero previously received a MAC/IP Advertisement route with the same
Ethernet segment identifier advertises it with: non-zero Ethernet segment identifier advertises it with:
i. no MAC Mobility extended community attribute, if the received
route did not carry said attribute.
ii. a MAC Mobility extended community attribute with the sequence 1. no MAC Mobility extended community attribute, if the received
number equal to the highest of the sequence number(s) in the route did not carry said attribute.
received MAC Advertisement route(s), if the received route(s) is
(are) tagged with a MAC Mobility extended community attribute. 2. a MAC Mobility extended community attribute with the sequence
number equal to the highest of the sequence number(s) in the
received MAC/IP Advertisement route(s), if the received route(s)
is (are) tagged with a MAC Mobility extended community
attribute.
- A PE detecting a locally attached MAC address for which it had - A PE detecting a locally attached MAC address for which it had
previously received a MAC Advertisement route with the same zero previously received a MAC/IP Advertisement route with the same zero
Ethernet segment identifier (single-homed scenarios) advertises it Ethernet segment identifier (single-homed scenarios) advertises it
with MAC mobility extended community attribute with the sequence with a MAC Mobility extended community attribute with the sequence
number set properly. In case of single-homed scenarios, there is no number set properly. In the case of single-homed scenarios, there
need for ESI comparison. The reason ESI comparison is done for multi- is no need for ESI comparison. ESI comparison is done for
homing, is to prevent false detection of MAC move among the PEs multihoming in order to prevent false detection of MAC moves among
attached to the same multi-homed site. the PEs attached to the same multihomed site.
A PE receiving a MAC Advertisement route for a MAC address with a A PE receiving a MAC/IP Advertisement route for a MAC address with a
different Ethernet segment identifier and a higher sequence number different Ethernet segment identifier and a higher sequence number
than that which it had previously advertised, withdraws its MAC than that which it had previously advertised withdraws its MAC/IP
Advertisement route. If two (or more) PEs advertise the same MAC Advertisement route. If two (or more) PEs advertise the same MAC
address with same sequence number but different Ethernet segment address with the same sequence number but different Ethernet segment
identifiers, a PE that receives these routes selects the route identifiers, a PE that receives these routes selects the route
advertised by the PE with lowest IP address as the best route. If the advertised by the PE with the lowest IP address as the best route.
PE is the originator of the MAC route and it receives the same MAC If the PE is the originator of the MAC route and it receives the same
address with the same sequence number that it generated, it will MAC address with the same sequence number that it generated, it will
compare its own IP address with the IP address of the remote PE and compare its own IP address with the IP address of the remote PE and
will select the lowest IP. If its own route is not the best one, it will select the lowest IP. If its own route is not the best one, it
will withdraw the route. will withdraw the route.
15.1. MAC Duplication Issue 15.1. MAC Duplication Issue
A situation may arise where the same MAC address is learned by A situation may arise where the same MAC address is learned by
different PEs in the same VLAN because of two (or more hosts) being different PEs in the same VLAN because of two (or more) hosts being
mis-configured with the same (duplicate) MAC address. In such misconfigured with the same (duplicate) MAC address. In such a
situation, the traffic originating from these hosts would trigger situation, the traffic originating from these hosts would trigger
continuous MAC moves among the PEs attached to these hosts. It is continuous MAC moves among the PEs attached to these hosts. It is
important to recognize such situation and avoid incrementing the important to recognize such a situation and avoid incrementing the
sequence number (in the MAC Mobility attribute) to infinity. In order sequence number (in the MAC Mobility extended community attribute) to
to remedy such situation, a PE that detects a MAC mobility event by infinity. In order to remedy such a situation, a PE that detects a
way of local learning starts an M-second timer (default value of M = MAC mobility event via local learning starts an M-second timer (with
180) and if it detects N MAC moves before the timer expires (default a default value of M = 180), and if it detects N MAC moves before the
value for N = 5), it concludes that a duplicate MAC situation has timer expires (with a default value of N = 5), it concludes that a
occurred. The PE MUST alert the operator and stop sending and duplicate-MAC situation has occurred. The PE MUST alert the operator
processing any BGP MAC Advertisement routes for that MAC address till and stop sending and processing any BGP MAC/IP Advertisement routes
a corrective action is taken by the operator. The values of M and N for that MAC address until a corrective action is taken by the
MUST be configurable to allow for flexibility in operator control. operator. The values of M and N MUST be configurable to allow for
Note that the other PEs in the E-VPN instance will forward the flexibility in operator control. Note that the other PEs in the EVPN
traffic for the duplicate MAC address to one of the PEs advertising instance will forward the traffic for the duplicate MAC address to
the duplicate MAC address. one of the PEs advertising the duplicate MAC address.
15.2. Sticky MAC addresses 15.2. Sticky MAC Addresses
There are scenarios in which it is desired to configure some MAC There are scenarios in which it is desired to configure some MAC
addresses as static so that they are not subjected to MAC move. In addresses as static so that they are not subjected to MAC moves. In
such scenarios, these MAC addresses are advertised with MAC Mobility such scenarios, these MAC addresses are advertised with a MAC
Extended Community where static flag is set to 1 and sequence number Mobility extended community where the static flag is set to 1 and the
is set to zero. If a PE receives such advertisements and later learns sequence number is set to zero. If a PE receives such advertisements
the same MAC address(es) via local learning, then the PE MUST alert and later learns the same MAC address(es) via local learning, then
the operator. the PE MUST alert the operator.
16. Multicast & Broadcast 16. Multicast and Broadcast
The PEs in a particular EVPN instance may use ingress replication or The PEs in a particular EVPN instance may use ingress replication or
P2MP LSPs to send multicast traffic to other PEs. P2MP LSPs to send multicast traffic to other PEs.
16.1. Ingress Replication 16.1. Ingress Replication
The PEs may use ingress replication for flooding BUM traffic as The PEs may use ingress replication for flooding BUM traffic as
described in section "Handling of Multi-Destination Traffic". A given described in Section 11 ("Handling of Multi-destination Traffic"). A
broadcast packet must be sent to all the remote PEs. However a given given broadcast packet must be sent to all the remote PEs. However,
multicast packet for a multicast flow may be sent to only a subset of a given multicast packet for a multicast flow may be sent to only a
the PEs. Specifically a given multicast flow may be sent to only subset of the PEs. Specifically, a given multicast flow may be sent
those PEs that have receivers that are interested in the multicast to only those PEs that have receivers that are interested in the
flow. Determining which of the PEs have receivers for a given multicast flow. Determining which of the PEs have receivers for a
multicast flow is done using explicit tracking described below. given multicast flow is done using explicit tracking per [RFC7117].
16.2. P2MP LSPs 16.2. P2MP LSPs
A PE may use an "Inclusive" tree for sending an BUM packet. This
A PE may use an "Inclusive" tree for sending a BUM packet. This
terminology is borrowed from [RFC7117]. terminology is borrowed from [RFC7117].
A variety of transport technologies may be used in the SP network. A variety of transport technologies may be used in the service
For inclusive P-Multicast trees, these transport technologies include provider (SP) network. For Inclusive P-multicast trees, these
point-to-multipoint LSPs created by RSVP-TE or mLDP. transport technologies include point-to-multipoint LSPs created by
RSVP-TE or Multipoint LDP (mLDP).
16.2.1. Inclusive Trees 16.2.1. Inclusive Trees
An Inclusive Tree allows the use of a single multicast distribution An Inclusive tree allows the use of a single multicast distribution
tree, referred to as an Inclusive P-Multicast tree, in the SP network tree, referred to as an Inclusive P-multicast tree, in the SP network
to carry all the multicast traffic from a specified set of EVPN to carry all the multicast traffic from a specified set of EVPN
instances on a given PE. A particular P-Multicast tree can be set up instances on a given PE. A particular P-multicast tree can be set up
to carry the traffic originated by sites belonging to a single EVPN to carry the traffic originated by sites belonging to a single EVPN
instance, or to carry the traffic originated by sites belonging to instance, or to carry the traffic originated by sites belonging to
several EVPN instances. The ability to carry the traffic of more than several EVPN instances. The ability to carry the traffic of more
one EVPN instance on the same tree is termed 'Aggregation' and the than one EVPN instance on the same tree is termed 'Aggregation', and
tree is called an Aggregate Inclusive P-Multicast tree or Aggregate the tree is called an Aggregate Inclusive P-multicast tree or
Inclusive tree for short. The Aggregate Inclusive tree needs to Aggregate Inclusive tree for short. The Aggregate Inclusive tree
include every PE that is a member of any of the EVPN instances that needs to include every PE that is a member of any of the EVPN
are using the tree. This implies that a PE may receive BUM traffic instances that are using the tree. This implies that a PE may
even if it doesn't have any receivers that are interested in receive BUM traffic even if it doesn't have any receivers that are
receiving that traffic. interested in receiving that traffic.
An Inclusive or Aggregate Inclusive tree as defined in this document An Inclusive or Aggregate Inclusive tree as defined in this document
is a P2MP tree. A P2MP tree is used to carry traffic only for EVPN is a P2MP tree. A P2MP tree is used to carry traffic only for EVPN
CEs that are connected to the PE that is the root of the tree. CEs that are connected to the PE that is the root of the tree.
The procedures for signaling an Inclusive tree are the same as those The procedures for signaling an Inclusive tree are the same as those
in [RFC7117] with the VPLS-AD route replaced with the Inclusive in [RFC7117], with the VPLS A-D route replaced with the Inclusive
Multicast Ethernet Tag route. The P-Tunnel attribute [RFC7117] for an Multicast Ethernet Tag route. The P-tunnel attribute [RFC7117] for
Inclusive tree is advertised with the Inclusive Multicast Ethernet an Inclusive tree is advertised with the Inclusive Multicast Ethernet
Tag route as described in section "Handling of Multi-Destination Tag route as described in Section 11 ("Handling of Multi-destination
Traffic". Note that for an Aggregate Inclusive tree, a PE can Traffic"). Note that for an Aggregate Inclusive tree, a PE can
"aggregate" multiple EVPN instances on the same P2MP LSP using "aggregate" multiple EVPN instances on the same P2MP LSP using
upstream labels. The procedures for aggregation are the same as those upstream labels. The procedures for aggregation are the same as
described in [RFC7117], with VPLS A-D routes replaced by EVPN those described in [RFC7117], with VPLS A-D routes replaced by EVPN
Inclusive Multicast Ethernet Tag routes. Inclusive Multicast Ethernet Tag routes.
17. Convergence 17. Convergence
This section describes failure recovery from different types of This section describes failure recovery from different types of
network failures. network failures.
17.1. Transit Link and Node Failures between PEs 17.1. Transit Link and Node Failures between PEs
The use of existing MPLS Fast-Reroute mechanisms can provide failure The use of existing MPLS fast-reroute mechanisms can provide failure
recovery in the order of 50ms, in the event of transit link and node recovery on the order of 50 ms, in the event of transit link and node
failures in the infrastructure that connects the PEs. failures in the infrastructure that connects the PEs.
17.2. PE Failures 17.2. PE Failures
Consider a host CE1 that is dual homed to PE1 and PE2. If PE1 fails, Consider a host CE1 that is dual-homed to PE1 and PE2. If PE1 fails,
a remote PE, PE3, can discover this based on the failure of the BGP a remote PE, PE3, can discover this based on the failure of the BGP
session. This failure detection can be in the sub-second range if session. This failure detection can be in the sub-second range if
BFD is used to detect BGP session failure. PE3 can update its Bidirectional Forwarding Detection (BFD) is used to detect BGP
forwarding state to start sending all traffic for CE1 to only PE2. session failures. PE3 can update its forwarding state to start
sending all traffic for CE1 to only PE2.
17.3. PE to CE Network Failures 17.3. PE-to-CE Network Failures
If the connectivity between the multi-homed CE and one of the PEs If the connectivity between the multihomed CE and one of the PEs to
that it is attached to, fails, the PE MUST withdraw the set of which it is attached fails, the PE MUST withdraw the set of Ethernet
Ethernet A-D per ES routes that had been previously advertised for A-D per ES routes that had been previously advertised for that ES.
that ES. When the MAC entry on the PE ages out, the PE MUST withdraw This enables the remote PEs to remove the MPLS next hop to this
the MAC address from BGP. Note that to aid convergence, the Ethernet particular PE from the set of MPLS next hops that can be used to
A-D per EVI routes MAY be withdrawn before the MAC routes. This forward traffic to the CE. When the MAC entry on the PE ages out,
enables the remote PEs to remove the MPLS next-hop to this particular the PE MUST withdraw the MAC address from BGP.
PE from the set of MPLS next-hops that can be used to forward traffic
to the CE.
When a Ethernet Tag is decommissioned on an Ethernet segment, then When an Ethernet tag is decommissioned on an Ethernet segment, then
the PE MUST withdraw the Ethernet A-D per EVI route(s) announced for the PE MUST withdraw the Ethernet A-D per EVI route(s) announced for
the <ESI, Ethernet Tags> that are impacted by the decommissioning. In the <ESI, Ethernet tags> that are impacted by the decommissioning.
addition, the PE MUST also withdraw the MAC advertisement routes that In addition, the PE MUST also withdraw the MAC/IP Advertisement
are impacted by the decommissioning. routes that are impacted by the decommissioning.
The Ethernet A-D per ES routes should be used by an implementation to The Ethernet A-D per ES routes should be used by an implementation to
optimize the withdrawal of MAC advertisement routes. When a PE optimize the withdrawal of MAC/IP Advertisement routes. When a PE
receives a withdrawal of a particular Ethernet A-D route from a PE it receives a withdrawal of a particular Ethernet A-D route from an
SHOULD consider all the MAC advertisement routes, that are learned advertising PE, it SHOULD consider all the MAC/IP Advertisement
from the same ESI as in the Ethernet A-D route, from the advertising routes that are learned from the same ESI as in the Ethernet A-D
PE, as having been withdrawn. This optimizes the network convergence route from the advertising PE as having been withdrawn. This
times in the event of PE to CE failures. optimizes the network convergence times in the event of PE-to-CE
failures.
18. Frame Ordering 18. Frame Ordering
In a MAC address, if the value of the 1st nibble (bits 8 thorough 5) In a MAC address, if the value of the first nibble (bits 8 through 5)
of the most significant octet of the destination MAC address (which of the most significant octet of the destination MAC address (which
follows the last MPLS label) happens to be 0x4 or 0x6, then the follows the last MPLS label) happens to be 0x4 or 0x6, then the
Ethernet frame can be misinterpreted as an IPv4 or IPv6 packet by Ethernet frame can be misinterpreted as an IPv4 or IPv6 packet by
intermediate P nodes performing ECMP based on deep packet inspection, intermediate P nodes performing ECMP based on deep packet inspection,
thus resulting in load balancing packets belonging to the same flow thus resulting in load balancing packets belonging to the same flow
on different ECMP paths and subjecting them to different delays. on different ECMP paths and subjecting those packets to different
Therefore, packets belonging to the same flow can arrive at the delays. Therefore, packets belonging to the same flow can arrive at
destination out of order. This out of order delivery can happen the destination out of order. This out-of-order delivery can happen
during steady state in absence of any failures resulting in during steady state in the absence of any failures, resulting in
significant impact to the network operation. significant impact on network operations.
In order to avoid any such mis-ordering, the following rules are In order to avoid any such misordering, the following rules are
applied: applied:
- If a network uses deep packet inspection for its ECMP, then the - If a network uses deep packet inspection for its ECMP, then the
"Preferred PW MPLS Control Word" per [RFC4385] SHOULD be used with "Preferred PW MPLS Control Word" [RFC4385] SHOULD be used with the
the value of 0 (e.g., a 4-octet field with value of zero) when value 0 (e.g., a 4-octet field with a value of zero) when sending
sending EVPN encapsulated packets over a MP2P LSP. EVPN-encapsulated packets over an MP2P LSP.
- If a network uses Entropy label [RFC6790], then the control word
SHOULD NOT be used when sending EVPN encapsulated packet over a MP2P
LSP.
- When sending EVPN encapsulated packets over a P2MP LSP or P2P LSP,
then the control world SHOULD NOT be used.
19. Acknowledgements
Special thanks to Yakov Rekhter for reviewing this draft several
times and providing valuable comments and for his very engaging
discussions on several topics of this draft that helped shape this
document. We would also like to thank Pedro Marques, Kaushik Ghosh,
Nischal Sheth, Robert Raszuk, Amit Shukla, and Nadeem Mohammed for
discussions that helped shape this document. We would also like to
thank Han Nguyen for his comments and support of this work. We would
also like to thank Steve Kensil and Reshad Rahman for their reviews.
We would like to thank Jorge Rabadan for his contribution to section
5 of this draft. We like to thank Thomas Morin for his review of this
draft and his contribution of section 8.6. Many thanks to Jakob Heitz
for his help to improve several sections of this draft.
We would also like to thank Clarence Filsfils, Dennis Cai, Quaizar - If a network uses entropy labels [RFC6790], then the control word
Vohra, Kireeti Kompella, Apurva Mehta for their contributions to this SHOULD NOT be used when sending EVPN-encapsulated packets over an
document. MP2P LSP.
Last but not least, special thanks to Giles Heron (our WG chair) for - When sending EVPN-encapsulated packets over a P2MP LSP or P2P LSP,
his detailed review of this document in preparation for WG LC and then the control word SHOULD NOT be used.
making many valuable suggestions.
20. Security Considerations 19. Security Considerations
Security considerations discussed in [RFC4761] and [RFC4762] apply to Security considerations discussed in [RFC4761] and [RFC4762] apply to
this document for MAC learning in data-plane over an Attachment this document for MAC learning in the data plane over an Attachment
Circuit (AC) and for flooding of unknown unicast and ARP messages Circuit (AC) and for flooding of unknown unicast and ARP messages
over the MPLS/IP core. Security considerations discussed in [RFC4364] over the MPLS/IP core. Security considerations discussed in
apply to this document for MAC learning in control-plane over the [RFC4364] apply to this document for MAC learning in the control
MPLS/IP core. This section describes additional considerations. plane over the MPLS/IP core. This section describes additional
considerations.
As mentioned in [RFC4761], there are two aspects to achieving data As mentioned in [RFC4761], there are two aspects to achieving data
privacy and protecting against denial-of-service attacks in a VPN: privacy and protecting against denial-of-service attacks in a VPN:
securing the control plane and protecting the forwarding path. securing the control plane and protecting the forwarding path.
Compromise of the control plane could result in a PE sending customer Compromise of the control plane could result in a PE sending customer
data belonging to some EVPN to another EVPN, or black-holing EVPN data belonging to some EVPN to another EVPN, or black-holing EVPN
customer data, or even sending it to an eavesdropper; none of which customer data, or even sending it to an eavesdropper, none of which
are acceptable from a data privacy point of view. In addition, are acceptable from a data privacy point of view. In addition,
compromise of the control plane could result in black-holing EVPN compromise of the control plane could provide opportunities for
customer data and could provide opportunities for unauthorized EVPN unauthorized EVPN data usage (e.g., exploiting traffic replication
data usage (e.g., exploiting traffic replication within a multicast within a multicast tree to amplify a denial-of-service attack based
tree to amplify a denial-of-service attack based on sending large on sending large amounts of traffic).
amounts of traffic).
The mechanisms in this document use BGP for the control plane. Hence, The mechanisms in this document use BGP for the control plane.
techniques such as in [RFC5925] help authenticate BGP messages, Hence, techniques such as those discussed in [RFC5925] help
making it harder to spoof updates (which can be used to divert EVPN authenticate BGP messages, making it harder to spoof updates (which
traffic to the wrong EVPN instance) or withdrawals (denial-of-service can be used to divert EVPN traffic to the wrong EVPN instance) or
attacks). In the multi-AS methods (b) and (c), this also means withdrawals (denial-of-service attacks). In the multi-AS backbone
protecting the inter-AS BGP sessions, between the ASBRs, the PEs, or options (b) and (c) [RFC4364], this also means protecting the
the Route Reflectors. inter-AS BGP sessions between the Autonomous System Border Routers
(ASBRs), the PEs, or the Route Reflectors.
Further discussion of security considerations for BGP may be found in Further discussion of security considerations for BGP may be found in
the BGP specification itself [RFC4271] and in the security analysis the BGP specification itself [RFC4271] and in the security analysis
for BGP [RFC4272]. The original discussion of the use of the TCP MD5 for BGP [RFC4272]. The original discussion of the use of the TCP MD5
signature option to protect BGP sessions is found in [RFC5925], while signature option to protect BGP sessions is found in [RFC5925], while
[RFC6952] includes an analysis of BGP keying and authentication [RFC6952] includes an analysis of BGP keying and authentication
issues. issues.
Note that [RFC5925] will not help in keeping MPLS labels private -- Note that [RFC5925] will not help in keeping MPLS labels private --
knowing the labels, one can eavesdrop on EVPN traffic. Such knowing the labels, one can eavesdrop on EVPN traffic. Such
eavesdropping additionally requires access to the data path within an eavesdropping additionally requires access to the data path within an
SP network. Users of VPN services are expected to take appropriate SP network. Users of VPN services are expected to take appropriate
precautions (such as encryption) to protect the data exchanged over a precautions (such as encryption) to protect the data exchanged over
VPN. a VPN.
One of the requirements for protecting the data plane is that the One of the requirements for protecting the data plane is that the
MPLS labels be accepted only from valid interfaces. For a PE, valid MPLS labels be accepted only from valid interfaces. For a PE, valid
interfaces comprise links from other routers in the PE's own AS. For interfaces comprise links from other routers in the PE's own AS. For
an ASBR, valid interfaces comprise links from other routers in the an ASBR, valid interfaces comprise links from other routers in the
ASBR's own AS, and links from other ASBRs in ASes that have instances ASBR's own AS, and links from other ASBRs in ASes that have instances
of a given EVPN. It is especially important in the case of multi-AS of a given EVPN. It is especially important in the case of multi-AS
EVPN instances that one accept EVPN packets only from valid EVPN instances that one accept EVPN packets only from valid
interfaces. interfaces.
It is also important to help limit malicious traffic into a network It is also important to help limit malicious traffic into a network
for an imposter MAC address. The mechanism described in section 15.1, for an impostor MAC address. The mechanism described in Section 15.1
shows how duplicate MAC addresses can be detected and continuous shows how duplicate MAC addresses can be detected and continuous
false MAC mobility can be prevented. The mechanism described in false MAC mobility can be prevented. The mechanism described in
section 15.2 shows how MAC addresses can be pinned to a given Section 15.2 shows how MAC addresses can be pinned to a given
Ethernet Segment, such that if they appear behind any other Ethernet Ethernet segment, such that if they appear behind any other Ethernet
Segments, the traffic for those MAC addresses can be prevented from segments, the traffic for those MAC addresses can be prevented from
entering the EVPN network from the other Ethernet Segments. entering the EVPN network from the other Ethernet segments.
21. Contributors
In addition to the authors listed on the front page, the following
individuals have also helped to shape this document:
Keyur Patel
Samer Salam
Sami Boutros
Cisco
Yakov Rekhter
Ravi Shekhar
Juniper Networks
Florin Balus
Nuage Networks
22. IANA Considerations 20. IANA Considerations
This document defines a new NLRI, called "EVPN", to be carried in BGP This document defines a new NLRI, called "EVPN", to be carried in BGP
using multiprotocol extensions. This NLRI uses the existing AFI of using multiprotocol extensions. This NLRI uses the existing AFI of
25 (L2VPN). IANA has assigned it a SAFI value of 70. 25 (L2VPN). IANA has assigned BGP EVPNs a SAFI value of 70.
IANA has allocated the following EVPN Extended Community sub-types in IANA has allocated the following EVPN Extended Community sub-types in
[RFC7153] and this document is the only reference for them. [RFC7153], and this document is the only reference for them.
0x00 MAC Mobility [this document] 0x00 MAC Mobility [RFC7432]
0x01 ESI Label [this document] 0x01 ESI Label [RFC7432]
0x02 ES-Import Route Target [this document] 0x02 ES-Import Route Target [RFC7432]
This document is creating a registry called "EVPN Route Types." New This document creates a registry called "EVPN Route Types". New
registrations will be made through the "RFC Required" procedure registrations will be made through the "RFC Required" procedure
defined in [RFC5226]. The registry has a maximum value of 255. defined in [RFC5226]. The registry has a maximum value of 255.
Initial registrations are as follows: Initial registrations are as follows:
0 RESERVED 0 Reserved [RFC7432]
1 Ethernet Auto-Discovery [this document] 1 Ethernet Auto-discovery [RFC7432]
2 MAC/IP Advertisement [this document] 2 MAC/IP Advertisement [RFC7432]
3 Inclusive Multicast Ethernet Tag [this document] 3 Inclusive Multicast Ethernet Tag [RFC7432]
4 Ethernet Segment [this document] 4 Ethernet Segment [RFC7432]
23. References 21. References
23.1 Normative References 21.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC4364] Rosen, Rekhter, et. al., "BGP/MPLS IP VPNs", February 2006 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271,
January 2006, <http://www.rfc-editor.org/info/rfc4271>.
[RFC4761] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
(VPLS) Using BGP for Auto-Discovery and Signaling", RFC Communities Attribute", RFC 4360, February 2006,
4761, January 2007. <http://www.rfc-editor.org/info/rfc4360>.
[RFC4762] Lasserre, M. and V. Kompella, "Virtual Private LAN Service [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
(VPLS) Using Label Distribution Protocol (LDP) Signaling", Networks (VPNs)", RFC 4364, February 2006,
RFC 4762, January 2007. <http://www.rfc-editor.org/info/rfc4364>.
[RFC4271] Y. Rekhter et. al., "A Border Gateway Protocol 4 (BGP-4)", [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
RFC 4271, January 2006 "Multiprotocol Extensions for BGP-4", RFC 4760,
January 2007, <http://www.rfc-editor.org/info/rfc4760>.
[RFC4760] T. Bates et. al., "Multiprotocol Extensions for BGP-4", [RFC4761] Kompella, K., Ed., and Y. Rekhter, Ed., "Virtual Private
RFC 4760, January 2007 LAN Service (VPLS) Using BGP for Auto-Discovery and
Signaling", RFC 4761, January 2007,
<http://www.rfc-editor.org/info/rfc4761>.
[RFC7153] E. Rosen et. al., "IANA Registries for BGP Extended [RFC4762] Lasserre, M., Ed., and V. Kompella, Ed., "Virtual Private
Communities", RFC 7153, March 2014 LAN Service (VPLS) Using Label Distribution Protocol (LDP)
Signaling", RFC 4762, January 2007,
<http://www.rfc-editor.org/info/rfc4762>.
23.2 Informative References [RFC7153] Rosen, E. and Y. Rekhter, "IANA Registries for BGP
Extended Communities", RFC 7153, March 2014,
<http://www.rfc-editor.org/info/rfc7153>.
[RFC7209] A. Sajassi, R. Aggarwal et. al., "Requirements for 21.2. Informative References
Ethernet VPN", May 2014.
[RFC7117] R. Aggarwal et.al., "Multicast in Virtual Private LAN [802.1D-REV]
Service (VPLS)", February 2014. "IEEE Standard for Local and metropolitan area networks -
Media Access Control (MAC) Bridges", IEEE Std. 802.1D,
June 2004.
[RFC4684] P. Marques et. al., "Constrained Route Distribution for [802.1Q] "IEEE Standard for Local and metropolitan area networks -
Border Gateway Protocol/MultiProtocol Label Switching Media Access Control (MAC) Bridges and Virtual Bridged
(BGP/MPLS) Internet Protocol (IP) Virtual Private Networks Local Area Networks", IEEE Std 802.1Q(tm), 2014 Edition,
(VPNs)", RFC 4684, November 2006. November 2014.
[RFC6790] K. Kompella et. al, "The Use of Entropy Labels in MPLS [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis",
Forwarding", RFC 6790, November 2012. RFC 4272, January 2006,
<http://www.rfc-editor.org/info/rfc4272>.
[RFC4385] S. Bryant et. al, "PWE3 Control Word for Use over an MPLS [RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson,
PSN", RFC 4385, February 2006 "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
Use over an MPLS PSN", RFC 4385, February 2006,
<http://www.rfc-editor.org/info/rfc4385>.
[RFC5925] J. Touch et. al., "The TCP Authentication Option", RFC [RFC4664] Andersson, L., Ed., and E. Rosen, Ed., "Framework for
5925, June 2010 Layer 2 Virtual Private Networks (L2VPNs)", RFC 4664,
September 2006, <http://www.rfc-editor.org/info/rfc4664>.
[RFC5226] T. Narten et. al., "Guidelines for Writing an IANA [RFC4684] Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk,
Considerations Section in RFCs", RFC 5226, May 2008 R., Patel, K., and J. Guichard, "Constrained Route
Distribution for Border Gateway Protocol/MultiProtocol
Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual
Private Networks (VPNs)", RFC 4684, November 2006,
<http://www.rfc-editor.org/info/rfc4684>.
[RFC4272] S. Murphy, "BGP Security Vulnerabilities Analysis", RFC [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
4272, January 2006 IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008, <http://www.rfc-editor.org/info/rfc5226>.
[RFC6952] M. Jethanandani et. al., "Analysis of BGP, LDP, PCEP, and [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP
MSDP Issues According to the Keying and Authentication Authentication Option", RFC 5925, June 2010,
for Routing Protocols (KARP) Design Guide", RFC 6952, May <http://www.rfc-editor.org/info/rfc5925>.
2013
[802.1Q] "IEEE Standard for Local and metropolitan area networks - [RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
Media Access Control (MAC) Bridges and Virtual Bridged Encodings and Procedures for Multicast in MPLS/BGP IP
Local Area Networks", IEEE Std 802.1Q(tm), 2012 Edition, VPNs", RFC 6514, February 2012,
October 2012. <http://www.rfc-editor.org/info/rfc6514>.
24. Author's Address [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and
L. Yong, "The Use of Entropy Labels in MPLS Forwarding",
RFC 6790, November 2012,
<http://www.rfc-editor.org/info/rfc6790>.
Ali Sajassi [RFC6952] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
Cisco BGP, LDP, PCEP, and MSDP Issues According to the Keying
Email: sajassi@cisco.com and Authentication for Routing Protocols (KARP) Design
Guide", RFC 6952, May 2013,
<http://www.rfc-editor.org/info/rfc6952>.
Rahul Aggarwal [RFC7117] Aggarwal, R., Ed., Kamite, Y., Fang, L., Rekhter, Y., and
Email: raggarwa_1@yahoo.com C. Kodeboniya, "Multicast in Virtual Private LAN Service
(VPLS)", RFC 7117, February 2014,
<http://www.rfc-editor.org/info/rfc7117>.
Nabil Bitar [RFC7209] Sajassi, A., Aggarwal, R., Uttaro, J., Bitar, N.,
Verizon Communications Henderickx, W., and A. Isaac, "Requirements for Ethernet
Email : nabil.n.bitar@verizon.com VPN (EVPN)", RFC 7209, May 2014,
<http://www.rfc-editor.org/info/rfc7209>.
Aldrin Isaac Acknowledgements
Bloomberg
Email: aisaac71@bloomberg.net
James Uttaro Special thanks to Yakov Rekhter for reviewing this document several
AT&T times and providing valuable comments, and for his very engaging
Email: uttaro@att.com discussions on several topics of this document that helped shape this
document. We would also like to thank Pedro Marques, Kaushik Ghosh,
Nischal Sheth, Robert Raszuk, Amit Shukla, and Nadeem Mohammed for
discussions that helped shape this document. We would also like to
thank Han Nguyen for his comments and support of this work. We would
also like to thank Steve Kensil and Reshad Rahman for their reviews.
We would like to thank Jorge Rabadan for his contribution to
Section 5 of this document. We would like to thank Thomas Morin for
his review of this document and his contribution of Section 8.6.
Many thanks to Jakob Heitz for his help to improve several sections
of this document.
John Drake We would also like to thank Clarence Filsfils, Dennis Cai, Quaizar
Juniper Networks Vohra, Kireeti Kompella, and Apurva Mehta for their contributions to
Email: jdrake@juniper.net this document.
Wim Henderickx
Alcatel-Lucent Last but not least, special thanks to Giles Heron (our WG chair) for
e-mail: wim.henderickx@alcatel-lucent.com his detailed review of this document in preparation for WG Last Call
and for making many valuable suggestions.
Contributors
In addition to the authors listed on the front page, the following
co-authors have also contributed to this document:
Keyur Patel
Samer Salam
Sami Boutros
Cisco
Yakov Rekhter
Ravi Shekhar
Juniper Networks
Florin Balus
Nuage Networks
Authors' Addresses
Ali Sajassi (editor)
Cisco
EMail: sajassi@cisco.com
Rahul Aggarwal
Arktan
EMail: raggarwa_1@yahoo.com
Nabil Bitar
Verizon Communications
EMail : nabil.n.bitar@verizon.com
Aldrin Isaac
Bloomberg
EMail: aisaac71@bloomberg.net
James Uttaro
AT&T
EMail: uttaro@att.com
John Drake
Juniper Networks
EMail: jdrake@juniper.net
Wim Henderickx
Alcatel-Lucent
EMail: wim.henderickx@alcatel-lucent.com
 End of changes. 471 change blocks. 
1540 lines changed or deleted 1590 lines changed or added

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