draft-ietf-l2vpn-evpn-00.txt   draft-ietf-l2vpn-evpn-01.txt 
Network Working Group R. Aggarwal Network Working Group A. Sajassi
INTERNET-DRAFT Arktan INTERNET-DRAFT Cisco
Category: Standards Track Category: Standards Track
Expires: August 25, 2012 A. Sajassi R. Aggarwal
Cisco N. Bitar Arktan
Verizon
J. Uttaro W. Henderickx W. Henderickx
AT&T Alcatel-Lucent S. Boutros F. Balus
K. Patel Alcatel-Lucent
A. Isaac N. Bitar S. Salam
Bloomberg Verizon Cisco Aldrin Isaac
Bloomberg
J. Drake
R. Shekhar J. Uttaro
Juniper Networks AT&T
F. Balus R. Shekhar Expires: January 14, 2012 July 14, 2012
Alcatel-Lucent J. Drake
Juniper Networks
S. Boutros
K. Patel
Cisco February 24, 2012
BGP MPLS Based Ethernet VPN BGP MPLS Based Ethernet VPN
draft-ietf-l2vpn-evpn-00 draft-ietf-l2vpn-evpn-01
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as
Internet-Drafts. Internet-Drafts.
skipping to change at page 2, line 23 skipping to change at page 2, line 22
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 Abstract
This document describes procedures for BGP MPLS based Ethernet VPNs This document describes procedures for BGP MPLS based Ethernet VPNs
(E-VPN). (E-VPN).
Table of Contents Table of Contents
1. Specification of requirements . . . . . . . . . . . . . . . . . 4 1. Specification of requirements . . . . . . . . . . . . . . . . . 5
2. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. BGP MPLS Based E-VPN Overview . . . . . . . . . . . . . . . . . 4 5. BGP MPLS Based E-VPN Overview . . . . . . . . . . . . . . . . . 6
6. Ethernet Segment Identifier . . . . . . . . . . . . . . . . . . 6 6. Ethernet Segment . . . . . . . . . . . . . . . . . . . . . . . 7
7. BGP E-VPN NLRI . . . . . . . . . . . . . . . . . . . . . . . . 7 7. Ethernet Tag . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1. Ethernet Auto-Discovery Route . . . . . . . . . . . . . . . 8 7.1 VLAN Based Service Interface . . . . . . . . . . . . . . . . 9
7.2. MAC Advertisement Route . . . . . . . . . . . . . . . . . 8 7.2 VLAN Bundle Service Interface . . . . . . . . . . . . . . . 9
7.3. Inclusive Multicast Ethernet Tag Route . . . . . . . . . . 9 7.2.1 Port Based Service Interface . . . . . . . . . . . . . . 9
8. ESI MPLS Label Extended Community . . . . . . . . . . . . . . . 9 7.3 VLAN Aware Bundle Service Interface . . . . . . . . . . . . 9
9. Auto-Discovery . . . . . . . . . . . . . . . . . . . . . . . . 9 8. BGP E-VPN NLRI . . . . . . . . . . . . . . . . . . . . . . . . 10
10. Auto-Discovery of Ethernet Tags on Ethernet Segments . . . . . 10 8.1. Ethernet Auto-Discovery Route . . . . . . . . . . . . . . . 10
10.1. Constructing the Ethernet A-D Route . . . . . . . . . . . 10 8.2. MAC Advertisement Route . . . . . . . . . . . . . . . . . 11
10.1.1. Ethernet A-D Route per E-VPN . . . . . . . . . . . . . 11 8.3. Inclusive Multicast Ethernet Tag Route . . . . . . . . . . 11
10.1.1.1. Ethernet A-D Route Targets . . . . . . . . . . . . 12 8.4 Ethernet Segment Route . . . . . . . . . . . . . . . . . . . 12
10.1.2. Ethernet A-D Route per Ethernet Segment . . . . . . . 12 8.5 ESI MPLS Label Extended Community . . . . . . . . . . . . . 12
10.1.2.1. Ethernet A-D Route Targets . . . . . . . . . . . . 13 8.6 ES-Import Extended Community . . . . . . . . . . . . . . . . 13
10.2. Motivations for Ethernet A-D Route per Ethernet Segment . 13 8.7 MAC Mobility Extended Community . . . . . . . . . . . . . . 13
10.2.1. Multi-Homing . . . . . . . . . . . . . . . . . . . . . 14 9. Multi-homing Functions . . . . . . . . . . . . . . . . . . . . 13
10.2.2. Optimizing Control Plane Convergence . . . . . . . . . 14 9.1 Multi-homed Ethernet Segment Auto-Discovery . . . . . . . . 13
10.2.3. Reducing Number of Ethernet A-D Routes . . . . . . . . 14 9.1.1 Constructing the Ethernet Segment Route . . . . . . . . 14
11. Determining Reachability to Unicast MAC Addresses . . . . . . 14 9.2 Fast Convergence . . . . . . . . . . . . . . . . . . . . . . 14
11.1. Local Learning . . . . . . . . . . . . . . . . . . . . . . 15 9.2.1 Constructing the Ethernet A-D Route per Ethernet
11.2. Remote learning . . . . . . . . . . . . . . . . . . . . . 15 Segment . . . . . . . . . . . . . . . . . . . . . . . . 15
11.2.1. Constructing the BGP E-VPN MAC Address Advertisement . 15 9.2.1.1. Ethernet A-D Route Targets . . . . . . . . . . . . 15
12. Optimizing ARP . . . . . . . . . . . . . . . . . . . . . . . . 17 9.3 Split Horizon . . . . . . . . . . . . . . . . . . . . . . . 16
13. Designated Forwarder Election . . . . . . . . . . . . . . . . 18 9.3.1 ESI MPLS Label Assignment . . . . . . . . . . . . . . . 16
13.1. DF Election Performed by All MESes . . . . . . . . . . . . 19 9.3.1.1 Ingress Replication . . . . . . . . . . . . . . . . 16
13.2. DF Election Performed Only on Multi-Homed MESes . . . . . 20 9.3.1.2. P2MP MPLS LSPs . . . . . . . . . . . . . . . . . . 17
14. Handling of Multi-Destination Traffic . . . . . . . . . . . . 21 9.3.1.3. MP2MP LSPs . . . . . . . . . . . . . . . . . . . . 18
14.1. Construction of the Inclusive Multicast Ethernet Tag
Route . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.4 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . 18
14.2. P-Tunnel Identification . . . . . . . . . . . . . . . . . 22 9.4.1 Constructing the Ethernet A-D Route per EVI . . . . . . 18
14.3. Ethernet Segment Identifier and Ethernet Tag . . . . . . . 22 9.4.1.1 Ethernet A-D Route Targets . . . . . . . . . . . . . 19
15. Processing of Unknown Unicast Packets . . . . . . . . . . . . 23 9.5 Designated Forwarder Election . . . . . . . . . . . . . . . 20
15.1. Ingress Replication . . . . . . . . . . . . . . . . . . . 24 9.5.1 Default DF Election Procedure . . . . . . . . . . . . . 21
15.2. P2MP MPLS LSPs . . . . . . . . . . . . . . . . . . . . . . 24 9.5.2 DF Election with Service Carving . . . . . . . . . . . . 21
16. Forwarding Unicast Packets . . . . . . . . . . . . . . . . . . 24 10. Determining Reachability to Unicast MAC Addresses . . . . . . 22
16.1. Forwarding packets received from a CE . . . . . . . . . . 24 10.1. Local Learning . . . . . . . . . . . . . . . . . . . . . . 23
16.2. Forwarding packets received from a remote MES . . . . . . 25 10.2. Remote learning . . . . . . . . . . . . . . . . . . . . . 23
16.2.1. Unknown Unicast Forwarding . . . . . . . . . . . . . . 25 10.2.1. Constructing the BGP E-VPN MAC Address Advertisement . 23
16.2.2. Known Unicast Forwarding . . . . . . . . . . . . . . . 26 11. ARP and ND . . . . . . . . . . . . . . . . . . . . . . . . . . 25
17. Split Horizon . . . . . . . . . . . . . . . . . . . . . . . . 26 12. Handling of Multi-Destination Traffic . . . . . . . . . . . . 26
17.1. ESI MPLS Label: Ingress Replication . . . . . . . . . . . 26 12.1. Construction of the Inclusive Multicast Ethernet Tag
17.2. ESI MPLS Label: P2MP MPLS LSPs . . . . . . . . . . . . . . 27 Route . . . . . . . . . . . . . . . . . . . . . . . . . . 26
17.3. ESI MPLS Label: MP2MP LSPs . . . . . . . . . . . . . . . . 28 12.2. P-Tunnel Identification . . . . . . . . . . . . . . . . . 27
18. Load Balancing of Unicast Packets . . . . . . . . . . . . . . 28 13. Processing of Unknown Unicast Packets . . . . . . . . . . . . 28
18.1. Load balancing of traffic from an MES to remote CEs . . . 28 13.1. Ingress Replication . . . . . . . . . . . . . . . . . . . 28
18.2. Load balancing of traffic between an MES and a local CE . 30 13.2. P2MP MPLS LSPs . . . . . . . . . . . . . . . . . . . . . . 29
18.2.1. Data plane learning . . . . . . . . . . . . . . . . . 31 14. Forwarding Unicast Packets . . . . . . . . . . . . . . . . . . 29
18.2.2. Control plane learning . . . . . . . . . . . . . . . . 31 14.1. Forwarding packets received from a CE . . . . . . . . . . 29
19. MAC Moves . . . . . . . . . . . . . . . . . . . . . . . . . . 31 14.2. Forwarding packets received from a remote PE . . . . . . . 30
20. Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . 32 14.2.1. Unknown Unicast Forwarding . . . . . . . . . . . . . . 30
20.1. Ingress Replication . . . . . . . . . . . . . . . . . . . 32 14.2.2. Known Unicast Forwarding . . . . . . . . . . . . . . . 31
20.2. P2MP LSPs . . . . . . . . . . . . . . . . . . . . . . . . 32 15. Load Balancing of Unicast Frames . . . . . . . . . . . . . . . 31
20.3. MP2MP LSPs . . . . . . . . . . . . . . . . . . . . . . . . 32 15.1. Load balancing of traffic from an PE to remote CEs . . . . 31
20.3.1. Inclusive Trees . . . . . . . . . . . . . . . . . . . 33 15.1.1 Active-Standby Redundancy Mode . . . . . . . . . . . . 31
20.3.2. Selective Trees . . . . . . . . . . . . . . . . . . . 33 15.1.2 All-Active Redundancy Mode . . . . . . . . . . . . . . 32
20.4. Explicit Tracking . . . . . . . . . . . . . . . . . . . . 34 15.2. Load balancing of traffic between an PE and a local CE . . 33
21. Convergence . . . . . . . . . . . . . . . . . . . . . . . . . 34 15.2.1. Data plane learning . . . . . . . . . . . . . . . . . 34
21.1. Transit Link and Node Failures between MESes . . . . . . . 34 15.2.2. Control plane learning . . . . . . . . . . . . . . . . 34
21.2. MES Failures . . . . . . . . . . . . . . . . . . . . . . . 34 16. MAC Mobility . . . . . . . . . . . . . . . . . . . . . . . . . 34
21.2.1. Local Repair . . . . . . . . . . . . . . . . . . . . . 35 17. Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . 36
21.3. MES to CE Network Failures . . . . . . . . . . . . . . . . 35 17.1. Ingress Replication . . . . . . . . . . . . . . . . . . . 36
22. LACP State Synchronization . . . . . . . . . . . . . . . . . . 35 17.2. P2MP LSPs . . . . . . . . . . . . . . . . . . . . . . . . 36
23. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 36 17.3. MP2MP LSPs . . . . . . . . . . . . . . . . . . . . . . . . 36
24. References . . . . . . . . . . . . . . . . . . . . . . . . . . 37 17.3.1. Inclusive Trees . . . . . . . . . . . . . . . . . . . 36
25. Author's Address . . . . . . . . . . . . . . . . . . . . . . . 37 17.3.2. Selective Trees . . . . . . . . . . . . . . . . . . . 37
17.4. Explicit Tracking . . . . . . . . . . . . . . . . . . . . 38
18. Convergence . . . . . . . . . . . . . . . . . . . . . . . . . 38
18.1. Transit Link and Node Failures between PEs . . . . . . . . 38
18.2. PE Failures . . . . . . . . . . . . . . . . . . . . . . . 38
18.2.1. Local Repair . . . . . . . . . . . . . . . . . . . . . 38
18.3. PE to CE Network Failures . . . . . . . . . . . . . . . . 39
19. LACP State Synchronization . . . . . . . . . . . . . . . . . . 39
20. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 40
21. References . . . . . . . . . . . . . . . . . . . . . . . . . . 40
21. Author's Address . . . . . . . . . . . . . . . . . . . . . . . 41
1. Specification of requirements 1. 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].
2. Contributors 2. Contributors
In addition to the authors listed above, the following individuals In addition to the authors listed above, the following individuals
skipping to change at page 4, line 15 skipping to change at page 5, line 15
1. Specification of requirements 1. 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].
2. Contributors 2. Contributors
In addition to the authors listed above, the following individuals In addition to the authors listed above, the following individuals
also contributed to this document: also contributed to this document:
Quaizar Vohra Quaizar Vohra
Kireeti Kompella Kireeti Kompella
Apurva Mehta Apurva Mehta
Nadeem Mohammad
Juniper Networks Juniper Networks
Samer Salam Clarence Filsfils
Dennis Cai
Cisco Cisco
3. Introduction 3. Introduction
This document describes procedures for BGP MPLS based Ethernet VPNs This document describes procedures for BGP MPLS based Ethernet VPNs
(E-VPN). The procedures described here are intended to meet the (E-VPN). The procedures described here are intended to meet the
requirements specified in [E-VPN-REQ]. Please refer to [E-VPN-REQ] requirements specified in [E-VPN-REQ]. Please refer to [E-VPN-REQ]
for the detailed requirements and motivation. for the detailed requirements and motivation. E-VPN requires
extensions to existing IP/MPLS protocols as described in this
This document proposes an MPLS based technology, referred to as MPLS- document. In addition to these extensions E-VPN uses several building
based E-VPN (E-VPN). E-VPN requires extensions to existing IP/MPLS blocks from existing MPLS technologies.
protocols as described in this document. In addition to these
extensions E-VPN uses several building blocks from existing MPLS
technologies.
4. Terminology 4. Terminology
CE: Customer Edge device e.g., host or router or switch CE: Customer Edge device e.g., host or router or switch
MES: MPLS Edge Switch
EVI: E-VPN Instance E-VPN Instance (EVI): An E-VPN routing and forwarding instance on a
ESI: Ethernet segment identifier PE.
LACP: Link Aggregation Control Protocol
MP2MP: Multipoint to Multipoint Ethernet segment identifier (ESI): If a CE is multi-homed to two or
P2MP: Point to Multipoint more PEs, the set of Ethernet links that attaches the CE to the PEs
P2P: Point to Point is an 'Ethernet segment'. Ethernet segments MUST have a unique non-
zero identifier, the 'Ethernet Segment Identifier'.
Ethernet Tag: An Ethernet Tag identifies a particular broadcast
domain, e.g., a VLAN. An E-VPN instance consists of one or more
broadcast domains. Ethernet tag(s) are assigned to the broadcast
domains of a given E-VPN instance by the provider of that E-VPN, and
each PE in that E-VPN instance performs a mapping between broadcast
domain identifier(s) understood by each of its attached CEs and the
corresponding Ethernet tag.
Link Aggregation Control Protocol (LACP):
Multipoint to Multipoint (MP2MP):
Point to Multipoint (P2MP):
Point to Point (P2P):
5. BGP MPLS Based E-VPN Overview 5. BGP MPLS Based E-VPN Overview
This section provides an overview of E-VPN. This section provides an overview of E-VPN.
An E-VPN comprises CEs that are connected to PEs, or MPLS Edge An E-VPN comprises CEs that are connected to PEs that form the edge
Switches (MES), that form the edge of the MPLS infrastructure. A CE of the MPLS infrastructure. A CE may be a host, a router or a switch.
may be a host, a router or a switch. The MPLS Edge Switches provide The PEs provide virtual Layer 2 bridged connectivity between the CEs.
layer 2 virtual bridge connectivity between the CEs. There may be There may be multiple E-VPNs in the provider's network.
multiple E-VPNs in the provider's network. An E-VPN routing and
forwarding instance on an MES is referred to as an E-VPN Instance
(EVI).
The MESes maybe connected by an MPLS LSP infrastructure which The PEs may be connected by an MPLS LSP infrastructure which provides
provides the benefits of MPLS LSP technology such as fast-reroute, the benefits of MPLS technology such as fast-reroute, resiliency,
resiliency, etc. The MESes may also be connected by an IP etc. The PEs may also be connected by an IP infrastructure in which
infrastructure in which case IP/GRE tunneling is used between the case IP/GRE tunneling or other IP tunneling can be used between the
MESes. The detailed procedures in this version of this document are PEs. The detailed procedures in this version of this document are
specified only for MPLS LSPs as the tunneling technology. However specified only for MPLS LSPs as the tunneling technology. However
these procedures are designed to be extensible to IP/GRE as the these procedures are designed to be extensible to IP tunneling as the
tunneling technology. PSN tunneling technology.
In an E-VPN, MAC learning between MESes occurs not in the data plane In an E-VPN, MAC learning between PEs occurs not in the data plane
(as happens with traditional bridging) but in the control plane. (as happens with traditional bridging) but in the control plane.
Control plane learning offers greater control over the MAC learning Control plane learning offers greater control over the MAC learning
process, such as restricting who learns what, and the ability to process, such as restricting who learns what, and the ability to
apply policies. Furthermore, the control plane chosen for apply policies. Furthermore, the control plane chosen for
advertising MAC reachability information is multi-protocol (MP) BGP advertising MAC reachability information is multi-protocol (MP) BGP
(very similar to IP VPNs (RFC 4364)), providing greater scale, and (similar to IP VPNs (RFC 4364)). This provides greater scalability
the ability to preserve the "virtualization" or isolation of groups and the ability to preserve the "virtualization" or isolation of
of interacting agents (hosts, servers, Virtual Machines) from each groups of interacting agents (hosts, servers, virtual machines) from
other. In E-VPNs MESes advertise the MAC addresses learned from the each other. In E-VPN, 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
MESes in the control plane using MP-BGP. Control plane learning other PEs in the control plane using MP-BGP. Control plane learning
enables load balancing of traffic to and from CEs that are multi- enables load balancing of traffic to and from CEs that are multi-
homed to multiple MESes. This is in addition to load balancing across homed to multiple PEs. This is in addition to load balancing across
the MPLS core via multiple LSPs betwen the same pair of MESes. In the MPLS core via multiple LSPs between the same pair of PEs. In
other words it allows CEs to connect to multiple active points of other words it allows CEs to connect to multiple active points of
attachment. It also improves convergence times in the event of attachment. It also improves convergence times in the event of
certain network failures. certain network failures.
However, learning between MESes 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, LLDP, 802.1aq,
ARP, management plane or other protocols. 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 MES is populated with all the MAC destinations known to the control an PE is populated with all the MAC destination addresses known to
plane or whether the MES implements a cache based scheme. For the 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 MES. MAC destinations of the active flows transiting a specific PE.
The policy attributes of an E-VPN are very similar to those of an IP The policy attributes of E-VPN are very similar to those of IP-VPN.
VPN. An E-VPN instance requires a Route-Distinguisher (RD) and an E- An EVI requires a Route-Distinguisher (RD) and one or more Route-
VPN requires one or more Route-Targets (RTs). A CE attaches to an E- Targets (RTs). A CE attaches to an E-VPN instance (EVI) on an PE, on
VPN instance (EVI) on an MES, on an Ethernet interface which may be an Ethernet interface which may be configured for one or more
configured for one or more Ethernet Tags, e.g., VLANs. Some Ethernet Tags, e.g., VLANs. Some deployment scenarios guarantee
deployment scenarios guarantee uniqueness of VLANs across E-VPNs: all uniqueness of VLANs across E-VPNs: all points of attachment of a
points of attachment of a given E-VPN use the same VLAN, and no other given EVI use the same VLAN, and no other EVI uses this VLAN. This
E-VPN uses this VLAN. This document refers to this case as a "Unique document refers to this case as a "Unique VLAN E-VPN" and describes
Single VLAN E-VPN" and describes simplified procedures to optimize simplified procedures to optimize for it.
for it.
6. Ethernet Segment Identifier 6. Ethernet Segment
If a CE is multi-homed to two or more MESes, the set of Ethernet If a CE is multi-homed to two or more PEs, the set of Ethernet links
links constitutes an "Ethernet segment". An Ethernet segment may constitutes an "Ethernet Segment". An Ethernet segment may appear to
appear to the CE as a Link Aggregation Group (LAG). Ethernet the CE as a Link Aggregation Group (LAG). Ethernet segments have an
segments have an identifier, called the "Ethernet Segment Identifier" identifier, called the "Ethernet Segment Identifier" (ESI) which is
(ESI) which is encoded as a ten octets integer. A single-homed CE is encoded as a ten octets integer. A single-homed CE is considered to
considered to be attached to an Ethernet segment with ESI 0. be attached to an Ethernet segment with ESI 0. Otherwise, an Ethernet
Otherwise, an Ethernet segment MUST have a unique non-zero ESI. The segment MUST have a unique non-zero ESI. The ESI can be assigned
ESI can be assigned using various mechanisms: using various mechanisms:
1. The ESI may be configured. For instance when E-VPNs are used to 1. The ESI may be configured. For instance when E-VPNs are used to
provide a VPLS service the ESI is fairly analogous to the Multi- provide a VPLS service the ESI is fairly analogous to the Multi-
homing site ID in [BGP-VPLS-MH]. homing site ID in [BGP-VPLS-MH].
2. If IEEE 802.1AX LACP is used, between the MESes and CEs, then 2. If IEEE 802.1AX LACP is used between the PEs and CEs, then
the ESI is determined from LACP by concatenating the following the ESI is determined from LACP by concatenating the following
parameters: parameters:
+ CE LACP System Identifier comprised of two bytes of System + CE LACP System Identifier comprised of two octets of System
Priority and six bytes of System MAC address, where the System Priority and six octets of System MAC address, where the
Priority is encoded in the most significant two bytes. The CE System Priority is encoded in the most significant two octets.
LACP identifier MUST be encoded in the high order eight bytes The CE LACP identifier MUST be encoded in the high order eight
of the ESI. octets of the ESI.
+ CE LACP two byte Port Key. The CE LACP port key MUST be + CE LACP two octets Port Key. The CE LACP port key MUST be
encoded in the low order two bytes of the ESI encoded in the low order two octets of the ESI.
As far as the CE is concerned it would treat the multiple MESes As far as the CE is concerned, it would treat the multiple PEs
that it is connected to as the same switch. This allows the CE that it is connected to as the same switch. This allows the CE
to aggregate links that are attached to different MESes in the to aggregate links that are attached to different PEs in the
same bundle. same bundle.
3. If LLDP is used, between the MESes and CEs that are hosts, then 3. If LLDP is used between the PEs and CEs that are hosts, then
the ESI is determined by LLDP. The ESI will be specified in a the ESI is determined by LLDP. The ESI will be specified in a
following version. following version.
4. In the case of indirectly connected hosts via a bridged LAN 4. In the case of indirectly connected hosts via a bridged LAN
between the CEs and the MESes, the ESI is determined based on the between the CEs and the PEs, the ESI is determined based on the
Layer 2 bridge protocol as follows: If STP is used in the bridged Layer 2 bridge protocol as follows: If MST is used in the bridged
LAN then the value of the ESI is derived by listening to BPDUs on LAN then the value of the ESI is derived by listening to BPDUs on
the Ethernet segment. To achieve this the MES is not required to the Ethernet segment. To achieve this the PE is not required to
run STP. However the MES must learn the Switch ID, MSTP ID and run MST. However the PE must learn the Root Bridge MAC address
Root Bridge ID by listening to STP BPDUs. The ESI is constructed and Bridge Priority of the root of the Internal Spanning Tree
as follows: (IST) by listening to the BPDUs. The ESI is constructed as
follows:
{Switch ID (6 bits), MSTP ID (6 bits), Root Bridge ID (48 bits)} {Bridge Priority (16 bits) , Root Bridge MAC Address (48 bits)}
7. BGP E-VPN NLRI 7. Ethernet Tag
An Ethernet Tag identifies a particular broadcast domain, e.g. a
VLAN, in an EVI. An EVI consists of one or more broadcast domains.
Ethernet Tags are assigned to the broadcast domains of a given EVI by
the provider of the E-VPN service. Each PE, in a given EVI, performs
a mapping between the Ethernet Tag and the corresponding broadcast
domain identifier(s) understood by each of its attached CEs (e.g. CE
VLAN Identifiers or CE-VIDs).
If the broadcast domain identifiers(s) are understood consistently by
all of the CEs in an EVI, the broadcast domain identifier(s) MAY be
used as the corresponding Ethernet Tag(s). In other words, the
Ethernet Tag ID assigned by the provider is numerically equal to the
broadcast domain identifier (e.g., CE-VID = Ethernet Tag).
Further, some deployment scenarios guarantee uniqueness of broadcast
domain identifiers across all EVIs; all points of attachment of a
given EVI use the same broadcast domain identifier(s) and no other
EVI uses these broadcast domain identifier(s). This allows the RT(s)
for each EVI to be derived automatically, as described in section
9.4.1.1.1 "Auto-Derivation from the Ethernet Tag ID".
The following subsections discuss the relationship between Ethernet
Tags, EVIs and broadcast domain identifiers as well as the setting of
the Ethernet Tag Identifier, in the various E-VPN BGP routes (defined
in section 8), for the different types of service interfaces
described in [EVPN-REQ].
7.1 VLAN Based Service Interface
With this service interface, there is a one-to-one mapping between
the broadcast domain identifier understood by a CE on a port (e.g.
CE-VID) and an EVI. Furthermore, there is a single bridge domain per
PE for the EVI. Different CEs connected to different PE ports MAY use
different broadcast domain identifiers (e.g. CE-VIDs) for the same
EVI. If said identifiers are different, the frames SHOULD remain
tagged with the originating CE's broadcast domain identifier (e.g.
CE-VID). When the CE broadcast domain identifiers are not consistent,
a tag translation function MUST be supported in the data path and
MUST be performed on the disposition PE. The Ethernet Tag Identifier
in all E-VPN routes MUST be set to 0.
7.2 VLAN Bundle Service Interface
With this service interface, there is a many-to-one mapping between
the broadcast domain identifier understood by a CE on a port (e.g.
CE-VID) and an EVI. Furthermore, there is a single bridge domain per
PE for the EVI. Different CEs connected to different PE ports MUST
use the same broadcast domain identifiers (e.g. CE-VIDs) for the same
EVI. The MPLS encapsulated frames MUST remain tagged with the
originating CE's broadcast domain identifier (e.g. CE-VID). Tag
translation is NOT permitted. The Ethernet Tag Identifier in all E-
VPN routes MUST be set to 0.
7.2.1 Port Based Service Interface
This service interface is a special case of the VLAN Bundle service
interface, where all of the VLANs on the port are part of the same
service and map to the same bundle. The procedures are identical to
those described in section 7.2.
7.3 VLAN Aware Bundle Service Interface
With this service interface, there is a many-to-one mapping between
the broadcast domain identifier understood by a CE on a port (e.g.
CE-VID) and an EVI. Furthermore, there are multiple bridge domains
per PE for the EVI: one broadcast domain per CE broadcast domain
identifier. In the case where the CE broadcast domain identifiers are
not consistent for different CEs, a normalized Ethernet Tag MUST be
carried in the MPLS encapsulated frames and a tag translation
function MUST be supported in the data path. This translation MUST be
performed on both the imposition as well as the disposition PEs. The
Ethernet Tag Identifier in all E-VPN routes MUST be set to the
normalized Ethernet Tag assigned by the E-VPN provider.
8. BGP E-VPN NLRI
This document defines a new BGP NLRI, called the E-VPN NLRI. This document defines a new BGP NLRI, called the E-VPN NLRI.
Following is the format of the E-VPN NLRI: Following is the format of the E-VPN NLRI:
+-----------------------------------+ +-----------------------------------+
| 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 E-VPN NLRI The Route Type field defines encoding of the rest of the E-VPN NLRI
(Route Type specific E-VPN NLRI). (Route Type specific E-VPN 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 E-VPN NLRI. specific field of E-VPN 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 advertisement route + 2 - MAC advertisement route
+ 3 - Inclusive Multicast Route + 3 - Inclusive Multicast Route
+ 5 - Selective Multicast Auto-Discovery (A-D) Route + 4 - Ethernet Segment Route
+ 6 - Leaf Auto-Discovery (A-D) 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 E-VPN NLRI is carried in BGP [RFC4271] using BGP Multiprotocol The E-VPN NLRI is carried in BGP [RFC4271] using BGP Multiprotocol
Extensions [RFC4760] with an AFI of TBD and an SAFI of E-VPN (To be Extensions [RFC4760] with an AFI of TBD and an SAFI of E-VPN (To be
assigned by IANA). The NLRI field in the assigned by IANA). The NLRI field in the
MP_REACH_NLRI/MP_UNREACH_NLRI attribute contains the E-VPN NLRI MP_REACH_NLRI/MP_UNREACH_NLRI attribute contains the E-VPN NLRI
(encoded as specified above). (encoded as specified above).
In order for two BGP speakers to exchange labeled E-VPN NLRI, they In order for two BGP speakers to exchange labeled E-VPN NLRI, they
must use BGP Capabilities Advertisement to ensure that they both are must use BGP Capabilities Advertisement 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 TBD and an SAFI of E-VPN. AFI of TBD and an SAFI of E-VPN.
7.1. Ethernet Auto-Discovery Route 8.1. Ethernet Auto-Discovery Route
A Ethernet A-D route type specific E-VPN NLRI consists of the A Ethernet A-D route type specific E-VPN 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) |
+---------------------------------------+ +---------------------------------------+
| MPLS Label (3 octets) | | MPLS Label (3 octets) |
+---------------------------------------+ +---------------------------------------+
For procedures and usage of this route please see the sections on For procedures and usage of this route please see section 9.2 "Fast
"Auto-Discovery of Ethernet Tags on Ethernet Segments", "Designated Convergence" and section 9.4 "Aliasing".
Forwarder Election" and "Load Balancing".
7.2. MAC Advertisement Route 8.2. MAC Advertisement Route
A MAC advertisement route type specific E-VPN NLRI consists of the A MAC advertisement route type specific E-VPN 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) |
skipping to change at page 8, line 48 skipping to change at page 11, line 41
+---------------------------------------+ +---------------------------------------+
| MAC Address (6 octets) | | MAC Address (6 octets) |
+---------------------------------------+ +---------------------------------------+
| IP Address Length (1 octet) | | IP Address Length (1 octet) |
+---------------------------------------+ +---------------------------------------+
| IP Address (4 or 16 octets) | | IP Address (4 or 16 octets) |
+---------------------------------------+ +---------------------------------------+
| MPLS Label (n * 3 octets) | | MPLS Label (n * 3 octets) |
+---------------------------------------+ +---------------------------------------+
For procedures and usage of this route please see the sections on For procedures and usage of this route please see section 10
"Determining Reachability to Unicast MAC Addresses" and "Load "Determining Reachability to Unicast MAC Addresses" and section 15
Balancing of Unicast Packets". "Load Balancing of Unicast Packets".
7.3. Inclusive Multicast Ethernet Tag Route 8.3. Inclusive Multicast Ethernet Tag Route
An Inclusive Multicast Ethernet Tag route type specific E-VPN NLRI An Inclusive Multicast Ethernet Tag route type specific E-VPN NLRI
consists of the following: consists of the following:
+---------------------------------------+ +---------------------------------------+
| RD (8 octets) | | RD (8 octets) |
+---------------------------------------+ +---------------------------------------+
|Ethernet Segment Identifier (10 octets)|
+---------------------------------------+
| Ethernet Tag ID (4 octets) | | Ethernet Tag ID (4 octets) |
+---------------------------------------+ +---------------------------------------+
| IP Address Length (1 octet) |
+---------------------------------------+
| Originating Router's IP Addr | | Originating Router's IP Addr |
| (4 or 16 octets) | | (4 or 16 octets) |
+---------------------------------------+ +---------------------------------------+
For procedures and usage of this route please see the sections on For procedures and usage of this route please see section 12
"Handling of Multi-Destination Traffic", "Unknown Unicast Traffic" "Handling of Multi-Destination Traffic", section 13 "Processing of
and "Multicast". Unknown Unicast Traffic" and section 17 "Multicast".
8. ESI MPLS Label Extended Community 8.4 Ethernet Segment Route
The Ethernet Segment Route is encoded in the E-VPN NLRI using the
Route Type value of 4. The Route Type Specific field of the NLRI is
formatted as follows:
+---------------------------------------+
| RD (8 octets) |
+---------------------------------------+
|Ethernet Segment Identifier (10 octets)|
+---------------------------------------+
For procedures and usage of this route please see section 9.5
"Designated Forwarder Election".
8.5 ESI MPLS Label Extended Community
This extended community is a new transitive extended community. It This extended community is a new transitive extended community. It
may be advertised along with Ethernet Auto-Discovery routes. When may be advertised along with Ethernet Auto-Discovery routes and it
used it carries properties associated with the ESI. Specifically it enables split-horizon procedures for multi-homed sites as described
enables split horizon procedures for multi-homed sites. The in section 9.3 "Split Horizon".
procedures for using this Extended Community are described in
following sections.
Each ESI MPLS Label Extended Community is encoded as a 8-octet value Each ESI MPLS Label Extended Community is encoded as a 8-octet value
as 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x44 | Sub-Type | Flags (One Octet) |Reserved=0 | | 0x44 | Sub-Type | Flags (One Octet) |Reserved=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved = 0| ESI MPLS label | | Reserved = 0| ESI MPLS label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The low order bit of the flags octet is defined as the "Active- The low order bit of the flags octet is defined as the "Active-
Standby" bit and may be set to 1. The other bits must be set to 0. Standby" bit and may be set to 1. The other bits must be set to 0.
9. Auto-Discovery 8.6 ES-Import Extended Community
E-VPN requires the following types of auto-discovery procedures: This is a new transitive extended community carried with the Ethernet
+ E-VPN Auto-Discovery, which allows an MES to discover the other Segment route. When used, it enables all the PEs connected to the
MESes in the E-VPN. Each MES advertises one or more "Inclusive same multi-homed site to import the Ethernet Segment routes. The
Multicast Tag Routes". The procedures for advertising these value is derived automatically from the ESI by encoding the 6-byte
routes are described in the section on "Handling of Multi- MAC address portion of the ESI in the ES-Import Extended Community.
Destination Traffic". The format of this extended community is as follows:
+ Auto-Discovery of Ethernet Tags on Ethernet Segments, in a 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
particular E-VPN. The procedures are described in section +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
"Auto-Discovery of Ethernet Tags on Ethernet Segments". | 0x44 | Sub-Type | ES-Import |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ES-Import Cont'd |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ Ethernet Segment Auto-Discovery used for auto-discovery of MESes For procedures and usage of this attribute, please see section 9.1
that are multi-homed to the same Ethernet segment. The "Redundancy Group Discovery".
procedures are described in section "Auto-Discovery of Ethernet
Tags on Ethernet Segments".
10. Auto-Discovery of Ethernet Tags on Ethernet Segments 8.7 MAC Mobility Extended Community
If a CE is multi-homed to two or more MESes on a particular Ethernet This extended community is a new transitive extended community. It
segment, each MES MUST advertise, to other MESes in the E-VPN, the may be advertised along with MAC Advertisement routes. The procedures
information about the Ethernet Tags that are associated with that for using this Extended Community are described in section 16 "MAC
Ethernet segment. An Ethernet Tag identifies a particular broadcast Mobility".
domain. An example of an Ethernet Tag is a VLAN ID. The MES MAY
advertise each Ethernet Tag associated with the Ethernet Segment, or
it may advertise a wildcard to cover all the Ethernet Tags enabled on
the segment. If a CE is single-homed, then the MES that it is
attached to MAY advertise the information about Ethernet Tags
(e.g.,VLANs) on the Ethernet segment connected to the CE.
The information about an Ethernet Tag on a particular Ethernet The MAC Mobility Extended Community is encoded as a 8-octet value as
segment is advertised using an "Ethernet Auto-Discovery route follows:
(Ethernet A-D route)". This route is advertised using the E-VPN NLRI.
The Ethernet Tag Auto-discovery information SHOULD be used to enable 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
active-active load-balancing among MESes as described in section +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
"Load Balancing of Unicast Packets". In the case of a multi-homed CE | 0x44 | Sub-Type | Reserved=0 |
this route MUST also carry the "ESI Label Extended Community" to +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
enable split horizon as described in section "Split Horizon". Also, | Sequence Number |
the route can be used for Designated Forwarder (DF) election as +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
described in section "Designated Forwarder Election". Further,it MAY
be used to optimize the withdrawal of MAC addresses upon failure as
described in section "Convergence".
This section describes procedures for advertising one or more 9. Multi-homing Functions
Ethernet A-D routes per Ethernet tag per E-VPN. We will call this as
"Ethernet A-D route per E-VPN". This section also describes
procedures to advertise and withdraw a single Ethernet A-D route per
Ethernet Segment. We will call this as "Ethernet A-D route per
Segment".
10.1. Constructing the Ethernet A-D Route This section discusses the functions, procedures and associated BGP
The format of the Ethernet A-D NLRI is specified in section "BGP E- routes used to support multi-homing in E-VPN. This covers both multi-
VPN NLRI". homed device (MHD) as well as multi-homed network (MHN) scenarios.
10.1.1. Ethernet A-D Route per E-VPN 9.1 Multi-homed Ethernet Segment Auto-Discovery
PEs connected to the same Ethernet segment can automatically discover
each other with minimal to no configuration through the exchange of
the Ethernet Segment route.
9.1.1 Constructing the Ethernet Segment Route
The Route-Distinguisher (RD) MUST be a Type 1 RD [RFC4364]. The value
field comprises an IP address of the MES (typically, the loopback
address) followed by 0's.
The Ethernet Segment Identifier MUST be set to the ten octet ESI
identifier described in section 6.
The BGP advertisement that advertises the Ethernet Segment route MUST
also carry an ES-Import extended community attribute, as defined in
section 8.6.
The Ethernet Segment Route filtering MUST be done such that the
Ethernet Segment Route is imported only by the PEs that are multi-
homed to the same Ethernet Segment. To that end, each PE that is
connected to a particular Ethernet segment constructs an import
filtering rule to import a route that carries the ES-Import extended
community, constructed from the ESI.
Note that the new ES-Import extended community is not the same as the
Route Target Extended Community. The Ethernet Segment route carries
this new ES-Import extended community. The PEs apply filtering on
this new extended community. As a result the Ethernet Segment route
is imported only by the PEs that are connected to the same Ethernet
segment.
9.2 Fast Convergence
In E-VPN, MAC address reachability is learnt via the BGP control-
plane over the MPLS network. As such, in the absence of any fast
protection mechanism, the network convergence time is a function of
the number of MAC Advertisement routes that must be withdrawn by the
PE encountering a failure. For highly scaled environments, this
scheme yields slow convergence.
To alleviate this, E-VPN defines a mechanism to efficiently and
quickly signal, to remote PE nodes, the need to update their
forwarding tables upon the occurrence of a failure in connectivity to
an Ethernet segment. This is done by having each PE advertise an
Ethernet A-D Route per Ethernet segment for each locally attached
segment (refer to section 9.2.1 below for details on how this route
is constructed). Upon a failure in connectivity to the attached
segment, the PE withdraws the corresponding Ethernet A-D route. This
triggers all PEs that receive the withdrawal to update their next-hop
adjacencies for all MAC addresses associated with the Ethernet
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
simply invalidates the MAC entries for that segment. Otherwise, the
PE updates the next-hop adjacencies to point to the backup PE(s).
9.2.1 Constructing the Ethernet A-D Route per Ethernet Segment
This section describes procedures to construct the Ethernet A-D route This section describes procedures to construct the Ethernet A-D route
when one or more such routes are advertised by an MES for a given E- when a single such route is advertised by an PE for a given Ethernet
VPN instance. Segment. This flavor of the Ethernet A-D route is used for fast
convergence (as discussed above) as well as for advertising the ESI
MPLS label used for split-horizon filtering (as discussed in section
9.2). Support of this route flavor is MANDATORY.
Route-Distinguisher (RD) MUST be set to the RD of the E-VPN instance Route-Distinguisher (RD) MUST be a Type 1 RD [RFC4364]. The value
that is advertising the NLRI. A RD MUST be assigned for a given E-VPN field comprises an IP address of the PE (typically, the loopback
instance on an MES. This RD MUST be unique across all E-VPN instances address) followed by 0. The reason for such encoding is that the RD
on an MES. It is RECOMMENDED to use the Type 1 RD [RFC4364]. The cannot be that of a given EVI since the ESI can span across one or
value field comprises an IP address of the MES (typically, the more EVIs.
loopback address) followed by a number unique to the MES. This
number may be generated by the MES. Or in the Unique Single VLAN E-
VPN case, the low order 12 bits may be the 12 bit VLAN ID, with the
remaining high order 4 bits set to 0.
Ethernet Segment Identifier MAY be set to 0. When it is not zero the The Ethernet Segment Identifier MUST be a ten octet entity as
Ethernet Segment Identifier MUST be a ten octet entity as described described in section "Ethernet Segment". This document does not
in section "Ethernet Segment Identifier". specify the use of the Ethernet A-D route when the Segment Identifier
is set to 0.
The Ethernet Tag ID MUST be set to 0.
The MPLS label in the NLRI MUST be set to 0.
The "ESI MPLS Label Extended Community" MUST be included in the
route. If all-active multi-homing is desired, then the "Active-
Standby" bit in the flags of the ESI MPLS Label Extended Community
MUST be set to 0 and 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 as an "ESI label". This label MUST be a
downstream assigned MPLS label if the advertising PE is using ingress
replication for receiving multicast, broadcast or unknown unicast
traffic from other PEs. If the advertising PE is using P2MP MPLS LSPs
for sending multicast, broadcast or unknown unicast traffic, then
this label MUST be an upstream assigned MPLS label. The usage of this
label is described in section 9.2.
If the Ethernet Segment is connected to more than one PE and active-
standby multi-homing is desired, then the "Active-Standby" bit in the
flags of the ESI MPLS Label Extended Community MUST be set to 1.
9.2.1.1. Ethernet A-D Route Targets
The Ethernet A-D route MUST carry one or more Route Target (RT)
attributes. These RTs MUST be the set of RTs associated with all the
EVIs to which the Ethernet Segment, corresponding to the Ethernet A-D
route, belongs.
9.3 Split Horizon
Consider a CE that is multi-homed to two or more PEs on an Ethernet
segment ES1. If the CE sends a multicast, broadcast or unknown
unicast packet to a particular PE, say PE1, then PE1 will forward
that packet to all or subset of the other PEs in the EVI. In this
case the PEs, other than PE1, that the CE is multi-homed to MUST drop
the packet and not forward back to the CE. This is referred to as
"split horizon" filtering in this document.
In order to achieve this split horizon function, every multicast,
broadcast or unknown unicast packet is encapsulated with an MPLS
label that identifies the Ethernet segment of origin (i.e. the
segment from which the frame entered the E-VPN network). This label
is referred to as the ESI MPLS label, and is distributed using the
"Ethernet A-D route per Ethernet Segment" as per the procedures in
section 9.1.1 above. This route is imported by the PEs connected to
the Ethernet Segment and also by the PEs that have at least one EVI
in common with the Ethernet Segment in the route. As described in
section 9.1.1, the route MUST carry an ESI MPLS Label Extended
Community with a valid ESI MPLS label. The disposition PEs rely on
the value of the ESI MPLS label to determine whether or not a flooded
frame is allowed to egress a specific Ethernet segment.
9.3.1 ESI MPLS Label Assignment
The following subsections describe the assignment procedures for the
ESI MPLS label, which differ depending on the type of tunnels being
used to deliver multi-destination packets in the E-VPN network.
9.3.1.1 Ingress Replication
An PE that is using ingress replication for sending broadcast,
multicast or unknown unicast traffic, distributes to other PEs, that
belong to the Ethernet segment, a downstream assigned "ESI MPLS
label" in the Ethernet A-D route. This label MUST be programmed in
the platform label space by the advertising PE. Further the
forwarding entry for this label must result in NOT forwarding packets
received with this label onto the Ethernet segment that the label was
distributed for.
Consider PE1 and PE2 that are multi-homed to CE1 on ES1. Further
consider that PE1 is using P2P or MP2P LSPs to send packets to PE2.
Consider that PE1 receives a multicast, broadcast or unknown unicast
packet from CE1 on VLAN1 on ESI1. In this scenario, PE2 distributes
an Inclusive Multicast Ethernet Tag route for VLAN1 in the associated
EVI. So, when PE1 sends a multicast, broadcast or unknown unicast
packet, that it receives from CE1, it MUST first push onto the MPLS
label stack the ESI label that PE2 has distributed for ESI1. It MUST
then push on the MPLS label distributed by PE2 in the Inclusive
Multicast Ethernet Tag route for VLAN1. The resulting packet is
further encapsulated in the P2P or MP2P LSP label stack required to
transmit the packet to PE2. When PE2 receives this packet it
determines the set of ESIs to replicate the packet to from the top
MPLS label, after any P2P or MP2P LSP labels have been removed. If
the next label is the ESI label assigned by PE2 for ESI1, then PE2
MUST NOT forward the packet onto ESI1.
9.3.1.2. P2MP MPLS LSPs
An PE that is using P2MP LSPs for sending broadcast, multicast or
unknown unicast traffic, distributes to other PEs, that belong to the
Ethernet segment or have an E-VPN in common with the Ethernet
Segment, an upstream assigned "ESI MPLS label" in the Ethernet A-D
route. This label is upstream assigned by the PE that 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 label
space for the advertising PE. Further the forwarding entry for this
label must result in NOT forwarding packets received with this label
onto the Ethernet segment that the label was distributed for. This
label MUST also be programmed by the other PEs, that import the route
but are not connected to the ESI advertised in the route, in the
context label space for the advertising PE. Further the forwarding
entry for this label must be a POP with no other associated action.
Consider PE1 and PE2 that are multi-homed to CE1 on ES1. Also
consider PE3 that is in the same EVI as one of the EVIs to which ES1
belongs. Further, assume that PE1 is using P2MP MPLS LSPs to send
broadcast, multicast or uknown unicast packets. When PE1 sends a
multicast, broadcast or unknown unicast packet, that it receives from
CE1, it MUST first push onto the MPLS label stack the ESI label that
it has assigned for the ESI that the packet was received on. The
resulting packet is further encapsulated in the P2MP MPLS label stack
necessary to transmit the packet to the other PEs. Penultimate hop
popping MUST be disabled on the P2MP LSPs used in the MPLS transport
infrastructure for E-VPN. When PE2 receives this packet, it de-
capsulates the top MPLS label and forwards the packet using the
context label space determined by the top label. If the next label is
the ESI label assigned by PE1 to ESI1, then PE2 MUST NOT forward the
packet onto ESI1. When PE3 receives this packet, it de-capsulates the
top MPLS label and forwards the packet using the context label space
determined by the top label. If the next label is the ESI label
assigned by PE1 to ESI1 and PE3 is not connected to ESI1, then PE3
MUST pop the label and flood the packet over all local ESIs in the
EVI.
9.3.1.3. MP2MP LSPs
The procedures for ESI MPLS Label assignment and usage for MP2MP LSPs
will be described in a future version.
9.4 Aliasing
In the case where a CE is multi-homed to multiple PE nodes, using a
LAG with all-active redundancy, it is possible that only a single PE
learns a set of the MAC addresses associated with traffic transmitted
by the CE. This leads to a situation where remote PE nodes receive
MAC advertisement routes, for these addresses, from a single PE even
though multiple PEs are connected to the multi-homed segment. As a
result, the remote PEs are not able to effectively load-balance
traffic among the PE nodes connected to the multi-homed Ethernet
segment. This could be the case, for e.g. when the PEs perform data-
path learning on the access, and the load-balancing function on the
CE hashes traffic from a given source MAC address to a single PE.
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 alleviate this issue, E-VPN introduces the concept of 'Aliasing'.
Aliasing refers to the ability of an PE to signal that it has
reachability to a given locally attached Ethernet segment, even when
it has learnt no MAC addresses from that segment. The Ethernet A-D
route per EVI is used to that end. Remote PEs which receive MAC
advertisement routes with non-zero ESI SHOULD consider the advertised
MAC address as reachable via all PEs which have advertised
reachability to the relevant Segment using Ethernet A-D routes with
the same ESI (and Ethernet Tag if applicable).
9.4.1 Constructing the Ethernet A-D Route per EVI
This section describes procedures to construct the Ethernet A-D route
when one or more such routes are advertised by an PE for a given EVI.
This flavor of the Ethernet A-D route is used for aliasing, and
support of this route flavor is OPTIONAL.
Route-Distinguisher (RD) MUST be set to the RD of the EVI that is
advertising the NLRI. An RD MUST be assigned for a given EVI on an
PE. This RD MUST be unique across all EVIs on an PE. It is
RECOMMENDED to use the Type 1 RD [RFC4364]. The value field comprises
an IP address of the PE (typically, the loopback address) followed by
a number unique to the PE. This number may be generated by the PE.
Or in the Unique VLAN E-VPN case, the low order 12 bits may be the 12
bit VLAN ID, with the remaining high order 4 bits set to 0.
The Ethernet Segment Identifier MUST be a ten octet entity as
described in section "Ethernet Segment Identifier". This document
does not specify the use of the Ethernet A-D route 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 20
bits are set to 0. Or it may be another Ethernet Tag used by the E- bits are set to 0. Or it may be another Ethernet Tag used by the E-
VPN. It MAY be set to the default Ethernet Tag on the Ethernet VPN. It MAY be set to the default Ethernet Tag on the Ethernet
segment or 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 for a given <ESI, Ethernet Tag ID> tuple
per E-VPN per EVI. This is applicable when the PE uses MPLS-based
disposition.
+ One Ethernet A-D route for a given <Ethernet Tag ID> in a given
E-VPN, for all associated Ethernet segments, where the ESI is
set to 0.
+ One Ethernet A-D route for the E-VPN where both ESI and Ethernet + One Ethernet A-D route per <ESI, EVI> (where the Ethernet
Tag ID are set to 0. Tag ID is set to 0). This is applicable when the PE uses
MAC-based disposition, or when the PE uses MPLS-based
disposition when no VLAN translation is required.
E-VPN supports both the non-qualified and qualified learning models. The usage of the MPLS label is described in the section on "Load
When non-qualified learning is used, the Ethernet Tag Identifier Balancing of Unicast Packets".
specified in this section and in other places in this document MUST
be set to the default Ethernet Tag, e.g., VLAN ID. When qualified
learning is used, and the Ethernet Tags between MESes and CEs in the
E-VPN are consistently assigned for a given broadcast domain, the
Ethernet Tag Identifier MUST be set to the Ethernet Tag, e.g., VLAN
ID for the concerned broadcast domain between the advertising MES and
the CE. When qualified learning is used, and the Ethernet Tags,
e.g., VLAN IDs between MESes and CEs in the E-VPN are not
consistently assigned for a given broadcast domain, the Ethernet Tag
Identifier, e.g., VLAN ID MUST be set to a common E-VPN provider
assigned tag that maps locally on the advertising MES to an Ethernet
broadcast domain identifier such as a VLAN ID. The usage of the MPLS
label is described in section on "Load 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 MES. be set to the IPv4 or IPv6 address of the advertising PE.
10.1.1.1. Ethernet A-D Route Targets 9.4.1.1 Ethernet A-D Route Targets
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. RTs may be configured (as in IP VPNs), or may be derived attributes. RTs may be configured (as in IP VPNs), or may be derived
automatically. automatically.
If an MES uses Route Target Constrain [RT-CONSTRAIN], the MES SHOULD If an PE uses Route Target Constrain [RT-CONSTRAIN], the PE SHOULD
advertise all such RTs using Route Target Constrains. The use of RT advertise all such RTs using Route Target Constrains. The use of RT
Constrains allows each Ethernet A-D route to reach only those MESes Constrains allows each Ethernet A-D route to reach only those PEs
that are configured to import at least one RT from the set of RTs that are configured to import at least one RT from the set of RTs
carried in the Ethernet A-D route. carried in the Ethernet A-D route.
10.1.1.1.1. Auto-Derivation from the Ethernet Tag ID 9.4.1.1.1 Auto-Derivation from the Ethernet Tag ID
The following is the procedure for deriving the RT attribute The following is the procedure for deriving the RT attribute
automatically from the Ethernet Tag ID associated with the automatically from the Ethernet Tag ID associated with the
advertisement: advertisement:
+ The Global Administrator field of the RT MUST + The Global Administrator field of the RT MUST
be set to the Autonomous System (AS) number that the MES be set to the Autonomous System (AS) number that the PE
belongs to. belongs to.
+ The Local Administrator field of the RT contains a 4 + The Local Administrator field of the RT contains a 4
octets long number that encodes the Ethernet Tag-ID. If the octets long number that encodes the Ethernet Tag-ID. If the
Ethernet Tag-ID is a two octet VLAN ID then it MUST be Ethernet Tag-ID is a two octet VLAN ID then it MUST be
encoded in the lower two octets of the Local Administrator encoded in the lower two octets of the Local Administrator
field and the higher two octets MUST be set to zero. field and the higher two octets MUST be set to zero.
For the "Unique Single VLAN E-VPN" this results in auto-deriving the For the "Unique VLAN E-VPN" this results in auto-deriving the RT from
RT from the Ethernet Tag, e.g., VLAN ID for that E-VPN. the Ethernet Tag, e.g., VLAN ID for that E-VPN.
10.1.2. Ethernet A-D Route per Ethernet Segment 9.5 Designated Forwarder Election
This section describes procedures to construct the Ethernet A-D route Consider a CE that is a host or a router that is multi-homed directly
when a single such route is advertised by an MES for a given Ethernet to more than one PE in an E-VPN on a given Ethernet segment. One or
Segment. more Ethernet Tags may be configured on the Ethernet segment. In this
scenario only one of the PEs, referred to as the Designated Forwarder
(DF), is responsible for certain actions:
Route-Distinguisher (RD) MUST be a Type 1 RD [RFC4364]. The value - Sending multicast and broadcast traffic, on a given Ethernet
field comprises an IP address of the MES (typically, the loopback Tag on a particular Ethernet segment, to the CE.
address) followed by 0. The reason for such encoding is that the RD
cannot be that of a given E-VPN since the ESI can span across one or
more E-VPNs.
Ethernet Segment Identifier MUST be a non-zero ten octet entity as - Flooding unknown unicast traffic (i.e. traffic for
described in section "Ethernet Segment Identifier". which an PE does not know the destination MAC address),
on a given Ethernet Tag on a particular Ethernet segment
to the CE, if the environment requires flooding of
unknown unicast traffic.
Note that this behavior, which allows selecting a DF at the
granularity of <ESI, EVI> for multicast, broadcast and unknown
unicast traffic, is the default behavior in this specification.
Optional mechanisms, which will be specified in the future, will
allow selecting a DF at the granularity of <ESI, EVI, S, G>.
The Ethernet Tag ID MUST be set to 0. Note that a CE always sends packets belonging to a specific flow
using a single link towards an PE. For instance, if the CE is a host
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
employs a local hashing function to map traffic flows onto links in
the LAG.
If the Ethernet Segment is connected to more than one MES then the If a bridged network is multi-homed to more than one PE in an E-VPN
"ESI MPLS Label Extended Community" MUST be included in the route. If via switches, then the support of all-active points of attachments,
the Ethernet Segment is connected to more than one MES and active- as described in this specification, requires the bridge network to be
active multi-homing is desired then the MPLS label in the ESI MPLS connected to two or more PEs using a LAG. In this case the reasons
Label Extended Community MUST be set to a valid MPLS label value. The for doing DF election are the same as those described above when a CE
MPLS label in this Extended Community is referred to as an "ESI is a host or a router.
label". This label MUST be a downstream assigned MPLS label if the
advertising MES is using ingress replication for receiving multicast,
broadcast or unknown unicast traffic, from other MESes. If the
advertising MES is using P2MP MPLS LSPs for sending multicast,
broadcast or unknown unicast traffic, then this label MUST be an
upstream assigned MPLS label. The usage of this label is described in
section "Split Horizon".
If the Ethernet Segment is connected to more than one MES and active- If a bridged network does not connect to the PEs using LAG, then only
standby multi-homing is desired then the "Active-Standby" bit in the one of the links between the switched bridged network and the PEs
flags of the ESI MPLS Label Extended Community MUST be set to 1. must be the active link for a given Ethernet Tag. In this case, the
Ethernet A-D route per Ethernet segment MUST be advertised with the
"Active-Standby" flag set to one. Procedures for supporting all-
active points of attachments, when a bridge network connects to the
PEs using LAG, are for further study.
If the per Ethernet Segment Ethernet A-D route is used in conjunction The granularity of the DF election MUST be at least the Ethernet
with the per {ESI, VLAN} Ethernet A-D route, for reasons described segment via which the CE is multi-homed to the PEs. If the DF
below, then the MPLS label in the NLRI MUST be set to 0. election is done at the Ethernet segment granularity then a single PE
MUST be elected as the DF on the Ethernet segment.
10.1.2.1. Ethernet A-D Route Targets If there are one or more EVIs enabled on the Ethernet segment, then
the granularity of the DF election SHOULD be the combination of the
Ethernet segment and EVI on that Ethernet segment. In this case a
single PE MUST be elected as the DF for a particular EVI on that
Ethernet segment.
The Ethernet A-D route MUST carry one or more Route Target (RT) The detailed procedures for DF election are described next.
attributes. These RTs MUST be the set of RTs associated with all the
E-VPN instances to which the Ethernet Segment, corresponding to the
Ethernet A-D route, belongs.
10.2. Motivations for Ethernet A-D Route per Ethernet Segment 9.5.1 Default DF Election Procedure
This section describes various scenarios in which the Ethernet A-D As a PE discovers the other PEs that are connected to the same
route should be advertised per Ethernet Segment. Ethernet Segment, using the Ethernet Segment routes, it starts
building an ordered list based on the originating PE IP addresses.
This list is used to select a DF and a backup DF (BDF) on a per
Ethernet Segment basis. By default, the PE with the numerically
highest IP address is considered the DF for that Ethernet Segment and
the next PE in the list is considered the BDF.
10.2.1. Multi-Homing If the Ethernet Segment is a multi-homed device, then the elected DF
is the only PE that must forward flooded multi-destination packets
towards the segment. All other PE nodes must not permit multi-
destination packets to egress to the segment. In the case where the
DF fails, the BDF takes over its functionality.
The per Ethernet Segment Ethernet A-D route MUST be advertised when This procedure enables the election of a single DF per Ethernet
the Ethernet Segment is multi-homed. This allows Multi-Homed Ethernet Segment, for all EVIs enabled on the segment. It is possible to
Segment Auto-Discovery. It allows the set of MESes connected to the achieve more granular load-balancing of traffic among the PE nodes by
same customer site i.e., CE, to discover each other automatically employing Service Carving, as discussed in the next section.
with minimal to no configuration. It also allows other MESes that
have at least one E-VPN in common with the multi-homed Ethernet
Segment to discover the properties of the multi-homed Ethernet
Segment.
For active-active multi-homing this route is required for split 9.5.2 DF Election with Service Carving
horizon procedures as described in section "Split Horizon" and MUST With service carving, it is possible to elect multiple DFs per
carry the ESI MPLS Label Extended Community with a valid ESI MPLS Ethernet Segment (one per EVI) in order to perform load-balancing of
label. For active-standby multi-homing this route is required to multi-destination traffic destined to a given Segment. The load-
indicate that active-standby multi-homing and not active-active balancing procedures carve up the EVI space among the PE nodes
multi-homing is desired. evenly, in such a way that every PE is the DF for a disjoint set of
EVIs. The procedure for service carving is as follows:
This route will be enhanced to carry LAG specific information such as 1. When a PE discovers the ESI of the attached Ethernet Segment, it
LACP parameters, which will be encoded as new BGP attributes or advertises an Ethernet Segment route with the associated ES-Import
communities, in the future. Note that this information will be extended community attribute.
propagated to all MESes that have one or more sites in the VLANs
connected to the Ethernet Segment. All the MESes other than the ones
that are connected to the MESes will discard this information.
10.2.2. Optimizing Control Plane Convergence 2. The PE then starts a timer to allow the reception of Ethernet
Segment routes from other PE nodes connected to the same Ethernet
Segment.
Ethernet A-D route per Ethernet Segment should be advertised when it 3. When the timer expires, each PE builds an ordered list of the IP
is desired to optimize the control plane convergence of the addresses of all the PE nodes connected to the Ethernet Segment
withdrawal of the Ethernet A-D routes. If this is done then when an (including itself), in increasing numeric value. Every PE is then
Ethernet segment fails, the single Ethernet A-D route corresponding given an ordinal indicating its position in the ordered list,
to the segment can be withdrawn first. This allows all MESes that starting with 0 as the ordinal for the PE with the numerically lowest
receive this withdrawal to invalidate the MAC routes learned from the IP address. The ordinals are used to determine which PE node will be
Ethernet segment. the DF for a given EVI on the Ethernet Segment using the following
rule: Assuming a redundancy group of N PE nodes, the PE with ordinal
i is the DF for EVI V when (V mod N) = i.
Note that the Ethernet A-D route per Ethernet Segment, when used to The above procedure results in the entire EVI range being divided up
optimize control plane convergence, MAY be advertised in addition to among the PEs in the RG, regardless of whether a given EVI is
the Ethernet Tag A-D routes per E-VPN or MAY be advertised on its configured/enabled on the associated Ethernet Segment or not.
own.
10.2.3. Reducing Number of Ethernet A-D Routes 4. The PE that is elected as a DF for a given EVI will unblock
traffic for that EVI only if the EVI is configured/enabled on the
Segment. Note that the DF PE unblocks multi-destination traffic in
the egress direction towards the Segment. All non-DF PEs continue to
drop multi-destination traffic (for the associated EVIs) in the
egress direction towards the Segment.
In certain scenarios advertising Ethernet A-D routes per Ethernet In the case of link or port failure, the affected PE withdraws its
segment, instead of per E-VPN, may reduce the number of Ethernet A-D Ethernet Segment route. This will re-trigger the service carving
routes in the network. In these scenarios Ethernet A-D routes may be procedures on all the PEs in the RG. For PE node failure, or upon PE
advertised per Ethernet segment instead of per E-VPN. commissioning or decommissioning, the PEs re-trigger the service
carving. When a service moves from one PE in the RG to another PE as
a result of re-carving, the PE, which ends up being the elected DF
for the service, must trigger a MAC address flush notification
towards the associated Ethernet Segment. This can be done, for e.g.
using IEEE 802.1ak MVRP 'new' declaration.
11. Determining Reachability to Unicast MAC Addresses 10. Determining Reachability to Unicast MAC Addresses
MESes 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 MESes 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":
11.1. Local Learning 10.1. Local Learning
A particular MES 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 MESes in a particular E-VPN MUST support local data plane The PEs in a particular E-VPN MUST support local data plane learning
learning using standard IEEE Ethernet learning procedures. An MES using standard IEEE Ethernet learning procedures. An PE must be
must be capable of learning MAC addresses in the data plane when it capable of learning MAC addresses in the data plane when it receives
receives packets such as the following from the CE network: packets such as the following from the CE network:
- DHCP requests - DHCP requests
- gratuitous ARP request for its own MAC. - ARP request for its own MAC.
- ARP request for a peer. - ARP request for a peer.
Alternatively MESes 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 MESes control plane or via management plane integration between the PEs and
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 MES 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 the same MES or another MES on such that it becomes reachable via the same PE or another PE on
another Segment (e.g. with ESI Y). This is referred to as a "MAC another Segment (e.g. with ESI Y). This is referred to as a "MAC
Move". Procedures to support this are described in section "MAC Mobility". Procedures to support this are described in section "MAC
Moves". Mobility".
11.2. Remote learning 10.2. Remote learning
A particular MES 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 MESes 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 as "remote" MAC addresses. addresses as "remote" MAC addresses.
This document requires an MES to learn remote MAC addresses in the This document requires an PE to learn remote MAC addresses in the
control plane. In order to achieve this each MES 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 MESes in the E-VPN, using MP-BGP and the MAC plane, to all the other PEs in the EVI, using MP-BGP and specifically
address advertisement route. the MAC Advertisement route.
11.2.1. Constructing the BGP E-VPN MAC Address Advertisement 10.2.1. Constructing the BGP E-VPN MAC Address Advertisement
BGP is extended to advertise these MAC addresses using the MAC BGP is extended to advertise these MAC addresses using the MAC
advertisement route type in the E-VPN-NLRI. Advertisement route type in the E-VPN NLRI.
The RD MUST be the RD of the E-VPN instance that is advertising the The RD MUST be the RD of the EVI that is advertising the NLRI. The
NLRI. The procedures for setting the RD for a given E-VPN are procedures for setting the RD for a given EVI are described in
described in section "Ethernet A-D Route per E-VPN". section 9.4.1.
The Ethernet Segment Identifier is set to the ten octet ESI The Ethernet Segment Identifier is set to the ten octet ESI described
identifier described in section "Ethernet Segment Identifier". in section "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 Tag
ID. This field may be non-zero when there are multiple bridge ID. This field may be non-zero when there are multiple bridge
domains in the E-VPN instance (e.g., the MES needs to perform domains in the EVI (e.g., the PE needs to perform qualified learning
qualified learning for the VLANs in that EVPN instance). for the VLANs in that EVI).
When the the Ethernet Tag ID in the NLRI is set to a non-zero value, When the the Ethernet Tag ID in the NLRI is set to a non-zero value,
for a particular bridge domain, then this Ethernet Tag may either be for a particular bridge domain, then this Ethernet Tag may either be
the Ethernet tag value associated with the CE, e.g., VLAN ID, or it the Ethernet tag value associated with the CE, e.g., VLAN ID, or it
may be the Ethernet Tag Identifier, e.g., VLAN ID assigned by the E- may be the Ethernet Tag Identifier, e.g., VLAN ID assigned by the E-
VPN provider and mapped to the CE's Ethernet tag. The latter would be VPN provider and mapped to the CE's Ethernet tag. The latter would be
the case if the CE Ethernet tags, e.g., VLAN ID, for a particular the case if the CE Ethernet tags, e.g., VLAN ID, for a particular
bridge domain are different on different CEs. bridge domain are different on different CEs.
The MAC address length field is typically set to 48. However this The MAC address length field is typically set to 48. However this
specification enables specifying the MAC address as a prefix in which specification enables specifying the MAC address as a prefix; in
case the MAC address length field is set to the length of the prefix. which case, the MAC address length field is set to the length of the
This provides the ability to aggregate MAC addresses if the prefix. This provides the ability to aggregate MAC addresses if the
deployment environment supports that. The encoding of a MAC address deployment environment supports that. The encoding of a MAC address
MUST be the 6-octet MAC address specified by IEEE 802 documents MUST be the 6-octet MAC address specified by [802.1D-ORIG] [802.1D-
[802.1D-ORIG] [802.1D-REV]. If the MAC address is advertised as a REV]. If the MAC address is advertised as a prefix then the trailing
prefix then the trailing bits of the prefix MUST be set to 0 to bits of the prefix MUST be set to 0 to ensure that the entire prefix
ensure that the entire prefix is encoded as 6 octets. is encoded as 6 octets.
The MPLS Label Length field value is set to the number of octets in The IP Address Length field value is set to the number of octets in
the MPLS Label field. The MPLS label field carries one or more labels the IP Address field.
(that corresponds to the stack of labels [MPLS-ENCAPS]). Each label
is encoded as 3 octets, where the high-order 20 bits contain the
label value, and the low order bit contains "Bottom of Stack" (as
defined in [MPLS-ENCAPS]).
The MPLS label stack MUST be the downstream assigned E-VPN MPLS label The IP Address field is optional. By default, the IP Address Length
stack that is used by the MES to forward MPLS encapsulated Ethernet field is set to 0 and the IP address field is omitted from the route.
packets received from remote MESes, where the destination MAC address When a valid IP address is included, it is encoded as specified in
in the Ethernet packet is the MAC address advertised in the above section 12.
NLRI. The forwarding procedures are specified in section "Forwarding
Unicast Packets" and "Load Balancing of Unicast Packets".
An MES may advertise the same single E-VPN label for all MAC The MPLS label field carries one or more labels (that corresponds to
addresses in a given E-VPN instance. This label assignment the stack of labels [MPLS-ENCAPS]). Each label is encoded as 3
methodology is referred to as a per EVI label assigment. octets, where the high-order 20 bits contain the label value, and the
Alternatively an MES may advertise a unique E-VPN label per <ESI, low order bit contains "Bottom of Stack" (as defined in [MPLS-
Ethernet Tag> combination. This label assignment methodology is ENCAPS]). The MPLS label stack MUST be the downstream assigned E-VPN
referred to as a per <ESI, Ethernet Tag> label assignment. Or an MES MPLS label stack that is used by the PE to forward MPLS-encapsulated
may advertise a unique E-VPN label per MAC address. All of these Ethernet frames received from remote PEs, where the destination MAC
methodologies have their tradeoffs. address in the Ethernet frame is the MAC address advertised in the
above NLRI. The forwarding procedures are specified in section
"Forwarding Unicast Packets" and "Load Balancing of Unicast Packets".
An PE may advertise the same single E-VPN label for all MAC addresses
in a given EVI. This label assignment methodology is referred to as a
per EVI label assignment. Alternatively, an PE may advertise a unique
E-VPN label per <ESI, Ethernet Tag> combination. This label
assignment methodology is referred to as a per <ESI, Ethernet Tag>
label assignment. As a third option, an PE may advertise a unique E-
VPN label per MAC address. All of these methodologies have their
tradeoffs.
Per EVI label assignment requires the least number of E-VPN labels, Per EVI label assignment requires the least number of E-VPN labels,
but requires a MAC lookup in addition to an MPLS lookup on an egress but requires a MAC lookup in addition to an MPLS lookup on an egress
MES for forwarding. On the other hand a unique label per <ESI, PE for forwarding. On the other hand, a unique label per <ESI,
Ethernet Tag> or a unique label per MAC allows an egress MES to Ethernet Tag> or a unique label per MAC allows an egress PE to
forward a packet that it receives from another MES, to the connected forward a packet that it receives from another PE, to the connected
CE, after looking up only the MPLS labels and not having to do a MAC CE, after looking up only the MPLS labels without having to perform a
lookup. MAC lookup. This includes the capability to perform appropriate VLAN
ID translation on egress to the CE.
As well as to insert the appropriate VLAN ID on egress to the CE A
MES may also advertise more than one label for a given MAC address.
For instance an MES may advertise two labels, one of which is for the
ESI corresponding to the MAC address and the second is for the
Ethernet Tag on the ESI that the MAC address is learnt on.
The IP Address field is optional. By default the IP Address length is
set to 0 and the IP address is excluded. When a valid IP address is
included it is encoded as specified in the section "Optimizing ARP".
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 MES. be set to the IPv4 or IPv6 address of the advertising PE.
The BGP advertisement that advertises the MAC advertisement route
MUST also carry one or more Route Target (RT) attributes. RTs may be
configured (as in IP VPNs), or may be derived automatically from the
Ethernet Tag ID, in the Unique Single VLAN case as described in The BGP advertisement for the MAC advertisement route MUST also carry
section "Ethernet A-D Route per E-VPN". one or more Route Target (RT) attributes. RTs may be configured (as
in IP VPNs), or may be derived automatically from the Ethernet Tag
ID, in the Unique VLAN case, as described in section "Ethernet A-D
Route per E-VPN".
It is to be noted that this document does not require MESes 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 learnt 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.
12. Optimizing ARP 11. ARP and ND
The IP address field in the MAC advertisement route may optionally The IP address field in the MAC 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 which can be used to minimize the flooding of ARP
messages to MAC VPN CEs and to MESes. This option also minimizes ARP or Neighbor Discovery (ND) messages over the MPLS network and to
message processing on MAC VPN CEs. A MES may learn the IP address remote CEs. This option also minimizes ARP (or ND) message processing
associated with a MAC address in the control or management plane on end-stations/hosts connected to the E-VPN network. An PE may learn
between the CE and the MES. Or it may learn this binding by snooping the IP address associated with a MAC address in the control or
certain messages to or from a CE. When a MES learns the IP address management plane between the CE and the PE. Or, it may learn this
associated with a MAC address, of a locally connected CE, it may binding by snooping certain messages to or from a CE. When an PE
advertise it to other MESes by including it in the MAC route learns the IP address associated with a MAC address, of a locally
advertisement. The IP Address may be an IPv4, encoded using four connected CE, it may advertise this address to other PEs by including
octets or an IPv6 address encoded using sixteen octets. The IP it in the MAC Advertisement route. The IP Address may be an IPv4
Address length field MUST be set to 32 for an IPv4 address and 128 address encoded using four octets, or an IPv6 address encoded using
for an IPv6 address. sixteen octets. The IP Address length field MUST be set to 32 for an
IPv4 address or to 128 for an IPv6 address.
If there are multiple IP addresses associated with a MAC address then If there are multiple IP addresses associated with a MAC address,
multiple MAC advertisement routes MUST be generated, one for each IP then multiple MAC advertisement routes MUST be generated, one for
address. For instance this may be the case when there is both an IPv4 each IP address. For instance, this may be the case when there are
and an IPv6 address associated with the MAC address. When the IP both an IPv4 and an IPv6 address associated with the MAC address.
address is dis-associated with the MAC address then the MAC When the IP address is dissociated with the MAC address, then the MAC
advertisement route with that particular IP address MUST be advertisement route with that particular IP address MUST be
withdrawn. withdrawn.
When an MES receives an ARP request for an IP address from a CE, and When an PE receives an ARP request for an IP address from a CE, and
if the MES has the MAC address binding for that IP address, the MES if the PE has the MAC address binding for that IP address, the PE
should perform ARP proxy and respond to the ARP request. SHOULD perform ARP proxy and respond to the ARP request.
Further detailed procedures will be specified in a later version. Further detailed procedures will be specified in a later version.
13. Designated Forwarder Election 12. Handling of Multi-Destination Traffic
Consider a CE that is a host or a router that is multi-homed directly
to more than one MES in an E-VPN on a given Ethernet segment. One or
more Ethernet Tags may be configured on the Ethernet segment. In this
scenario only one of the MESes, referred to as the Designated
Forwarder (DF), is responsible for certain actions:
- Sending multicast and broadcast traffic, on a given Ethernet
Tag on a particular Ethernet segment, to the CE. Note that
this behavior, which allows selecting a DF at the
granularity of <ESI, Ethernet Tag> for multicast and
broadcast traffic is the default behavior in this
specification. Optional mechanisms, which will be
specified in the future, will allow selecting a DF
at the granularity of <ESI, Ethernet Tag, S, G>.
- Flooding unknown unicast traffic (i.e. traffic for
which an MES does not know the destination MAC address),
on a given Ethernet Tag on a particular Ethernet segment
to the CE, if the environment requires flooding of
unknown unicast traffic.
Note that a CE always sends packets belonging to a specific flow
using a single link towards an MES. For instance, if the CE is a host
then, as mentioned earlier, the host treats the multiple links that
it uses to reach the MESes as a Link Aggregation Group (LAG). The CE
employs a local hashing function to map traffic flows onto links in
the LAG.
If a bridge network is multi-homed to more than one MES in an E-VPN
via switches, then the support of active-active points of attachments
as described in this specification requires the bridge network to be
connected to two or more MESes using a LAG. In this case the reasons
for doing DF election are the same as those described above when a CE
is a host or a router.
If a bridge network does not connect to the MESes using LAG, then
only one of the links between the switched bridged network and the
MESes must be the active link. In this case the per Ethernet Segment
Ethernet Tag routes MUST be advertised with the "Active-Standby" flag
set to one. Procedures for supporting active-active points of
attachments, when a bridge network does not connect to the MESes
using LAG, are for further study.
The granularity of the DF election MUST be at least the Ethernet
segment via which the CE is multi-homed to the MESes. If the DF
election is done at the Ethernet segment granularity then a single
MES MUST be elected as the DF on the Ethernet segment.
If there are one or more Ethernet Tags (e.g., VLANs) on the Ethernet
segment then the granularity of the DF election SHOULD be the
combination of the Ethernet segment and Ethernet Tag on that Ethernet
segment. In this case a single MES MUST be elected as the DF for a
particular Ethernet Tag on that Ethernet segment.
There are two specified mechanisms for performing DF election.
13.1. DF Election Performed by All MESes
The MESes perform a designated forwarder (DF) election, for an
Ethernet segment, or <ESI, Ethernet Tag> combination using the
Ethernet Tag A-D BGP route described in section "Auto-Discovery of
Ethernet Tags on Ethernet Segments".
The DF election for a particular ESI or a particular <ESI, Ethernet
Tag> combination proceeds as follows. First an MES constructs a
candidate list of MESes. This comprises all the Ethernet A-D routes
with that particular ESI or <ESI, Ethernet Tag> tuple that an MES
imports in an E-VPN instance, including the Ethernet A-D route(s)
generated by the MES itself, if any. The DF MES is chosen from this
candidate list. Note that DF election is carried out by all the MESes
that import the DF route.
The default procedure for choosing the DF is the MES with the highest
IP address, of all the MESes in the candidate list. This procedure
MUST be implemented. It ensures that, except during routing
transients each MES chooses the same DF MES for a given ESI and
Ethernet Tag combination.
Other alternative procedures for performing DF election are possible
and will be described in the future.
13.2. DF Election Performed Only on Multi-Homed MESes
As an MES discovers other MESs that are members of the same multi-
homed segment, using per Ethernet Segment Ethernet A-D Routes, it
starts building an ordered list based on the originating MES IP
addresses. This list is used to select a DF and a backup DF (BDF) on
a per group of Ethernet Tag basis. For example, the MES with the
numerically highest IP address is considered the DF for a given group
of VLANs for that Ethernet segment and the next MES in the list is
considered the BDF. To that end, the range of Ethernet Tags
associated with the CE must be partitioned into disjoint sets. The
size of each set is a function of the total number of CE Ethernet
Tags and the total number of MESs that the Ethernet segment is multi-
homed to. The DF can employ any distribution function that achieves
an even distribution of Ethernet Tags across the MESes that are
multi-homed to the Ethernet segment. The DF takes over the Ethernet
Tag set of any MES encountering either a node failure or a
link/Ethernet segment failure causing that MES to be isolated from
the multi-homed segment. In case of a failure that is affecting the
DF, then the BDF takes over the DF VLAN set.
It should be noted that once all the MESs participating in an
Ethernet segment have the same ordered list for that site, then
Ethernet Tag groups can be assigned to each member of that list
deterministically without any need to explicitly distribute Ethernet
Tags among the member MESs of that list. In other words, the DF
election for a group of Ethernet Tags is a local matter and can be
done deterministically. As an example, consider, that the ordered
list consists of m MESes: (MES1, MES2,., MESm), and there are n
Ethernet Tags for that site (V0, V1, V2, ., Vn-1). Then MES1 and MES2
can be the DF and the BDF respectively for all the Ethernet Tags
corresponding to (i mod m) for i:0 to n-1. MES2 and MES3 can be the
DF and the BDF respectively for all the Ethernet Tags corresponding
to (i mod m) + 1 and so on till the last MES in the order list is
reached. As a result MESm and MES1 is the DF and the BDF respectively
for the all the VLANs corresponding to (i mod m) + m-1.
14. Handling of Multi-Destination Traffic
Procedures are required for a given MES to send broadcast or
multicast traffic, received from a CE encapsulated in a given
Ethernet Tag in an E-VPN, to all the other MESes that span that
Ethernet Tag in the E-VPN. In certain scenarios, described in section
"Processing of Unknown Unicast Packets", a given MES may also need to
flood unknown unicast traffic to other MESes.
The MESes in a particular E-VPN may use ingress replication or P2MP Procedures are required for a given PE to send broadcast or multicast
LSPs or MP2MP LSPs to send unknown unicast, broadcast or multicast traffic, received from a CE encapsulated in a given Ethernet Tag in
traffic to other MESes. an EVI, to all the other PEs that span that Ethernet Tag in the EVI.
In certain scenarios, described in section "Processing of Unknown
Unicast Packets", a given PE may also need to flood unknown unicast
traffic to other PEs.
Each MES MUST advertise an "Inclusive Multicast Ethernet Tag Route" The PEs in a particular E-VPN may use ingress replication, P2MP LSPs
to enable the above. Next section provides procedures to construct or MP2MP LSPs to send unknown unicast, broadcast or multicast traffic
the Inclusive Multicast Ethernet Tag route. Subsequent sections to other PEs.
describe in further detail its usage.
14.1. Construction of the Inclusive Multicast Ethernet Tag Route Each PE MUST advertise an "Inclusive Multicast Ethernet Tag Route" to
enable the above. The following subsection provides the procedures to
construct the Inclusive Multicast Ethernet Tag route. Subsequent
subsections describe in further detail its usage.
The RD MUST be the RD of the E-VPN instance that is advertising the 12.1. Construction of the Inclusive Multicast Ethernet Tag Route
NLRI. The procedures for setting the RD for a given E-VPN are
described in section "Ethernet A-D Route per E-VPN".
The Ethernet Segment Identifier MAY be set to the ten octet ESI The RD MUST be the RD of the EVI that is advertising the NLRI. The
identifier described in section "Ethernet Segment Identifier". Or it procedures for setting the RD for a given E-VPN are described in
MAY be set to 0. It MUST be set to 0 if the Ethernet Tag is set to section 9.4.1.
0.
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 in which case an egress MES MUST perform a MAC lookup to set to 0 or to a valid Ethernet Tag value.
forward the packet.
The Originating Router's IP address MUST be set to an IP address of The Originating Router's IP address MUST be set to an IP address of
the PE. This address SHOULD be common for all the EVIs on the PE the PE. This address SHOULD be common for all the EVIs on the PE
(e.,g., this address may be PE's loopback address). (e.,g., this address may be PE's loopback address).
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 same IP address as the one carried in the Originating
Router's IP Address field. Router's IP Address field.
The BGP advertisement that advertises the Inclusive Multicast The BGP advertisement for the Inclusive Multicast Ethernet Tag route
Ethernet Tag route MUST also carry one or more Route Target (RT) MUST also carry one or more Route Target (RT) attributes. The
attributes. The assignment of RTs described in the section on assignment of RTs described in the section on "Constructing the BGP
"Constructing the BGP E-VPN MAC Address Advertisement" MUST be E-VPN MAC Address Advertisement" MUST be followed.
followed.
14.2. P-Tunnel Identification 12.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" specified in [BGP MVPN]. route MUST carry a "PMSI Tunnel Attribute" as specified in [BGP
MVPN].
Depending on the technology used for the P-tunnel for the E-VPN on Depending on the technology used for the P-tunnel for the E-VPN on
the PE, the PMSI Tunnel attribute of the Inclusive Multicast Ethernet the PE, the PMSI Tunnel attribute of the Inclusive Multicast Ethernet
Tag route is constructed as follows. Tag route is constructed as follows.
+ If the PE that originates the advertisement uses a P-Multicast + If the PE that originates the advertisement uses a
tree for the P-tunnel for the E-VPN, the PMSI Tunnel attribute P-Multicast tree for the P-tunnel for E-VPN, the PMSI
MUST contain the identity of the tree (note that the PE could Tunnel attribute MUST contain the identity of the tree
create the identity of the tree prior to the actual (note that the PE could create the identity of the
instantiation of the tree). tree prior to the actual instantiation of the tree).
+ A PE that uses a P-Multicast tree for the P-tunnel MAY + An PE that uses a P-Multicast tree for the P-tunnel MAY
aggregate two or more Ethernet Tags in the same or different aggregate two or more Ethernet Tags in the same or different
E-VPNs present on the PE onto the same tree. In this case in EVIs present on the PE onto the same tree. In this case, in
addition to carrying the identity of the tree, the PMSI Tunnel addition to carrying the identity of the tree, the PMSI Tunnel
attribute MUST carry an MPLS upstream assigned label which attribute MUST carry an MPLS upstream assigned label which
the PE has bound uniquely to the <ESI, Ethernet Tag> for the PE has bound uniquely to the Ethernet Tag for the EVI
E-VPN associated with this update (as determined by its RTs). associated with this update (as determined by its RTs).
If the PE has already advertised Inclusive Multicast Ethernet If the PE has already advertised Inclusive Multicast
Tag routes for two or more Ethernet Tags that it now desires Ethernet Tag routes for two or more Ethernet Tags that it
to aggregate, then the PE MUST re-advertise those routes. now desires to aggregate, then the PE MUST re-advertise
The re-advertised routes MUST be the same as the original those routes. The re-advertised routes MUST be the same
ones, except for the PMSI Tunnel attribute and the label as the original ones, except for the PMSI Tunnel attribute
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 the E-VPN, the route MUST replication for the P-tunnel for E-VPN, the route MUST
include the PMSI Tunnel attribute with the Tunnel Type set to include the PMSI Tunnel attribute with the Tunnel Type set to
Ingress Replication and Tunnel Identifier set to a routable Ingress Replication and Tunnel Identifier set to a routable
address of the PE. The PMSI Tunnel attribute MUST carry a address of the PE. The PMSI Tunnel attribute MUST carry a
downstream assigned MPLS label. This label is used to downstream assigned MPLS label. This label is used to
demultiplex the broadcast, multicast or unknown unicast E-VPN demultiplex the broadcast, multicast or unknown unicast E-VPN
traffic received over a unicast tunnel by the PE. traffic received over a MP2P tunnel by the PE.
+ The Leaf Information Required flag of the PMSI Tunnel + The Leaf Information Required flag of the PMSI Tunnel
attribute MUST be set to zero, and MUST be ignored on receipt. attribute MUST be set to zero, and MUST be ignored on receipt.
14.3. Ethernet Segment Identifier and Ethernet Tag 13. Processing of Unknown Unicast Packets
As described above the encoding rules allow setting the Ethernet
Segment Identifier and Ethernet Tag to either non-zero valid values
or to 0. If the Ethernet Tag is set to a non-zero valid value, then
an egress MES can forward the packet to the set of egress ESIs in the
Ethernet Tag, in the E-VPN, by performing an MPLS lookup only.
Further if the ESI is also set to non zero then the egress MES does
not need to replicate the packet as it is destined for a given
Ethernet segment. If both Ethernet Tag and ESI are set to 0 then an
egress MES MUST perform a MAC lookup in the EVI determined by the
MPLS label, after the MPLS lookup, to forward the packet.
If an MES advertises multiple Inclusive Ethernet Tag routes for a
given E-VPN then the PMSI Tunnel Attributes for these routes MUST be
distinct.
15. Processing of Unknown Unicast Packets
The procedures in this document do not require MESes to flood unknown The procedures in this document do not require the PEs to flood
unicast traffic to other MESes. If MESes learn CE MAC addresses via a unknown unicast traffic to other PEs. If PEs learn CE MAC addresses
control plane, the MESes can then distribute MAC addresses via BGP, via a control plane protocol, the PEs can then distribute MAC
and all unicast MAC addresses will be learnt prior to traffic to addresses via BGP, and all unicast MAC addresses will be learnt prior
those destinations. 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 MES, the MES may have to flood the packet. Flooding must known by the PE, the PE may have to flood the packet. Flooding must
take into account "split horizon forwarding" as follows. The 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 [RFC 4761, RFC split horizon forwarding rules in VPLS solutions [RFC 4761, RFC
4762]. When an MES capable of flooding (say MESx) receives a 4762]. When an PE capable of flooding (say PEx) receives a broadcast
broadcast Ethernet frame, or one with an unknown destination MAC or multicast Ethernet frame, or one with an unknown destination MAC
address, it must flood the frame. If the frame arrived from an address, it must flood the frame. If the frame arrived from an
attached CE, MESx must send a copy of the frame to every other attached CE, PEx must send a copy of the frame to every other
attached CE, on a different ESI than the one it received the frame attached CE participating in the EVI, on a different ESI than the one
on, as well as to all other MESs participating in the E-VPN. If, on it received the frame on, as long as the PE is the DF for the egress
the other hand, the frame arrived from another MES (say MESy), MESx ESI. In addition, the PE must flood the frame to all other PEs
must send a copy of the packet only to attached CEs. MESx MUST NOT participating in the EVI. If, on the other hand, the frame arrived
send the frame to other MESs, since MESy would have already done so. from another PE (say PEy), PEx must send a copy of the packet only to
attached CEs as long as it is the DF for the egress ESI. PEx MUST NOT
send the frame to other PEs, since PEy would have already done so.
Split horizon forwarding rules apply to broadcast and multicast Split horizon forwarding rules apply to broadcast and multicast
packets, as well as packets to an unknown MAC address. packets, as well as packets to an unknown MAC address.
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 MESes. between CEs and PEs.
The MESes in a particular E-VPN may use ingress replication using The PEs in a particular E-VPN may use ingress replication using RSVP-
RSVP-TE P2P LSPs or LDP MP2P LSPs for sending broadcast, multicast TE P2P LSPs or LDP MP2P LSPs for sending broadcast, multicast and
and unknown unicast traffic to other MESes. Or they may use RSVP-TE unknown unicast traffic to other PEs. Or they may use RSVP-TE P2MP or
P2MP or LDP P2MP or LDP MP2MP LSPs for sending such traffic to other LDP P2MP or LDP MP2MP LSPs for sending such traffic to other PEs.
MESes.
15.1. Ingress Replication 13.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 E-VPN, specifies the Inclusive Multicast Ethernet Tag routes for the EVI, specifies
the downstream label that the other MESes can use to send unknown the downstream label that the other PEs can use to send unknown
unicast, multicast or broadcast traffic for the E-VPN to this unicast, multicast or broadcast traffic for the EVI to this
particular MES. particular PE.
The MES 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 packet.
Further if the MAC address is a unicast MAC address, the MES MUST Further if the MAC address is a unicast MAC address, the PE MUST
treat the packet as an unknown unicast packet. treat the packet as an unknown unicast packet.
15.2. P2MP MPLS LSPs 13.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 VPLS
procedures [VPLS-MCAST]. The P-Tunnel attribute used by an MES for procedures [VPLS-MCAST]. The P-Tunnel attribute used by an PE for
sending unknown unicast, broadcast or multicast traffic for a sending unknown unicast, broadcast or multicast traffic for a
particular Ethernet segment, is advertised in the Inclusive Ethernet particular EVI is advertised in the Inclusive Ethernet Tag Multicast
Tag Multicast route as described in section "Handling of Multi- route as described in section "Handling of Multi-Destination
Destination Traffic". Traffic".
The P-Tunnel attribute specifies the P2MP LSP identifier. This is the The P-Tunnel attribute specifies the P2MP LSP identifier. This is the
equivalent of an Inclusive tree in [VPLS-MCAST]. Note that multiple equivalent of an Inclusive tree in [VPLS-MCAST]. Note that multiple
Ethernet Tags, which may be in different E-VPNs, may use the same Ethernet Tags, which may be in different EVIs, may use the same P2MP
P2MP LSP, using upstream labels [VPLS-MCAST]. When P2MP LSPs are used LSP, using upstream labels [VPLS-MCAST]. This is the equivalent of an
for flooding unknown unicast traffic, packet re-ordering is possible. Aggregate Inclusive tree in [VPLS-MCAST]. When P2MP LSPs are used for
flooding unknown unicast traffic, packet re-ordering is possible.
The MES 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 MES MUST treat the packet as an unknown unicast packet. address, the PE MUST treat the packet as an unknown unicast packet.
16. Forwarding Unicast Packets 14. Forwarding Unicast Packets
16.1. Forwarding packets received from a CE 14.1. Forwarding packets received from a CE
When an MES receives a packet from a CE, on a given Ethernet Tag, it When an PE receives a packet from a CE, on a given Ethernet Tag, 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 the source MAC address MAY be used to authenticate the environments the source MAC address MAY be used to authenticate the
CE and determine that traffic from the host can be allowed into the CE and determine that traffic from the host can be allowed into the
network. Source MAC lookup MAY also used for local MAC address network. Source MAC lookup MAY also be used for local MAC address
learning. learning.
If the MES 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 MES 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 MESes or learned it from locally connected CEs, it is other PEs or learned it from locally connected CEs, it is considered
considered as a known MAC address. Else the MAC address is considered as a known MAC address. Otherwise, the MAC address is considered as
as an unknown MAC address. an unknown MAC address.
For known MAC addresses the MES forwards this packet to one of the For known MAC addresses the PE forwards this packet to one of the
remote MESes or to a locally attached CEs. When forwarding to remote remote PEs or to a locally attached CE. When forwarding to a remote
MESes, the packet is encapsulated in the E-VPN MPLS label advertised PE, the packet is encapsulated in the E-VPN MPLS label advertised by
by the remote MES, for that MAC address, and in the MPLS LSP label the remote PE, for that MAC address, and in the MPLS LSP label stack
stack to reach the remote MES. to reach the remote PE.
If the MAC address is unknown then, if the administrative policy on If the MAC address is unknown and if the administrative policy on the
the MES requires flooding of unknown unicast traffic: PE requires flooding of unknown unicast traffic then:
- The MES MUST flood the packet to other MESes. If the ESI - The PE MUST flood the packet to other PEs. The
over which the MES receives the packet is multi-homed, then PE MUST first encapsulate the packet in the ESI MPLS
the MES MUST first encapsulate the packet in the ESI MPLS label as described in section 9.3.
label as described in section "Split Horizon". If ingress replication is used, the packet MUST be replicated
If ingress replication is used the packet MUST be replicated one or more times to each remote PE with the outermost
one or more times to each remote MES with the bottom label label being an MPLS label determined as follows: This
of the stack being an MPLS label determined as follows. This is the MPLS label advertised by the remote PE in a PMSI
is the MPLS label advertised by the remote MES in a PMSI
Tunnel Attribute in the Inclusive Multicast Ethernet Tag Tunnel Attribute in the Inclusive Multicast Ethernet Tag
route for an <ESI, Ethernet Tag> combination. The Ethernet route for an <EVI, Ethernet Tag> combination. The Ethernet
Tag in the route must be the same as the Ethernet Tag Tag in the route must be the same as the Ethernet Tag
advertised by the ingress MES in its Ethernet Tag A-D route associated with the interface on which the ingress PE
associated with the interface on which the ingress MES
receives the packet. If P2MP LSPs are being used the packet receives the packet. If P2MP LSPs are being used the packet
MUST be sent on the P2MP LSP that the MES is the root of for MUST be sent on the P2MP LSP that the PE is the root of for
the Ethernet Tag in the E-VPN. If the same P2MP LSP is used the Ethernet Tag in the EVI. If the same P2MP LSP is used
for all Ethernet Tags then all the MESes in the E-VPN MUST for all Ethernet Tags, then all the PEs in the EVI MUST
be the leaves of the P2MP LSP. If a distinct P2MP LSP is be the leaves of the P2MP LSP. If a distinct P2MP LSP is
used for a given Ethernet Tag in the E-VPN then only the used for a given Ethernet Tag in the EVI, then only the
MESes in the Ethernet Tag MUST be the leaves of the P2MP PEs in the Ethernet Tag MUST be the leaves of the P2MP
LSP. The packet MUST be encapsulated in the P2MP LSP label LSP. The packet MUST be encapsulated in the P2MP LSP label
stack. stack.
If the MAC address is unknown then, if the admnistrative policy on If the MAC address is unknown then, if the administrative policy on
the MES does not allow flooding of unknown unicast traffic: the PE does not allow flooding of unknown unicast traffic:
- The MES MUST drop the packet. - The PE MUST drop the packet.
16.2. Forwarding packets received from a remote MES 14.2. Forwarding packets received from a remote PE
16.2.1. Unknown Unicast Forwarding 14.2.1. Unknown Unicast Forwarding
When an MES receives an MPLS packet from a remote MES then, after When an 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 E-VPN or the downstream label a P2MP LSP label associated with an EVI or the downstream label
advertised in the P-Tunnel attribute and after performing the split advertised in the P-Tunnel attribute, and after performing the split
horizon procedures described in section "Split Horizon": horizon procedures described in section "Split Horizon":
- If the MES is the designated forwarder of unknown unicast, - If the PE is the designated forwarder of unknown unicast, broadcast
broadcast or multicast traffic, on a particular set of ESIs for the or multicast traffic, on a particular set of ESIs for the Ethernet
Ethernet Tag, the default behavior is for the MES to flood the packet Tag, the default behavior is for the PE to flood the packet on these
on the ESIs. In other words the default behavior is for the MES to ESIs. In other words, the default behavior is for the PE to assume
assume that the destination MAC address is unknown unicast, broadcast that the destination MAC address is unknown unicast, broadcast or
or multicast and it is not required to do a destination MAC address multicast and it is not required to perform a destination MAC address
lookup, as long as the granularity of the MPLS label included the lookup. As an option, the PE may perform a destination MAC lookup to
Ethernet Tag. As an option the MES may do a destination MAC lookup to
flood the packet to only a subset of the CE interfaces in the flood the packet to only a subset of the CE interfaces in the
Ethernet Tag. For instance the MES may decide to not flood an unknown Ethernet Tag. For instance the PE may decide to not flood an unknown
unicast packet on certain Ethernet segments even if it is the DF on unicast packet on certain Ethernet segments even if it is the DF on
the Ethernet segment, based on administrative policy. the Ethernet segment, based on administrative policy.
- If the MES 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.
16.2.2. Known Unicast Forwarding 14.2.2. Known Unicast Forwarding
If the top MPLS label ends up being an E-VPN label that was If the top MPLS label ends up being an E-VPN label that was
advertised in the unicast MAC advertisements, then the MES either advertised in the unicast MAC advertisements, then the PE either
forwards the packet based on CE next-hop forwarding information forwards the packet based on CE next-hop forwarding information
associated with the label or does a destination MAC address lookup to associated with the label or does a destination MAC address lookup to
forward the packet to a CE. forward the packet to a CE.
17. Split Horizon 15. Load Balancing of Unicast Frames
Consider a CE that is multi-homed to two or more MESes on an Ethernet
segment ES1. If the CE sends a multicast, broadcast or unknown
unicast packet to a particular MES, say MES1, then MES1 will forward
that packet to all or subset of the other MESes in the E-VPN. In this
case the MESes, other than MES1, that the CE is multi-homed to MUST
drop the packet and not forward back to the CE. This is referred to
as "split horizon" in this document.
In order to accomplish this each MES distributes to other MESes the
"per Ethernet Segment Ethernet A-D route" as per the procedures in
the section "Ethernet A-D Route per Ethernet Segment". This route is
imported by the MESes connected to the Ethernet Segment and also by
the MESes that have at least one E-VPN in common with the Ethernet
Segment in the route. As described in the section "Ethernet A-D Route
per Ethernet Segment", the route MUST carry an ESI MPLS Label
Extended Community with a valid ESI MPLS label.
17.1. ESI MPLS Label: Ingress Replication
An MES that is using ingress replication for sending broadcast,
multicast or unknown unicast traffic, distributes to other MESes,
that belong to the Ethernet segment, a downstream assigned "ESI MPLS
label" in the Ethernet A-D route. This label MUST be programmed in
the platform label space by the advertising MES. Further the
forwarding entry for this label must result in NOT forwarding packets
received with this label onto the Ethernet segment that the label was
distributed for.
Consider MES1 and MES2 that are multi-homed to CE1 on ES1. Further
consider that MES1 is using P2P or MP2P LSPs to send packets to MES2.
Consider that MES1 receives a multicast, broadcast or unknown unicast
packet from CE1 on VLAN1 on ESI1.
First consider the case where MES2 distributes an unique Inclusive
Multicast Ethernet Tag route for VLAN1, for each Ethernet segment on
MES2. In this case MES1 MUST NOT replicate the packet to MES2 for
<ESI1, VLAN1>.
Next consider the case where MES2 distributes a single Inclusive
Multicast Ethernet Tag route for VLAN1 for all Ethernet segments on
MES2. In this case when MES1 sends a multicast, broadcast or unknown
unicast packet, that it receives from CE1, it MUST first push onto
the MPLS label stack the ESI label that MES2 has distributed for
ESI1. It MUST then push on the MPLS label distributed by MES2 in the
Inclusive Ethernet Tag Multicast route for Ethernet Tag1. The
resulting packet is further encapsulated in the P2P or MP2P LSP label
stack required to transmit the packet to MES2. When MES2 receives
this packet it determines the set of ESIs to replicate the packet to
from the top MPLS label, after any P2P or MP2P LSP labels have been
removed. If the next label is the ESI label assigned by MES2 then
MES2 MUST NOT forward the packet onto ESI1.
17.2. ESI MPLS Label: P2MP MPLS LSPs
An MES that is using P2MP LSPs for sending broadcast, multicast or
unknown unicast traffic, distributes to other MESes, that belong to
the Ethernet segment or have an E-VPN in common with the Ethernet
Segment, an upstream assigned "ESI MPLS label" in the Ethernet A-D
route. This label is upstream assigned by the MES that advertises the
route. This label MUST be programmed by the other MESes, that are
connected to the ESI advertised in the route, in the context label
space for the advertising MES. Further the forwarding entry for this
label must result in NOT forwarding packets received with this label
onto the Ethernet segment that the label was distributed for. This
label MUST also be programmed by the other MESes, that import the
route but are not connected to the ESI advertised in the route, in
the context label space for the advertising MES. Further the
forwarding entry for this label must be a POP with no other
associated action.
Consider MES1 and MES2 that are multi-homed to CE1 on ES1. Also
consider MES3 that is in the same E-VPN as one of the E-VPNs to which
ES1 belongs. Further assume that MES1 is using P2MP MPLS LSPs to
send broadcast, multicast or uknown unicast packets. When MES1 sends
a multicast, broadcast or unknown unicast packet, that it receives
from CE1, it MUST first push onto the MPLS label stack the ESI label
that it has assigned for the ESI that the packet was received on. The
resulting packet is further encapsulated in the P2MP MPLS label stack
necessary to transmit the packet to the other MESes. Penultimate hop
popping MUST be disabled on the P2MP LSPs used in the MPLS transport
infrastructure for E-VPN. When MES2 receives this packet it
decapsulates the top MPLS label and forwards the packet using the
context label space determined by the top label. If the next label is
the ESI label assigned by MES1 then MES2 MUST NOT forward the packet
onto ESI1. When MES3 receives this packet it decapsulates the top
MPLS label and forwards the packet using the context label space
determined by the top label. If the next label is the ESI label
assigned by MES1 then MES3 MUST pop the label.
17.3. ESI MPLS Label: MP2MP LSPs This section specifies the load balancing procedures for sending
known unicast frames to a multi-homed CE.
The procedures for ESI MPLS Label assignment and usage for MP2MP LSPs 15.1. Load balancing of traffic from an PE to remote CEs
will be described in a future version.
18. Load Balancing of Unicast Packets Whenever a remote PE imports a MAC advertisement for a given <ESI,
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.
This section specifies how load balancing is achieved to/from a CE 15.1.1 Active-Standby Redundancy Mode
that has more than one interface that is directly connected to one or
more MESes. The CE may be a host or a router or it may be a switched
network that is connected via LAG to the MESes.
18.1. Load balancing of traffic from an MES to remote CEs For a given ESI, if the remote PE has imported an Ethernet A-D route
per Ethernet Segment from at least one PE, where the "Active-Standby"
flag in the ESI MPLS Label Extended Community is set, then the remote
PE MUST deduce that the Ethernet segment is operating in Active-
Standby redundancy mode. As such, the MAC address will be reachable
only via the PE announcing the associated MAC Advertisement route -
this is referred to as the primary PE. The set of other PE nodes
advertising Ethernet A-D routes per Ethernet Segment for the same ESI
serve as backup paths, in case the active PE encounters a failure.
These are referred to as the backup PEs.
Whenever a remote MES imports a MAC advertisement for a given <ESI, If the primary PE encounters a failure, it MAY withdraw its Ethernet
Ethernet Tag> in an E-VPN instance, it MUST consider the MAC as A-D route for the affected segment prior to withdrawing the entire
reachahable via all the MESes from which it has imported Ethernet A-D set of MAC Advertisement routes. In the case where only a single
routes for that <ESI, Ethernet Tag>. Let us call this the initial other backup PE in the network had advertised an Ethernet A-D route
Ethernet A-D route set for the given ESI. for the same ESI, the remote PE can then use the Ethernet A-D route
withdrawal as a trigger to update its forwarding entries, for the
associated MAC addresses, to point towards the backup PE. As the
backup PE starts learning the MAC addresses over its attached
Ethernet segment, it will start sending MAC Advertisement routes
while the failed PE withdraws its own. This mechanism minimizes the
flooding of traffic during fail-over events.
For the given ESI the remote MES has imported a per Ethernet Segment 15.1.2 All-Active Redundancy Mode
Ethernet A-D route, from at least one MES, where the "Active-Standby"
flag in the ESI MPLS Label Extended Community is set, then the remote
MES MUST first use the procedures in the section "Designated
Forwarder Election" to pick a Designated Forwarder. The eligible set
of Ethernet A-D routes used in the procedures below must comprise
this single Ethernet A-D route from the DF.
If for the given ESI none of the per Ethernet Segment Ethernet A-D If for the given ESI, none of the Ethernet A-D routes per Ethernet
routse, imported by the remote MES, have the "Active-Standby" flag Segment imported by the remote PE have the "Active-Standby" flag set
set in the ESI MPLS Label Extended Community, then the eligble set of in the ESI MPLS Label Extended Community, then the remote PE MUST
Ethernet A-D routes is set to the initial Ethernet A-D route set. treat the Ethernet segment as operating in all-active redundancy
mode. The remote PE would then treat the MAC address as reachable via
all of the PE nodes from which it has received both an Ethernet A-D
route per Ethernet Segment as well as an Ethernet A-D route per EVI
for the ESI in question. The remote PE MUST use the MAC advertisement
and eligible Ethernet A-D routes to construct the set of next-hops
that it can use to send the packet to the destination MAC. 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 follows:
The remote MES MUST use the MAC advertisement and eligible Ethernet -If the next-hop is constructed as a result of a MAC route then this
A-D routes to constuct the set of next-hops that it can use to send label stack MUST be used. However, if the MAC route doesn't exist,
the packet to the destination MAC. Each next-hop comprises an MPLS then the next-hop and MPLS label stack is constructed as a result of
label stack, that is to be used by the egress MES to forward the the Ethernet A-D routes. Note that the following description applies
packet. This label stack is determined as follows. If the next-hop is to determining the label stack for a particular next-hop to reach a
constructed as a result of a MAC route which has a valid MPLS label given PE, from which the remote PE has received and imported Ethernet
stack, then this label stack MUST be used. However if the MAC route A-D routes that have the matching ESI and Ethernet Tag as the one
doesn't exist or if it doesn't have a valid MPLS label stack then the present in the MAC advertisement. The Ethernet A-D routes mentioned
next-hop and MPLS label stack is constructed as a result of one or in the following description refer to the ones imported from this
more corresponding Ethernet A-D routes as follows. Note that the given PE.
following description applies to determining the label stack for a
particular next-hop to reach a given MES, from which the remote MES
has received and imported one or more Ethernet A-D routes that have
the matching ESI and Ethernet Tag as the one present in the MAC
advertisement. The Ethernet A-D routes mentioned in the following
description refer to the ones imported from this given MES.
If there is a corresponding Ethernet A-D route for that <ESI, -If an Ethernet A-D route per Ethernet Segment for that ESI exists,
Ethernet Tag> then that label stack MUST be used. If such an Ethernet together with an Ethernet A-D route per EVI, then the label from that
Tag A-D route doesn't exist but Ethernet A-D routes exist for <ESI, latter route must be used.
Ethernet Tag = 0> and <ESI = 0, Ethernet Tag> then the label stack
must be constructed by using the labels from these two routes. If
this is not the case but an Ethernet A-D route exists for <ESI,
Ethernet Tag = 0> then the label from that route must be used.
Finally if this is also not the case but an Ethernet A-D route exists
for <ESI = 0, Ethernet Tag = 0> then the label from that route must
be used.
The following example explains the above when Ethernet A-D routes are The following example explains the above.
advertised per <ESI, Ethernet Tag>.
Consider a CE, CE1, that is dual homed to two MESes, MES1 and MES2 on Consider a CE (CE1) that is dual-homed to two PEs (PE1 and PE2) on a
a LAG interface, ES1, and is sending packets with MAC address MAC1 on LAG interface (ES1), and is sending packets with MAC address MAC1 on
VLAN1. Based on E-VPN extensions described in sections "Determining VLAN1. A remote PE, say PE3, is able to learn that MAC1 is reachable
Reachability of Unicast Addresses" and "Auto-Discovery of Ethernet via PE1 and PE2. Both PE1 and PE2 may advertise MAC1 in BGP if they
Tags on Ethernet Segments", a remote MES say MES3 is able to learn receive packets with MAC1 from CE1. If this is not the case, and if
that a MAC1 is reachable via MES1 and MES2. Both MES1 and MES2 may MAC1 is advertised only by PE1, PE3 still considers MAC1 as reachable
advertise MAC1 in BGP if they receive packets with MAC1 from CE1. If via both PE1 and PE2 as both PE1 and PE2 advertise a Ethernet A-D
this is not the case and if MAC1 is advertised only by MES1, MES3 route per ESI for ESI1 as well as an Ethernet A-D route per EVI for
still considers MAC1 as reachable via both MES1 and MES2 as both MES1 <ESI1, VLAN1>.
and MES2 advertise a Ethernet A-D route for <ESI1, VLAN1>.
The MPLS label stack to send the packets to MES1 is the MPLS LSP The MPLS label stack to send the packets to PE1 is the MPLS LSP stack
stack to get to MES1 and the E-VPN label advertised by MES1 for CE1's to get to PE1 and the E-VPN label advertised by PE1 for CE1's MAC.
MAC.
The MPLS label stack to send packets to MES2 is the MPLS LSP stack to The MPLS label stack to send packets to PE2 is the MPLS LSP stack to
get to MES2 and the MPLS label in the Ethernet A-D route advertised get to PE2 and the MPLS label in the Ethernet A-D route advertised by
by MES2 for <ES1, VLAN1>, if MES2 has not advertised MAC1 in BGP. PE2 for <ES1, VLAN1>, if PE2 has 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 MES, MES3, can now load balance the traffic it receives The remote PE (PE3) can now load balance the traffic it receives from
from its CEs, destined for CE1, between MES1 and MES2. MES3 may use its CEs, destined for CE1, between PE1 and PE2. PE3 may use N-Tuple
the IP flow information for it to hash into one of the MPLS next-hops flow information to hash traffic into one of the MPLS next-hops for
for load balancing for IP traffic. Or MES3 may rely on the source and load balancing of IP traffic. Alternatively PE3 may rely on the
destination MAC addresses for load balancing. source MAC addresses for load balancing.
Note that once MES3 decides to send a particular packet to MES1 or Note that once PE3 decides to send a particular packet to PE1 or PE2
MES2 it can pick from more than path to reach the particular remote it can pick one out of multiple possible paths to reach the
MES using regular MPLS procedures. For instance if the tunneling particular remote PE using regular MPLS procedures. For instance, if
technology is based on RSVP-TE LSPs, and MES3 decides to send a the tunneling technology is based on RSVP-TE LSPs, and PE3 decides to
particular packet to MES1 then MES3 can choose from multiple RSVP-TE send a particular packet to PE1, then PE3 can choose from multiple
LSPs that have MES1 as their destination. RSVP-TE LSPs that have PE1 as their destination.
When MES1 or MES2 receive the packet destined for CE1 from MES3, if When PE1 or PE2 receive the packet destined for CE1 from PE3, if the
the packet is a unicast MAC packet it is forwarded to CE1. If it is packet is a unicast MAC packet it is forwarded to CE1. If it is a
a multicast or broadcast MAC packet then only one of MES1 or MES2 multicast or broadcast MAC packet then only one of PE1 or PE2 must
must forward the packet to the CE. Which of MES1 or MES2 forward this forward the packet to the CE. Which of PE1 or PE2 forward this packet
packet to the CE is determined by default based on which of the two to the CE is determined based on which of the two is the DF.
is the DF. An alternate procedure to load balance multicast packets
will be described in the future.
If the connectivity between the multi-homed CE and one of the MESes If the connectivity between the multi-homed CE and one of the PEs
that it is multi-homed to fails, the MES MUST withdraw the MAC that it is attached to fails, the PE MUST withdraw the Ethernet Tag
address from BGP. In addition the MES MUST withdraw the Ethernet Tag
A-D routes, that had been previously advertised, for the Ethernet A-D routes, that had been previously advertised, for the Ethernet
Segment to the CE. Note that to aid convergence the Ethernet Tag A-D Segment to the CE. When the MAC entry on the PE ages out, the PE MUST
routes MAY be withdrawn before the MAC routes. This enables the withdraw the MAC address from BGP. Note that to aid convergence, the
remote MESes to remove the MPLS next-hop to this particular MES from Ethernet Tag A-D routes MAY be withdrawn before the MAC routes. This
the set of MPLS next-hops that can be used to forward traffic to the enables the remote PEs to remove the MPLS next-hop to this particular
CE. For further details and procedures on withdrawal of E-VPN route PE from the set of MPLS next-hops that can be used to forward traffic
types in the event of MES to CE failures please section "MES to CE to the CE. For further details and procedures on withdrawal of E-VPN
Network Failures". route types in the event of PE to CE failures please section "PE to
CE Network Failures".
18.2. Load balancing of traffic between an MES and a local CE 15.2. Load balancing of traffic between an 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 MESes or the same MES for load balancing, using a different PEs or the same PE for load balancing, using a technology
technology such as LAG. The MES(s) and the CE can load balance such as LAG. The PE(s) and the CE can load balance traffic onto these
traffic onto these interfaces using one of the following mechanisms. interfaces using one of the following mechanisms.
18.2.1. Data plane learning 15.2.1. Data plane learning
Consider that the MESes 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 MES(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 MES and the CE supports multi-pathing. if the technology between the PE and the CE supports multi-pathing.
The MESes can now load balance traffic destined to that MAC address The PEs can now load balance traffic destined to that MAC address on
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.
18.2.2. Control plane learning 15.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 both interfaces. This enables the MES(s) to learn control protocol on both interfaces. This enables the PE(s) to learn
the host's MAC address and associate it with one or more interfaces. the host's MAC address and associate it with one or more interfaces.
The MESes can now load balance traffic destined to the host on the The PEs can now load balance traffic destined to the host on the
multiple interfaces. The host can also load balance the traffic it multiple interfaces. The host can also load balance the traffic it
generates onto these interfaces and the MES that receives the traffic generates onto these interfaces and the PE that receives the traffic
employs E-VPN forwarding procedures to forward the traffic. employs E-VPN forwarding procedures to forward the traffic.
19. MAC Moves 16. MAC Mobility
In the case where a CE is a host or a switched network connected to It is possible for a given host or end-station (as defined by its MAC
hosts, the MAC address that is reachable via a given MES on a address) to move from one Ethernet segment to another; this is
particular ESI may move such that it becomes reachable via another referred to as 'MAC Mobility' or 'MAC move' and it is different from
MES on another ESI. This is referred to as a "MAC Move". the multi-homing situation in which a given MAC address is reachable
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
Ethernet segment and one set with the previous Ethernet segment, and
the MAC address would appear to be reachable via each of these
segments.
Remote MESes must be able to distinguish a MAC move from the case In order to allow all of the PEs in the E-VPN to correctly determine
where a MAC address on an ESI is reachable via two different MESes the current location of the MAC address, all advertisements of it
and load balancing is performed as described in section "Load being reachable via the previous Ethernet segment MUST be withdrawn
Balancing of Unicast Packets". This distinction can be made as by the PEs, for the previous Ethernet segment, that had advertised
follows. If a MAC is learned by a particular MES from multiple MESes, it.
then the MES performs load balancing only amongst the set of MESes
that advertised the MAC with the same ESI. If this is not the case
then the MES chooses only one of the advertising MESes to reach the
MAC as per BGP path selection.
There can be traffic loss during a MAC move. Consider MAC1 that is If local learning is performed using the data plane, these PEs will
advertised by MES1 and learned from CE1 on ESI1. If MAC1 now moves not be able to detect that the MAC address has moved to another
behind MES2, on ESI2, MES2 advertises the MAC in BGP. Until a remote Ethernet segment and the receipt of MAC Advertisement routes, with
MES, MES3, determines that the best path is via MES2, it will the MAC Mobility extended community attribute, from other PEs serves
continue to send traffic destined for MAC1 to MES1. This will not as the trigger for these PEs to withdraw their advertisements. If
occur deterministially until MES1 withdraws the advertisement for local learning is performed using the control or management planes,
MAC1. these interactions serve as the trigger for these PEs to withdraw
their advertisements.
One recommended optimization to reduce the traffic loss during MAC In a situation where there are multiple moves of a given MAC,
moves is the following option. When an MES sees a MAC update from a possibly between the same two Ethernet segments, there may be
locally attached CE on an ESI, which is different from the ESI on multiple withdrawals and re-advertisements. In order to ensure that
which the MES has currently learned the MAC, the corresponding entry all PEs in the E-VPN receive all of these correctly through the
in the local bridge forwarding table SHOULD be immediately purged intervening BGP infrastructure, it is necessary to introduce a
causing the MES to withdraw its own E-VPN MAC advertisement route and sequence number into the MAC Mobility extended community attribute.
replace it with the update.
A future version of this specification will describe other optimized Since the sequence number is an unsigned 32 bit integer, all sequence
procedures to minimize traffic loss during MAC moves. number comparisons must be performed modulo 2**32. This unsigned
arithmetic preserves the relationship of sequence numbers as they
cycle from 2**32 - 1 to 0.
20. Multicast Every MAC mobility event for a given MAC address will contain a
sequence number that is set using the following rules:
The MESes in a particular E-VPN may use ingress replication or P2MP - A PE advertising a MAC address for the first time advertises it
LSPs to send multicast traffic to other MESes. with no MAC Mobility extended community attribute.
20.1. Ingress Replication - A PE detecting a locally attached MAC address for which it had
previously received a MAC Advertisement route with a different
Ethernet segment identifier advertises the MAC address in a MAC
Advertisement route tagged with a MAC Mobility extended community
attribute with a sequence number one greater than the sequence number
in the MAC mobility attribute of the received MAC Advertisement
route. In the case of the first mobility event for a given MAC
address, where the received MAC Advertisement route does not carry a
MAC Mobility attribute, the value of the sequence number in the
received route is assumed to be 0 for purpose of this processing.
The MESes may use ingress replication for flooding unknown unicast, - A PE detecting a locally attached MAC address for which it had
previously received a MAC Advertisement route with the same 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
number equal to the sequence number in the received MAC
Advertisement route, if the received route is tagged with a MAC
Mobility extended community attribute.
A PE receiving a MAC Advertisement route for a MAC address with a
different Ethernet segment identifier and a higher sequence number
than that which it had previously advertised, withdraws its MAC
Advertisement route. If two (or more) PEs advertise the same MAC
address with same sequence number but different Ethernet segment
identifiers, a PE that receives these routes selects the route
advertised by the PE with lowest IP address as the best route.
17. Multicast
The PEs in a particular E-VPN may use ingress replication or P2MP
LSPs to send multicast traffic to other PEs.
17.1. Ingress Replication
The PEs may use ingress replication for flooding unknown unicast,
multicast or broadcast traffic as described in section "Handling of multicast or broadcast traffic as described in section "Handling of
Multi-Destination Traffic". A given unknown unicast or broadcast Multi-Destination Traffic". A given unknown unicast or broadcast
packet must be sent to all the remote MESes. However a given packet must be sent to all the remote PEs. However a given multicast
multicast packet for a multicast flow may be sent to only a subset of packet for a multicast flow may be sent to only a subset of the PEs.
the MESes. Specifically a given multicast flow may be sent to only Specifically a given multicast flow may be sent to only those PEs
those MESes that have receivers that are interested in the multicast that have receivers that are interested in the multicast flow.
flow. Determining which of the MESes have receivers for a given Determining which of the PEs have receivers for a given multicast
multicast flow is done using explicit tracking described below. flow is done using explicit tracking described below.
20.2. P2MP LSPs 17.2. P2MP LSPs
A MES may use an "Inclusive" tree for sending an unknown unicast, An PE may use an "Inclusive" tree for sending an unknown unicast,
broadcast or multicast packet or a "Selective" tree. This terminology broadcast or multicast packet or a "Selective" tree. This terminology
is borrowed from [VPLS-MCAST]. is borrowed from [VPLS-MCAST].
A variety of transport technologies may be used in the SP network. A variety of transport technologies may be used in the SP network.
For inclusive P-Multicast trees, these transport technologies include For inclusive P-Multicast trees, these transport technologies include
point-to-multipoint LSPs created by RSVP-TE or mLDP. For selective P- point-to-multipoint LSPs created by RSVP-TE or mLDP. For selective P-
Multicast trees, only unicast MES-MES tunnels (using MPLS or IP/GRE Multicast trees, only unicast PE-PE tunnels (using MPLS or IP/GRE
encapsulation) and P2MP LSPs are supported, and the supported P2MP encapsulation) and P2MP LSPs are supported, and the supported P2MP
LSP signaling protocols are RSVP-TE, and mLDP. LSP signaling protocols are RSVP-TE, and mLDP.
20.3. MP2MP LSPs 17.3. MP2MP LSPs
The root of the MP2MP LDP LSP advertises the Inclusive Multicast Tag The root of the MP2MP LDP LSP advertises the Inclusive Multicast Tag
route with the PMSI Tunnel attribute set to the MP2MP Tunnel route with the PMSI Tunnel attribute set to the MP2MP Tunnel
identifier. This advertisement is then sent to all MESes in the E- identifier. This advertisement is then sent to all PEs in the E-VPN.
VPN. Upon receiving the Inclusive Multicast Tag routes with a PMSI Upon receiving the Inclusive Multicast Tag routes with a PMSI Tunnel
Tunnel attribute that contains the MP2MP Tunnel identifier, the attribute that contains the MP2MP Tunnel identifier, the receiving
receiving MESes initiate the setup of the MP2MP tunnel towards the PEs initiate the setup of the MP2MP tunnel towards the root using the
root using the procedures in [MLDP]. procedures in [MLDP].
20.3.1. Inclusive Trees 17.3.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 E-VPN to carry all the multicast traffic from a specified set of EVIs on a
instances on a given MES. A particular P-Multicast tree can be set up given PE. A particular P-Multicast tree can be set up to carry the
to carry the traffic originated by sites belonging to a single E-VPN, traffic originated by sites belonging to a single E-VPN, or to carry
or to carry the traffic originated by sites belonging to different E- the traffic originated by sites belonging to different E-VPNs. The
VPNs. The ability to carry the traffic of more than one E-VPN on the ability to carry the traffic of more than one E-VPN on the same tree
same tree is termed 'Aggregation'. The tree needs to include every is termed 'Aggregation'. The tree needs to include every PE that is a
MES that is a member of any of the E-VPNs that are using the tree. member of any of the E-VPNs that are using the tree. This implies
This implies that an MES may receive multicast traffic for a that an PE may receive multicast traffic for a multicast stream even
multicast stream even if it doesn't have any receivers that are if it doesn't have any receivers that are interested in receiving
interested in receiving traffic for that stream. traffic for that stream.
An Inclusive P-Multicast tree as defined in this document is a P2MP An Inclusive P-Multicast tree as defined in this document is a P2MP
tree. A P2MP tree is used to carry traffic only for E-VPN CEs that tree. A P2MP tree is used to carry traffic only for E-VPN CEs that
are connected to the MES that is the root of the tree. 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 [VPLS-MCAST] with the VPLS-AD route replaced with the Inclusive in [VPLS-MCAST] with the VPLS-AD route replaced with the Inclusive
Multicast Ethernet Tag route. The P-Tunnel attribute [VPLS-MCAST] for Multicast Ethernet Tag route. The P-Tunnel attribute [VPLS-MCAST] for
an Inclusive tree is advertised in the Inclusive Ethernet A-D route an Inclusive tree is advertised in the Inclusive Multicast route as
as described in section "Handling of Multi-Destination Traffic". Note described in section "Handling of Multi-Destination Traffic". Note
that an MES can "aggregate" multiple inclusive trees for different E- that an PE can "aggregate" multiple inclusive trees for different
VPNs on the same P2MP LSP using upstream labels. The procedures for EVIs on the same P2MP LSP using upstream labels. The procedures for
aggregation are the same as those described in [VPLS-MCAST], with aggregation are the same as those described in [VPLS-MCAST], with
VPLS A-D routes replaced by E-VPN Inclusive Multicast Ethernet A-D VPLS A-D routes replaced by E-VPN Inclusive Multicast routes.
routes.
20.3.2. Selective Trees 17.3.2. Selective Trees
A Selective P-Multicast tree is used by an MES to send IP multicast A Selective P-Multicast tree is used by an PE to send IP multicast
traffic for one or more specific IP multicast streams, originated by traffic for one or more specific IP multicast streams, originated by
CEs connected to the MES, that belong to the same or different E- CEs connected to the PE, that belong to the same or different E-VPNs,
VPNs, to a subset of the MESs that belong to those E-VPNs. Each of to a subset of the PEs that belong to those E-VPNs. Each of the PEs
the MESs in the subset should be on the path to a receiver of one or in the subset should be on the path to a receiver of one or more
more multicast streams that are mapped onto the tree. The ability to multicast streams that are mapped onto the tree. The ability to use
use the same tree for multicast streams that belong to different E- the same tree for multicast streams that belong to different E-VPNs
VPNs is termed an MES the ability to create separate SP multicast is termed an PE the ability to create separate SP multicast trees for
trees for specific multicast streams, e.g. high bandwidth multicast specific multicast streams, e.g. high bandwidth multicast streams.
streams. This allows traffic for these multicast streams to reach This allows traffic for these multicast streams to reach only those
only those MES routers that have receivers in these streams. This PE routers that have receivers in these streams. This avoids flooding
avoids flooding other MES routers in the E-VPN. other PE routers in the E-VPN.
A SP can use both Inclusive P-Multicast trees and Selective P- An SP can use both Inclusive P-Multicast trees and Selective P-
Multicast trees or either of them for a given E-VPN on an MES, based Multicast trees or either of them for a given E-VPN on an PE, based
on local configuration. on local configuration.
The granularity of a selective tree is <RD, MES, S, G> where S is an The granularity of a selective tree is <RD, PE, S, G> where S is an
IP multicast source address and G is an IP multicast group address or IP multicast source address and G is an IP multicast group address or
G is a multicast MAC address. Wildcard sources and wildcard groups G is a multicast MAC address. Wildcard sources and wildcard groups
are supported. Selective trees require explicit tracking as described are supported. Selective trees require explicit tracking as described
below. below.
A E-VPN MES advertises a selective tree using a E-VPN selective A-D A E-VPN PE advertises a selective tree using a E-VPN selective A-D
route. The procedures are the same as those in [VPLS-MCAST] with S- route. The procedures are the same as those in [VPLS-MCAST] with S-
PMSI A-D routes in [VPLS-MCAST] replaced by E-VPN Selective A-D PMSI A-D routes in [VPLS-MCAST] replaced by E-VPN Selective A-D
routes. The information elements of the E-VPN selective A-D route routes. The information elements of the E-VPN selective A-D route
are similar to those of the VPLS S-PMSI A-D route with the following are similar to those of the VPLS S-PMSI A-D route with the following
differences. A E-VPN Selective A-D route includes an optional differences. A E-VPN Selective A-D route includes an optional
Ethernet Tag field. Also an E-VPN selective A-D route may encode a Ethernet Tag field. Also an E-VPN selective A-D route may encode a
MAC address in the Group field. The encoding details of the E-VPN MAC address in the Group field. The encoding details of the E-VPN
selective A-D route will be described in the next revision. selective A-D route will be described in the next revision.
Selective trees can also be aggregated on the same P2MP LSP using Selective trees can also be aggregated on the same P2MP LSP using
aggregation as described in [VPLS-MCAST]. aggregation as described in [VPLS-MCAST].
20.4. Explicit Tracking 17.4. Explicit Tracking
[VPLS-MCAST] describes procedures for explicit tracking that rely on [VPLS-MCAST] describes procedures for explicit tracking that rely on
Leaf A-D routes. The same procedures are used for explicit tracking Leaf A-D routes. The same procedures are used for explicit tracking
in this specification with VPLS Leaf A-D routes replaced with E-VPN in this specification with VPLS Leaf A-D routes replaced with E-VPN
Leaf A-D routes. These procedures allow a root MES to request Leaf A-D routes. These procedures allow a root PE to request
multicast membership information for a given (S, G), from leaf MESs. multicast membership information for a given (S, G), from leaf PEs.
Leaf MESs rely on IGMP snooping or PIM snooping between the MES and Leaf PEs rely on IGMP snooping or PIM snooping between the PE and the
the CE to determine the multicast membership information. Note that CE to determine the multicast membership information. Note that the
the procedures in [VPLS-MCAST] do not describe how explicit tracking procedures in [VPLS-MCAST] do not describe how explicit tracking is
is performed if the CEs are enabled with join suppression. The performed if the CEs are enabled with join suppression. The
procedures for this case will be described in a future version. procedures for this case will be described in a future version.
21. Convergence 18. Convergence
This section describes failure recovery from different types of This section describes failure recovery from different types of
network failures. network failures.
21.1. Transit Link and Node Failures between MESes 18.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 in the order of 50ms, in the event of transit link and node
failures in the infrastructure that connects the MESes. failures in the infrastructure that connects the PEs.
21.2. MES Failures 18.2. PE Failures
Consider a host host1 that is dual homed to MES1 and MES2. If MES1
fails, a remote MES, MES3, can discover this based on the failure of Consider a host host1 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 session. This failure detection can be in the sub-second the BGP session. This failure detection can be in the sub-second
range if BFD is used to detect BGP session failure. MES3 can update range if BFD is used to detect BGP session failure. PE3 can update
its forwarding state to start sending all traffic for host1 to only its forwarding state to start sending all traffic for host1 to only
MES2. It is to be noted that this failure recovery is potentially PE2. It is to be noted that this failure recovery is potentially
faster than what would be possible if data plane learning were to be faster than what would be possible if data plane learning were to be
used. As in that case MES3 would have to rely on re-learning of MAC used. As in that case PE3 would have to rely on re-learning of MAC
addresses via MES2. addresses via PE2.
21.2.1. Local Repair
It is possible to perform local repair in the case of MES failures. 18.2.1. Local Repair
It is possible to perform local repair in the case of PE failures.
Details will be specified in the future. Details will be specified in the future.
21.3. MES to CE Network Failures 18.3. PE to CE Network Failures
When an Ethernet segment connected to an MES fails or when a Ethernet When an Ethernet segment connected to an PE fails or when a Ethernet
Tag is deconfigured on an Ethernet segment, then the MES MUST Tag is decommissioned on an Ethernet segment, then the PE MUST
withdraw the Ethernet A-D route(s) announced for the <ESI, Ethernet withdraw the Ethernet A-D route(s) announced for the <ESI, Ethernet
Tags> that are impacted by the failure or de-configuration. In Tags> that are impacted by the failure or decommissioning. In
addition the MES MUST also withdraw the MAC advertisement routes that addition, the PE MUST also withdraw the MAC advertisement routes that
are impacted by the failure or de-configuration. are impacted by the failure or decommissioning.
The Ethernet A-D routes should be used by an implementation to The Ethernet A-D routes should be used by an implementation to
optimize the withdrawal of MAC advertisement routes. When an MES optimize the withdrawal of MAC advertisement routes. When an PE
receives a withdrawal of a particular Ethernet A-D route from an MES receives a withdrawal of a particular Ethernet A-D route from an PE
it SHOULD consider all the MAC advertisement routes, that are learned it SHOULD consider all the MAC advertisement routes, that are learned
from the same <ESI, Ethernet Tag> as in the Ethernet A-D route, from from the same <ESI, Ethernet Tag> as in the Ethernet A-D route, from
the advertising MES, as having been withdrawn. This optimizes the the advertising PE, as having been withdrawn. This optimizes the
network convergence times in the event of MES to CE failures. network convergence times in the event of PE to CE failures.
22. LACP State Synchronization 19. LACP State Synchronization
This section requires review and discussion amongst the authors and This section requires review and discussion amongst the authors and
will be revised in the next version. will be revised in the next version.
To support CE multi-homing with multi-chassis Ethernet bundles, the To support CE multi-homing with multi-chassis Ethernet bundles, the
MESes connected to a given CE should synchronize [802.1AX] LACP state PEs connected to a given CE should synchronize [802.1AX] LACP state
amongst each other. This ensures that the MESes can present a single amongst each other. This ensures that the PEs can present a single
LACP bundle to the CE. This is required for initial system bring-up LACP bundle to the CE. This is required for initial system bring-up
and upon any configuration change. and upon any configuration change.
This includes at least the following LACP specific configuration This includes at least the following LACP specific configuration
parameters: parameters:
- System Identifier (MAC Address): uniquely identifies a LACP - System Identifier (MAC Address): uniquely identifies a LACP
speaker. speaker.
- System Priority: determines which LACP speaker's port - System Priority: determines which LACP speaker's port
priorities are used in the Selection logic. priorities are used in the Selection logic.
- Aggregator Identifier: uniquely identifies a bundle within - Aggregator Identifier: uniquely identifies a bundle within
a LACP speaker. a LACP speaker.
- Aggregator MAC Address: identifies the MAC address of the - Aggregator MAC Address: identifies the MAC address of the
bundle. bundle.
- Aggregator Key: used to determine which ports can join an - Aggregator Key: used to determine which ports can join an
Aggregator. Aggregator.
- Port Number: uniquely identifies an interface within a LACP - Port Number: uniquely identifies an interface within a LACP
speaker. speaker.
skipping to change at page 36, line 20 skipping to change at page 40, line 7
bundle. bundle.
- Aggregator Key: used to determine which ports can join an - Aggregator Key: used to determine which ports can join an
Aggregator. Aggregator.
- Port Number: uniquely identifies an interface within a LACP - Port Number: uniquely identifies an interface within a LACP
speaker. speaker.
- Port Key: determines the set of ports that can be bundled. - Port Key: determines the set of ports that can be bundled.
- Port Priority: determines a port's precedence level to join - Port Priority: determines a port's precedence level to join
a bundle in case the number of eligible ports exceeds the a bundle in case the number of eligible ports exceeds the
maximum number of links allowed in a bundle. maximum number of links allowed in a bundle.
Furthermore, the MESes should also synchronize operational (run-time) Furthermore, the PEs should also synchronize operational (run-time)
data, in order for the LACP Selection logic state-machines to data, in order for the LACP Selection logic state-machines to
execute. This operational data includes the following LACP execute. This operational data includes the following LACP
operational parameters, on a per port basis: operational parameters, on a per port basis:
- Partner System Identifier: this is the CE System MAC address. - Partner System Identifier: this is the CE System MAC address.
- Partner System Priority: the CE LACP System Priority - Partner System Priority: the CE LACP System Priority
- Partner Port Number: CE's AC port number. - Partner Port Number: CE's AC port number.
- Partner Port Priority: CE's AC Port Priority. - Partner Port Priority: CE's AC Port Priority.
- Partner Key: CE's key for this AC. - Partner Key: CE's key for this AC.
- Partner State: CE's LACP State for the AC. - Partner State: CE's LACP State for the AC.
- Actor State: PE's LACP State for the AC. - Actor State: PE's LACP State for the AC.
- Port State: PE's AC port status. - Port State: PE's AC port status.
The above state needs to be communicated between MESes forming a The above state needs to be communicated between PEs forming a multi-
multi-chassis bundle during LACP initial bringup, upon any chassis bundle during LACP initial bringup, upon any configuration
configuration change and upon the occurrence of a failure. change and upon the occurrence of a failure.
It should be noted that the above configuration and operational state It should be noted that the above configuration and operational state
is localized in scope and is only relevant to MESes which connect to is localized in scope and is only relevant to PEs which connect to
the same multi-homed CE over a given Ethernet bundle. the same multi-homed CE over a given Ethernet bundle.
Furthermore, the communication of state changes, upon failures, must Furthermore, the communication of state changes, upon failures, must
occur with minimal latency, in order to minimize the switchover time occur with minimal latency, in order to minimize the switchover time
and consequent service disruption. The protocol details for and consequent service disruption. The protocol details for
synchronizing the LACP state will be described in the following synchronizing the LACP state will be described in the following
version. version.
23. Acknowledgements 20. Acknowledgements
We would like to thank Yakov Rekhter, Pedro Marques, Kaushik Ghosh, We would like to thank Yakov Rekhter, Pedro Marques, Kaushik Ghosh,
Nischal Sheth, Robert Raszuk and Amit Shukla for discussions that Nischal Sheth, Robert Raszuk, Amit Shukla and Nadeem Mohammed for
helped shape this document. We would also like to thank Han Nguyen discussions that helped shape this document. We would also like to
for his comments and support of this work. We would also like to thank Han Nguyen for his comments and support of this work. We would
thank Steve Kensil for his review. also like to thank Steve Kensil for his review.
24. References 21. References
[E-VPN-REQ] A. Sajassi, R. Aggarwal et. al., "Requirements for [E-VPN-REQ] A. Sajassi, R. Aggarwal et. al., "Requirements for
Ethernet VPN", draft-sajassi-raggarwa-l2vpn-evpn-req- Ethernet VPN", draft-sajassi-raggarwa-l2vpn-evpn-req-
00.txt 00.txt
[RFC4364] "BGP/MPLS IP VPNs", Rosen, Rekhter, et. al., February 2006 [RFC4364] "BGP/MPLS IP VPNs", Rosen, Rekhter, et. al., February 2006
[VPLS-MCAST] "Multicast in VPLS". R. Aggarwal et.al., draft-ietf- [VPLS-MCAST] "Multicast in VPLS". R. Aggarwal et.al., draft-ietf-
l2vpn-vpls-mcast-04.txt l2vpn-vpls-mcast-04.txt
[RFC4761] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service [RFC4761] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service
skipping to change at page 37, line 42 skipping to change at page 41, line 30
[IGMP-SNOOPING] "Considerations for Internet Group Management [IGMP-SNOOPING] "Considerations for Internet Group Management
Protocol (IGMP) and Multicast Listener Discovery (MLD) Protocol (IGMP) and Multicast Listener Discovery (MLD)
Snooping Switches", M. Christensen et. al., RFC4541, Snooping Switches", M. Christensen et. al., RFC4541,
[RT-CONSTRAIN] P. Marques et. al., "Constrained Route Distribution [RT-CONSTRAIN] P. Marques et. al., "Constrained Route Distribution
for Border Gateway Protocol/MultiProtocol Label Switching for Border Gateway Protocol/MultiProtocol Label Switching
(BGP/MPLS) Internet Protocol (IP) Virtual Private Networks (BGP/MPLS) Internet Protocol (IP) Virtual Private Networks
(VPNs)", RFC 4684, November 2006 (VPNs)", RFC 4684, November 2006
25. Author's Address [EVPN-SEGMENT-ROUTE] A. Sajassi et. al., "E-VPN Ethernet Segment
Route", draft-sajassi-l2vpn-evpn-segment-route-00.txt,
work in progress.
21. Author's Address
Rahul Aggarwal Rahul Aggarwal
Email: raggarwa_1@yahoo.com Email: raggarwa_1@yahoo.com
Ali Sajassi Ali Sajassi
Cisco Cisco
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134, US San Jose, CA 95134, US
Email: sajassi@cisco.com Email: sajassi@cisco.com
skipping to change at page 38, line 31 skipping to change at page 42, line 25
Nabil Bitar Nabil Bitar
Verizon Communications Verizon Communications
Email : nabil.n.bitar@verizon.com Email : nabil.n.bitar@verizon.com
Ravi Shekhar Ravi Shekhar
Juniper Networks Juniper Networks
1194 N. Mathilda Ave. 1194 N. Mathilda Ave.
Sunnyvale, CA 94089 US Sunnyvale, CA 94089 US
Email: rshekhar@juniper.net Email: rshekhar@juniper.net
John Drake
Juniper Networks
1194 N. Mathilda Ave.
Sunnyvale, CA 94089 US
Email: jdrake@juniper.net
Florin Balus Florin Balus
Alcatel-Lucent Alcatel-Lucent
e-mail: Florin.Balus@alcatel-lucent.com e-mail: Florin.Balus@alcatel-lucent.com
Keyur Patel Keyur Patel
Cisco Cisco
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134, US San Jose, CA 95134, US
Email: keyupate@cisco.com Email: keyupate@cisco.com
Sami Boutros Sami Boutros
Cisco Cisco
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134, US San Jose, CA 95134, US
Email: sboutros@cisco.com Email: sboutros@cisco.com
Samer Salam
Cisco
595 Burrard Street, Suite 2123
Vancouver, BC V7X 1J1, Canada
Email: ssalam@cisco.com
 End of changes. 259 change blocks. 
1078 lines changed or deleted 1217 lines changed or added

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