BESS WorkGroup A. Sajassi
Internet-Draft P. Brissette
Intended status: Standards Track Cisco Systems
Expires: September 3, 2020 R. Schell
Verizon
J. Drake
Juniper
J. Rabadan
Nokia
March 2, 2020
EVPN Virtual Ethernet Segment
draft-ietf-bess-evpn-virtual-eth-segment-05
Abstract
EVPN and PBB-EVPN introduce a family of solutions for multipoint
Ethernet services over MPLS/IP network with many advanced features
among which their multi-homing capabilities. These solutions
introduce Single-Active and All-Active for an Ethernet Segment (ES),
itself defined as a set of physical links between the multi-homed
device/network and a set of PE devices that they are connected to.
This document extends the Ethernet Segment concept so that an ES can
be associated to a set of EVCs (e.g., VLANs) or other objects such as
MPLS Label Switch Paths (LSPs) or Pseudowires (PWs), referred to as
Virtual Ethernet Segments (vES). This draft describes the
requirements and the extensions needed to support vES in EVPN and
PBB-EVPN.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119] and
RFC 8174 [RFC8174].
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Sajassi, et al. Expires September 3, 2020 [Page 1]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 3, 2020.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Virtual Ethernet Segments in Access Ethernet Networks . . 3
1.2. Virtual Ethernet Segments in Access MPLS Networks . . . . 5
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1. Single-Homed and Multi-Homed vES . . . . . . . . . . . . 7
3.2. Scalability . . . . . . . . . . . . . . . . . . . . . . . 8
3.3. Local Switching . . . . . . . . . . . . . . . . . . . . . 8
3.4. EVC Service Types . . . . . . . . . . . . . . . . . . . . 9
3.5. Designated Forwarder (DF) Election . . . . . . . . . . . 9
3.6. OAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.7. Failure and Recovery . . . . . . . . . . . . . . . . . . 10
3.8. Fast Convergence . . . . . . . . . . . . . . . . . . . . 10
4. Solution Overview . . . . . . . . . . . . . . . . . . . . . . 11
4.1. EVPN DF Election for vES . . . . . . . . . . . . . . . . 12
5. Failure Handling and Recovery . . . . . . . . . . . . . . . . 13
5.1. Failure Handling for Single-Active vES in EVPN . . . . . 14
5.2. EVC Failure Handling for Single-Active vES in PBB-EVPN . 15
5.3. Port Failure Handling for Single-Active vESes in EVPN . . 16
5.4. Port Failure Handling for Single-Active vESes in PBB-EVPN 17
5.5. Fast Convergence in (PBB-)EVPN . . . . . . . . . . . . . 18
6. BGP Encoding . . . . . . . . . . . . . . . . . . . . . . . . 20
6.1. I-SID Extended Community . . . . . . . . . . . . . . . . 20
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21
Sajassi, et al. Expires September 3, 2020 [Page 2]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
8. Security Considerations . . . . . . . . . . . . . . . . . . . 21
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
10. Intellectual Property Considerations . . . . . . . . . . . . 21
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 21
11.1. Normative References . . . . . . . . . . . . . . . . . . 21
11.2. Informative References . . . . . . . . . . . . . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction
[RFC7432] and [RFC7623] introduce a family of solutions for
multipoint Ethernet services over MPLS/IP network with many advanced
features among which their multi-homing capabilities. These
solutions introduce Single-Active and All-Active for an Ethernet
Segment (ES), itself defined as a set of links between the multi-
homed device/network and a set of PE devices that they are connected
to.
This document extends the Ethernet Segment concept so that an ES can
be associated to a set of EVCs (e.g., VLANs) or other objects such as
MPLS Label Switch Paths (LSPs) or Pseudowires (PWs), referred to as
Virtual Ethernet Segments (vES). This draft describes the
requirements and the extensions needed to support vES in EVPN and
PBB-EVPN.
1.1. Virtual Ethernet Segments in Access Ethernet Networks
Some Service Providers (SPs) want to extend the concept of the
physical links in an ES to Ethernet Virtual Circuits (EVCs) where
many of such EVCs (e.g., VLANs) can be aggregated on a single
physical External Network-to-Network Interface (ENNI). An ES that
consists of a set of EVCs instead of physical links is referred to as
a virtual ES (vES). Figure 1 depicts two PE devices (PE1 and PE2)
each with an ENNI where a number of vESes are aggregated on - each of
which through its associated EVC.
Sajassi, et al. Expires September 3, 2020 [Page 3]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
Carrier
Ethernet
+-----+ Network
| CE11|EVC1 +---------+
+-----+ \ | | +---+
Cust. A \-0=========0--ENNI1| |
+-----+ | | ENNI1| | +-------+ +---+
| CE12|EVC2--0=========0--ENNI1|PE1|---| | | |
+-----+ | | ENNI1| | | |---|PE3|-
| ==0--ENNI1| | |IP/MPLS| | | \ +---+
+-----+ | / | +---+ |Network| +---+ \-| |
| CE22|EVC3--0==== / | | | |CE4|
+-----+ | X | | | +---+ | |
Cust. B | / \ | +---+ | | | | /-| |
+-----+ -0=== ===0--ENNI2| | | |---|PE4|-/ +---+
| CE3 |EVC4/ | | ENNI2|PE2|---| | | |
| |EVC5--0=========0--ENNI2| | +-------+ +---+
+-----+ | | +---+
Cust. C +---------+ /\
/\ ||
|| ENNI
EVCs Interface
<--------802.1Q----------> <---- EVPN Network -----> <-802.1Q->
Figure 1: DHD/DHN (both SA/AA) and SH on same ENNI
ENNIs are commonly used to reach off-network / out-of-franchise
customer sites via independent Ethernet access networks or third-
party Ethernet Access Providers (EAP) (see Figure 1). ENNIs can
aggregate traffic from hundreds to thousands of vESes, where each vES
is represented by its associated EVC on that ENNI. As a result,
ENNIs and their associated EVCs are a key element of SP off-networks
that are carefully designed and closely monitored.
In order to meet customers' Service Level Agreements (SLA), SPs build
redundancy via multiple EVPN PEs and across multiple ENNIs (as shown
in Figure 1) where a given vES can be multi-homed to two or more EVPN
PE devices (on two or more ENNIs) via their associated EVCs. Just
like physical ES's in [RFC7432] and [RFC7623] solutions, these vESes
can be single-homed or multi-homed ES's and when multi-homed, then
can operate in either Single-Active or All-Active redundancy modes.
In a typical SP off-network scenario, an ENNI can be associated with
several thousands of single-homed vESes, several hundreds of Single-
Active vESes and it may also be associated with tens or hundreds of
All-Active vESes.
Sajassi, et al. Expires September 3, 2020 [Page 4]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
1.2. Virtual Ethernet Segments in Access MPLS Networks
Other Service Providers (SPs) want to extend the concept of the
physical links in an ES to individual Pseudowires (PWs) or to MPLS
Label Switched Paths (LSPs) in Access MPLS networks - i.e., a vES
consisting of a set of PWs or a set of LSPs. Figure 2 illustrates
this concept.
MPLS Aggregation
Network
+-----+ +-----------------+
| CE11|EVC1 | |
+-----+ \+AG1--+ PW1 +-----+
Cust. A -0----|===========| |
+-----+ | ---+===========| | +-------+ +---+
| CE12|EVC2-0/ | PW2 /\ | PE1 +---+ | | |
+-----+ ++---+ ==||=| | | +---+PE3+-
| //=||=| | |IP/MPLS| | | \ +---+
| // \/ ++----+ |Network| +---+ \-+ |
+-----+EVC3 | PW3// LSP1 | | | |CE4|
| CE13| +AG2--+===/PW4 | | | +---+ | |
+-----+ 0 |=== /\ ++----+ | | | | /-+ |
0 |==PW5===||=| | | +---+PE4+-/ +---+
+-----+ /++---+==PW6===||=| PE2 +---+ | | |
| CE14|EVC4 | \/ | | +-------+ +---+
+-----+ | LSP2+-----+
Cust. C +-----------------+
/\
||
EVCs
<--802.1Q---><------MPLS------> <---- EVPN Network ---> <-802.1Q->
Figure 2: DHN and SH on Access MPLS networks
In some cases, Service Providers use Access MPLS Networks that belong
to separate administrative entities or third parties as a way to get
access to the their own IP/MPLS network infrastructure. This is the
case illustrated in Figure 2.
In such scenarios, a virtual ES (vES) is defined as a set of
individual PWs if they cannot be aggregated into a common LSP. If
the aggregation of PWs is possible, the vES can be associated to an
LSP in a given PE. In the example of Figure 2, EVC3 is connected to
a VPWS instance in AG2 that is connected to PE1 and PE2 via PW3 and
Sajassi, et al. Expires September 3, 2020 [Page 5]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
PW5 respectively. EVC4 is connected to a separate VPWS instance on
AG2 that gets connected to an EVI on PE1 and PE2 via PW4 and PW6,
respectively. Since the PWs for the two VPWS instances can be
aggregated into the same LSPs going to the MPLS network, a common
virtual ES can be defined for LSP1 and LSP2. This vES will be shared
by two separate EVIs in the EVPN network.
In some cases, this aggregation of PWs into common LSPs may not be
possible. For instance, if PW3 were terminated into a third PE, e.g.
PE3, instead of PE1, the vES would need to be defined on a per
individual PW on each PE, i.e. PW3 and PW5 would belong to ES-1,
whereas PW4 and PW6 would be associated to ES-2.
For MPLS/IP access networks where a vES represents a set of PWs or
LSPs, this document extends Single-Active multi-homing procedures of
[RFC7432] and [RFC7623] to vES. The vES extension to All-Active
multi- homing is outside of the scope of this document for MPLS/IP
access networks.
This draft describes requirements and the extensions needed to
support a vES in [RFC7432] and [RFC7623]. Section 3 lists the set of
requirements for a vES. Section 4 describes extensions for a vES
that are applicable to EVPN solutions including [RFC7432] and
[RFC7209]. Furthermore, these extensions meet the requirements
described in section 3. Section 4 gives solution overview and
section 5 describes failure handling, recovery, scalability, and fast
convergence of [RFC7432] and [RFC7623] for vESes. Section 6
introduces a new BGP extended community and its encoding.
2. Terminology
AC: Attachment Circuit
BEB: Backbone Edge Bridge
B-MAC: Backbone MAC Address
CE: Customer Edge
CFM: Connectivity Fault Management (802.1ag)
C-MAC: Customer/Client MAC Address
DHD: Dual-homed Device
DHN: Dual-homed Network
ENNI: External Network-Network Interface
Sajassi, et al. Expires September 3, 2020 [Page 6]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
ES: Ethernet Segment
ESI: Ethernet Segment Identifier
EVC: Ethernet Virtual Circuit
EVPN: Ethernet VPN
I-SID: Service Instance Identifier (24 bits and global within a PBB
network see [RFC7080])
LACP: Link Aggregation Control Protocol
PBB: Provider Backbone Bridge
PBB-EVPN: Provider Backbone Bridge EVPN
PE: Provider Edge
SH: Single-Homed
Single-Active Redundancy Mode (SA): When only a single PE, among a
group of PEs attached to an Ethernet Segment, is allowed to forward
traffic to/from that Ethernet Segment, then the Ethernet Segment is
defined to be operating in Single-Active redundancy mode.
All-Active Redundancy Mode (AA): When all PEs attached to an Ethernet
segment are allowed to forward traffic to/from that Ethernet Segment,
then the Ethernet Segment is defined to be operating in All-Active
redundancy mode.
3. Requirements
This section describes the requirements specific to virtual Ethernet
Segment (vES) for (PBB-)EVPN solutions. These requirements are in
addition to the ones described in [RFC8214], [RFC7432], and
[RFC7623].
3.1. Single-Homed and Multi-Homed vES
A PE needs to support the following types of vESes:
(R1a) A PE MUST handle single-homed vESes on a single physical port
(e.g., single ENNI)
(R1b) A PE MUST handle a mix of Single-Homed vESes and Single-Active
multi-homed vESes simultaneously on a single physical port (e.g.,
Sajassi, et al. Expires September 3, 2020 [Page 7]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
single ENNI). Single-Active multi-homed vESes will be simply
referred to as Single-Active vESes through the rest of this document.
(R1c) A PE MAY handle All-Active multi-homed vESes on a single
physical port. All-Active multi-homed vESes will be simply referred
to as All-Active vESes through the rest of this document.
(R1d) A PE MAY handle a mixed of All-Active vESes along with other
types of vESes on a single physical port.
(R1e) A Multi-Homed vES (Single-Active or All-Active) can be spread
across two or more ENNIs, on any two or more PEs.
3.2. Scalability
A single physical port (e.g., ENNI) can be associated with many
vESes. The following requirements give a quantitative measure for
each vES type.
(R2a) A PE SHOULD handle very large number of Single-Homed vESes on a
single physical port (e.g., thousands of vESes on a single ENNI).
(R2b) A PE SHOULD handle large number of Single-Active vESes on a
single physical port (e.g., hundreds of vESes on a single ENNI).
(R2c) A PE MAY handle large number of All-Active vESes on a single
physical port (e.g., hundreds of vESes on a single ENNI).
(R2d) A PE SHOULD handle the above scale for a mix of Single-homed
vESes and Single-Active vESes simultaneously on a single physical
port (e.g., single ENNI).
(R2e) A PE MAY handle the above sale for a mixed of All-Active vESes
along with other types of vESes on a single physical port.
3.3. Local Switching
Many vESes of different types can be aggregated on a single physical
port on a PE device and some of these vES can belong to the same
service instance (or customer). This translates into the need for
supporting local switching among the vESes of the same service
instance on the same physical port (e.g., ENNI) of the PE.
(R3a) A PE MUST support local switching among different vESes
belonging to the same service instance (or customer) on a single
physical port. For example, in Figure 1, PE1 MUST support local
switching between CE11 and CE12 (both belonging to customer A) that
are mapped to two Single-homed vESes on ENNI1. In case of Single-
Sajassi, et al. Expires September 3, 2020 [Page 8]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
Active vESes, the local switching is performed among active EVCs
belonging to the same service instance on the same ENNI.
3.4. EVC Service Types
A physical port (e.g., ENNI) of a PE can aggregate many EVCs each of
which is associated with a vES. Furthermore, an EVC may carry one or
more VLANs. Typically, an EVC carries a single VLAN and thus it is
associated with a single broadcast domain. However, there is no
restriction on an EVC to carry more than one VLAN.
(R4a) An EVC can be associated with a single broadcast domain - e.g.,
VLAN-based service or VLAN bundle service.
(R4b) An EVC MAY be associated with several broadcast domains - e.g.,
VLAN-aware bundle service.
In the same way, a PE can aggregate many LSPs and PWs. In the case
of individual PWs per vES, typically a PW is associated with a single
broadcast domain, but there is no restriction on the PW to carry more
than one VLAN if the PW is of type Raw mode.
(R4c) A PW can be associated with a single broadcast domain - e.g.,
VLAN-based service or VLAN bundle service.
(R4d) An PW MAY be associated with several broadcast domains - e.g.,
VLAN-aware bundle service.
3.5. Designated Forwarder (DF) Election
Section 8.5 of [RFC7432] describes the default procedure for DF
election in EVPN which is also used in [RFC7623] and [RFC8214]. This
default DF election procedure is performed at the granularity of
(ESI, Ethernet Tag). In case of a vES, the same EVPN default
procedure for DF election also applies; however, at the granularity
of (vESI, Ethernet Tag); where vESI is the virtual Ethernet Segment
Identifier and the Ethernet Tag field is represented by and I-SID in
PBB-EVPN and by a VLAN ID (VID) in EVPN. As in [RFC7432], this
defult procedure for DF election at the granularity of (vESI,
Ethernet Tag) is also referred to as "service carving". With service
carving, it is desireable to evenly partition the DFs for different
vES's among different PEs, thus evenly distributing the traffic among
different PEs. The following list the requirements apply to DF
election of vES's for (PBB-)EVPN.
(R5a) A vES with m EVCs can be distributed among n ENNIs belonging to
p PEs in any arbitrary order; where n >= p >= m. For example, if
there is an vES with 2 EVCs and there are 5 ENNIs on 5 PEs (PE1
Sajassi, et al. Expires September 3, 2020 [Page 9]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
through PE5), then vES can be dual-homed to PE2 and PE4 and the DF
election must be performed between PE2 and PE4.
(R5b) Each vES MUST be identified by its own virtual ESI (vESI).
3.6. OAM
In order to detect the failure of an individual EVC and perform DF
election for its associated vES as the result of this failure, each
EVC should be monitored independently.
(R6a) Each EVC SHOULD be monitored for its health independently.
(R6b) A single EVC failure (among many aggregated on a single
physical port/ENNI) MUST trigger DF election for its associated vES.
3.7. Failure and Recovery
(R7a) Failure and failure recovery of an EVC for a Single-homed vES
SHALL NOT impact any other EVCs within its service instance or any
other service instances. In other words, for PBB-EVPN, it SHALL NOT
trigger any MAC flushing both within its own I-SID as well as other
I-SIDs. (R7b) In case of All-Active vES, failure and failure
recovery of an EVC for that vES SHALL NOT impact any other EVCs
within its service instance or any other service instances. In other
words, for PBB-EVPN, it SHALL NOT trigger any MAC flushing both
within its own I-SID as well as other I-SIDs. (R7c) Failure and
failure recovery of an EVC for a Single-Active vES SHALL impact only
its own service instance. In other words, for PBB- EVPN, MAC
flushing SHALL be limited to the associated I-SID only and SHALL NOT
impact any other I-SIDs. (R7d) Failure and failure recovery of an
EVC for a Single-Active vES MAY only impact C-MACs associated with
MHD/MHNs for that service instance. In other words, MAC flushing
SHOULD be limited to single service instance (I-SID in the case of
PBB-EVPN) and only CMACs for Single-Active MHD/MHNs.
3.8. Fast Convergence
Since large number of EVCs (and their associated vESes) are
aggregated via a single physical port (e.g., ENNI), then the failure
of that physical port impacts large number of vESes and triggers
large number of ES route withdrawals. Formulating, sending,
receiving, and processing such large number of BGP messages can
introduce delay in DF election and convergence time. As such, it is
highly desirable to have a mass-withdraw mechanism similar to the one
in the [RFC7432] for withdrawing large number of Ethernet A-D routes.
(R8a) There SHOULD be a mechanism equivalent to EVPN mass-withdraw
such that upon an ENNI failure, only a single BGP message is needed
Sajassi, et al. Expires September 3, 2020 [Page 10]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
to indicate to the remote PEs to trigger DF election for all impacted
vES associated with that ENNI.
4. Solution Overview
The solutions described in [RFC7432] and [RFC7623] are leveraged as-
is with the modification that the ESI assignment is performed for an
EVC or a group of EVCs or LSPs/PWs instead of a link or a group of
physical links. In other words, the ESI is associated with a virtual
ES (vES), hereby referred to as vESI. For the EVPN solution,
everything basically remains the same except for the handling of
physical port failure where many vESes can be impacted. Section 5.1
and 5.3 below describe the handling of physical port/link failure for
EVPN. In a typical multi-homed operation, MAC addresses are learned
behind a vES and are advertised with the ESI corresponding to the vES
(i.e., vESI). EVPN aliasing and mass- withdraw operations are
performed with respect to vES. In other words, the Ethernet A-D
routes for these operations are advertised with vESI instead of ESI.
For PBB-EVPN solution, the main change is with respect to the BMAC
address assignment which is performed similar to what is described in
section 7.2.1.1 of [RFC7623] with the following refinements:
o One shared BMAC address SHOULD used per PE for the single-homed
vESes. In other words, a single BMAC is shared for all single-
homed vESes on that PE.
o One shared BMAC address SHOULD be used per PE per physical port
(e.g., ENNI) for the Single-Active vESes. In other words, a
single BMAC is shared for all Single-Active vESes that share the
same ENNI.
o One shared BMAC address MAY be used for all Single-Active vESes on
that PE.
o One BMAC address SHOULD be used per set of EVCs representing an
All-Active vES. In other words, a single BMAC address is used per
vES for All-Active scenarios.
o A single BMAC address MAY also be used per vES per PE for Single-
Active scenarios.
Sajassi, et al. Expires September 3, 2020 [Page 11]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
BEB +--------------+ BEB
|| | | ||
\/ | | \/
+----+ EVC1 +----+ | | +----+ +----+
| CE1|------| | | | | |---| CE2|
+----+\ | PE1| | IP/MPLS | | PE3| +----+
\ +----+ | Network | +----+
\ | |
EVC2\ +----+ | |
\ | | | |
\| PE2| | |
+----+ | |
/\ +--------------+
||
BEB
<--802.1Q--><---------- PBB-EVPN --------><--802.1Q->
Figure 3: PBB-EVPN Network
4.1. EVPN DF Election for vES
The procedure for service carving for virtual Ethernet Segments is
the same as the one outlined in section 8.5 of [RFC7432] except for
the fact that ES is replaced with vES. For the sake of clarity and
completeness, this procedure is repeated below:
1. When a PE discovers the vESI or is configured with the vESI
associated with its attached vES, it advertises an Ethernet
Segment route with the associated ES-Import extended community
attribute.
2. The PE then starts a timer (default value = 3 seconds) to allow
the reception of Ethernet Segment routes from other PE nodes
connected to the same vES. This timer value MUST be same across
all PEs connected to the same vES.
3. When the timer expires, each PE builds an ordered list of the IP
addresses of all the PE nodes connected to the vES (including
itself), in increasing numeric value. Each IP address in this
list is extracted from the "Originator Router's IP address" field
of the advertised Ethernet Segment route. Every PE is then given
an ordinal indicating its position in the ordered list, starting
with 0 as the ordinal for the PE with the numerically lowest IP
address. The ordinals are used to determine which PE node will
be the DF for a given EVPN instance on the vES using the
following rule: Assuming a redundancy group of N PE nodes, the PE
Sajassi, et al. Expires September 3, 2020 [Page 12]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
with ordinal i is the DF for an EVPN instance with an associated
Ethernet Tag value of V when (V mod N) = i. It should be noted
that using "Originator Router's IP address" field in the Ethernet
Segment route to get the PE IP address needed for the ordered
list, allows for a CE to be multi-homed across different ASes if
such need ever arises.
4. The PE that is elected as a DF for a given EVPN instance will
unblock traffic for that EVPN instance. Note that the DF PE
unblocks all traffic in both ingress and egress directions for
Single-Active vES and unblocks multi-destination in egress
direction for All-Active Multi-homed vES. All non-DF PEs block
all traffic in both ingress and egress directions for Single-
Active vES and block multi-destination traffic in the egress
direction for All-Active vES.
In the case of an EVC failure, the affected PE withdraws its Virtual
Ethernet Segment route if there are no more EVCs associated to the
vES in the PE. This will re-trigger the DF Election procedure on all
the PEs in the Redundancy Group. For PE node failure, or upon PE
commissioning or decommissioning, the PEs re-trigger the DF Election
Procedure across all affected vESes. In case of a Single-Active,
when a service moves from one PE in the Redundancy Group to another
PE as a result of DF re-election, the PE, which ends up being the
elected DF for the service, SHOULD trigger a MAC address flush
notification towards the associated vES. This can be done, for e.g.
using IEEE 802.1ak MVRP 'new' declaration.
For LSP-baesd and PW-based vES, the non-DF PE SHOULD signal PW-status
'standby' to the Aggregation PE (e.g., AG PE in Figure 2), and a new
DF PE MAY send an LDP MAC withdraw message as a MAC address flush
notification. It should be noted that the PW-status is signaled for
the scenarios where there is a one-to-one mapping between EVI/BD and
the PW.
5. Failure Handling and Recovery
There are a number of failure scenarios to consider such as:
A: CE uplink port failure
B: Ethernet Access Network failure
C: PE access-facing port or link failure
D: PE node failure
E: PE isolation from IP/MPLS network
Sajassi, et al. Expires September 3, 2020 [Page 13]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
[RFC7432], [RFC7623], and [RFC8214] solutions provide protection
against such failures as described in the corresponding references.
In the presence of virtual Ethernet Segments (vESes) in these
solutions, besides the above failure scenarios, EVC failure is an
additional scenario to consider. Handing vES failure scenarios
implies that individual EVCs or PWs need to be monitored and upon
detection of failure or restoration of services, appropriate DF
election and failure recovery mechanisms are executed.
[ETH-OAM] is used for monitoring EVCs and upon failure detection of a
given EVC, DF election procedure per section [4.1] is executed. For
PBB-EVPN, some extensions are needed to handle the failure and
recovery procedures of [RFC7623] in order to meet the above
requirements. These extensions are described in the next section.
[MPLS-OAM] and [PW-OAM] are used for monitoring the status of LSPs
and/or PWs associated to vES.
B D
|| ||
\/ \/
+-----+
+-----+ | | +---+
| CE1 |EVC2--0=====0--ENNI1| | +-------+
+-----+ | =0--ENNI1|PE1|---| | +---+ +---+
Cust. A | / | | | |IP/MPLS|--|PE3|--|CE4|
+-----+ | / | +---+ |Network| | | +---+
| |EVC2--0== | | | +---+
| CE2 | | | +---+ | |
| |EVC3--0=====0--ENNI2|PE2|---| |
+-----+ | | | | +-------+
+-----+ +---+
/\ /\ /\
|| || ||
A C E
Figure 4: Failure Scenarios A,B,C,D and E
5.1. Failure Handling for Single-Active vES in EVPN
In RFC7432, when a DF PE connected to a Single-Active multi-homed
Ethernet Segment loses connectivity to the segment, due to link or
port failure, it signals to the remote PEs to withdraw all MAC
addresses associated with that Ethernet Segment. This is done by
advertising a mass-withdraw message using Ethernet A-D per-ES route.
Sajassi, et al. Expires September 3, 2020 [Page 14]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
It should be noted that for dual-homing use cases where there is only
a single backup path, MAC withdraw can be avoided by the remote PEs
as they can simply update their nexthop associated with the affected
MAC entries to the backup path per procedure described in section 8.2
of [RFC7432].
In case of an EVC failure which impacts a single vES, the exact same
EVPN procedure is used. In this case, the message using Ethernet A-D
per vES route carries the vESI representing the vES which in turn is
associated with the failed EVC. The remote PEs upon receiving this
message perform the same procedures outlined in section 8.2 of
[RFC7432].
5.2. EVC Failure Handling for Single-Active vES in PBB-EVPN
When a PE connected to a Single-Active Ethernet Segment loses
connectivity to the segment, due to link or port failure, it signals
the remote PE to flush all CMAC addresses associated with that
Ethernet Segment. This is done by advertising a BMAC route along
with MAC Mobility Extended community.
In case of an EVC failure that impacts a single vES, if the above
PBB-EVPN procedure is used, it results in excessive CMAC flushing
because a single physical port can support large number of EVCs (and
their associated vESes) and thus advertising a BMAC corresponding to
the physical port with MAC mobility Extended community will result in
flushing CMAC addresses not just for the impacted EVC but for all
other EVCs on that port.
In order to reduce the scope of CMAC flushing to only the impacted
service instances (the service instance(s) impacted by the EVC
failure), the BGP flush message is sent along with a list of impacted
I-SID(s) represented by the new EVPN I-SID Extended Community as
defined in section 6. Since typically an EVC maps to a single
broadcast domain and thus a single service instance, the list only
contains a single I-SID. However, if the failed EVC carries multiple
VLANs each with its own broadcast domain, then the list contains
several I-SIDs - one for each broadcast domain. This new BGP flush
message basically instructs the remote PE to perform flushing for
CMACs corresponding to the advertised BMAC only across the advertised
list of I-ISIDs.
The new I-SID Extended Community provides a way to encode upto 24 I-
SIDs in each Extended Community if the impacted I-SIDs are sequential
(the base I-SID value plus the next 23 I-SID values). If the number
of I-SIDs associated with a failed EVC is large or if the affected I-
SIDs are not sequential, then multiple I-SID Extended Communities can
be sent along with the flush message. However, if the number of
Sajassi, et al. Expires September 3, 2020 [Page 15]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
affected I-SIDs is very large such that the corresponding I-SID
Extended Communities cannot be fitted in a single BGP attribute, then
the EVC failure can be treated as a port failure and the procedures
of section 5.4 can be exercised (i.e., a single BGP flush message
without the I-SID list can be transmitted). When the BGP flush
message is transmitted without the I-SID list, then it instructs the
receiving PEs to flush CMACs associated with that BMAC across all I-
SIDs.
There can be scenarios (although unlikely) where multiple EVCs within
the same physical port can fail within a short time resulting in the
PE advertising multiple BGP flush messages each with their own list
of I-SIDs; however, the route reflector receiving these messages will
only send the last flush message. This results in PEs receiving such
flush messages not to properly flush all the affected I-SIDs. In
order to address such scenarios, a timer T1 is started upon an EVC1
failure on the advertising PE. If there is another EVC2 failure
within T1, affected I-SIDs are aggregated for both EVC1 and EVC2 to
be sent along the new flush message. Furthermore when EVC2 failure
occurs, another timer T2 (with the same value as T1) is started to
keep track of the affected I-SIDs for EVC2. Such I-SID aggregation
may result in multiple flushing for the same I-SID(s) on the
receiving PEs. The default value for this timer T is 10 seconds.
The I-SID dependent flushing mechanism described in this section is
also backward compatible for the PEs supporting [RFC7623] such that
the PEs that don't understand the I-SID list (i.e., the new I-SID
Extended Community) simply ignore it and default to flushing all the
I-SIDs for the B-MAC - i.e., the PEs default to per-port flushing
described in section 5.4.
The above BMAC route that is advertised with the MAC Mobility
Extended Community, can either represent the MAC address of the
physical port that the failed EVC is associated with, or it can
represent the MAC address of the PE. In the latter case, this is the
dedicated per-PE MAC address used for all Single-Active vESes on that
PE. The former one performs better than the latter one in terms of
reducing the scope of flushing and thus it is the recommended
approach because only CMAC addresses for the impacted service
instances on the failed EVC are flushed.
5.3. Port Failure Handling for Single-Active vESes in EVPN
When a large number of EVCs are aggregated via a single physical port
on a PE; where each EVC corresponds to a vES, then the port failure
impacts all the associated EVCs and their corresponding vESes. If
the number of EVCs corresponding to the Single-Active vESes for that
physical port is in thousands, then thousands of service instances
Sajassi, et al. Expires September 3, 2020 [Page 16]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
are impacted. Therefore, the BGP flush message need to be inclusive
of all these impacted service instances. In order to achieve this,
the following extensions are added to the baseline EVPN mechanism:
1. When a PE advertises an Ethernet A-D per ES route for a given
vES, it colors it with the MAC address of the physical port which
is associated with that vES using EVPN Router's MAC Extended
Community per [EVPN-IRB]. The receiving PEs take note of this
color and create a list of vESes for this color.
2. Upon a port failure (e.g., ENNI failure), the PE advertise a
special mass-withdraw message with the MAC address of the failed
port (i.e., the color of the port) encoded in the ESI field. For
this encoding, type 3 ESI (RFC7432 section 5) is used with the
MAC field set to the MAC address of the port and the 3-octet
local discriminator field set to 0xFFFFFF. This mass-withdraw
route is advertised with a list of Route Targets corresponding to
the impacted service instances. If the number of Route Targets
is more than can fit into a single attribute, then a set of
Ethernet A-D per ES routes are advertised.
3. Upon a port failure (e.g., ENNI failure), the PE advertise a
special mass-withdraw message with the MAC address of the failed
port.
4. The remote PEs upon receiving this message, based on ESI Type 3
and 0xFFFFFF Local Discrimnator values, detect the special vES
mass-withdraw message. The remote PEs then access the list of
the vES's for the specified color created in (1) and initialte
locally mass-withdraw procedures for each of the vES's in the
list.
In scenarios where a logical ENNI is used the above procedure equally
applies. The logical ENNI is represented by a Type 3 ESI and the MAC
address used in the ENNI's ESI is used as a color for vESes as
described above.
5.4. Port Failure Handling for Single-Active vESes in PBB-EVPN
When a large number of EVCs are aggregated via a single physical port
on a PE, where each EVC corresponds to a vES, then the port failure
impacts all the associated EVCs and their corresponding vESes. If
the number of EVCs corresponding to the Single-Active vESes for that
physical port is in thousands, then thousands of service instances
(I-SIDs) are impacted. In such failure scenarios, the following two
MAC flushing mechanisms per [RFC7623] can be performed.
Sajassi, et al. Expires September 3, 2020 [Page 17]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
1. If the MAC address of the physical port is used for PBB
encapsulation as BMAC SA, then upon the port failure, the PE MUST
use the EVPN MAC route withdrawal message to signal the flush.
2. If the PE shared MAC address is used for PBB encapsulation as
BMAC SA, then upon the port failure, the PE MUST re-advertise
this MAC route with the MAC Mobility Extended Community to signal
the flush.
The first method is recommended because it reduces the scope of
flushing the most.
5.5. Fast Convergence in (PBB-)EVPN
As described above, when a large number of EVCs are aggregated via a
physical port on a PE, and where each EVC corresponds to a vES, then
the port failure impacts all the associated EVCs and their
corresponding vESes. Two actions must be taken as the result of such
port failure:
o For EVPN initiate mass-withdraw procedure for all vESes associated
with the failed port and for PBB-EVPN flush all CMACs associated
with the BMAC of the failed port across all the impacted I-SIDs
o DF election for all impacted vESes associated with the failed port
Section 5.3 already describes how perform mass-withdraw for all
affected vESes using a single BGP advertisment. Section 5.4
describes how to flush CMAC address in the most optimum way - e.g.,
to flush least number of CMAC addresses for the impacted I-SIDs.
This section describes how to perform DF election in the most optimum
way - e.g., to trigger DF election for all impacted vESes (which can
be in thousands) among the participating PEs via a single BGP message
as opposed to sending thousands of BGP messages - one per vES. This
section assumes that the MAC flushing mechanism described in section
5.4, bullet (1) is used.
In order to devise such fast convergence mechanism that can be
triggered via a single BGP message, all vESes associated with a given
physical port (e.g., ENNI) are colored with the same color
representing that physical port. The MAC address of the physical
port is used for this coloring purposes and when the PE advertises an
ES route for a vES associated with that physical port, it advertises
it with an EVPN Router's MAC Extended Community indicating the color
of that port.
The receiving PEs take note of this color and for each such color,
they create a list of vESes associated with this color (i.e.,
Sajassi, et al. Expires September 3, 2020 [Page 18]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
associated with this MAC address). Now, when a port failure occurs,
the impacted PE needs to notify the other PEs of this color so that
these PEs can identify all the impacted vESes associated with this
color (from the above list) and re-execute DF election procedures for
all the impacted vESes. This is done by withdrawing the BMAC address
associated with the failed port.
+-----+
+----+ | | +---+
| CE1|AC1--0=====0--ENNI1| | +-------+
| |AC2--0 | |PE1|--| |
+----+ |\ ==0--ENNI2| | | |
| \/ | +---+ | |
| /\ | |IP/MPLS|
+----+ |/ \ | +---+ |Network| +---+ +---+
| CE2|AC4--0 =0--ENNI3| | | |---|PE4|--|CE4|
| |AC4--0=====0--ENNI3|PE2|--| | +---+ +---+
+----+ | ====0--ENNI3| | | |
|/ | +---+ | |
0 | | |
+----+ /| | +---+ | |
| CE3|AC5- | | |PE3|--| |
| |AC6--0=====0--ENNI4| | +-------+
+----+ | | +---+
+-----+
Figure 5: Fast Convergence Upon ENNI Failure
The following describes the procedure for coloring vESes and fast
convergence using this color in more details:
1. When a vES is configured, the PE colors the vES with the MAC
address of the corresponding physical port and advertises the
Ethernet Segment route for this vES with this color.
2. All other PEs (in the redundancy group) take note of this color
and add the vES to the list for this color.
3. Upon the occurrence of a port failure (e.g., an ENNI failure),
for PBB-EVPN the PE sends the flush message by withdrawing the
BMAC address associated with the failed port and for EVPN, the PE
withdraws Ethernet Segment route associated with the failed port.
The PE should prioritize sending this flush message over ES route
withdrawal messages of impacted vESes.
Sajassi, et al. Expires September 3, 2020 [Page 19]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
4. On reception of the flush message, other PEs use this info to
flush their impacted MACs and to initiate DF election procedures
across all their affected vESes.
5. The PE with the physical port failure (ENNI failure), also sends
vES route withdrawal for every impacted vESes. The other PEs
upon receiving these messages, clear up their BGP tables. It
should be noted the vES route withdrawal messages are not used
for executing DF election procedures by the receiving PEs.
6. BGP Encoding
This document defines one new BGP Extended Community for EVPN.
6.1. I-SID Extended Community
A new EVPN BGP Extended Community called I-SID is introduced. This
new extended community is a transitive extended community with the
Type field of 0x06 (EVPN) and the Sub-Type of 0x07.
The I-SID Extended Community is encoded as an 8-octet value as
follows:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=0x06 | Sub-Type=0x07 | Base I-SID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cont. | Bit Map (24 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: I-SID Extended Community
This extended community is used to indicate the list of I-SIDs
associated with a given Ethernet Segment.
24-bit map represents the next 24 I-SID after the base I-SID. For
example based I-SID of 10025 with 24-bit map of zero means, only a
single I-SID of 10025. I-SID of 10025 with bit map of 0x000001 means
there are two I-SIDs, 10025 and 10026.
Sajassi, et al. Expires September 3, 2020 [Page 20]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
7. Acknowledgements
The authors would like to thanks Mei Zhang, Jose Liste, and Luc Andre
Burdet for their reviews and feedbacks of this document.
8. Security Considerations
All the security considerations in [RFC7432] and [RFC7623] apply
directly to this document because this document leverages the control
and data plane procedures described in those documents.
This document does not introduce any new security considerations
beyond that of [RFC7432] and [RFC7623] because advertisements and
processing of Ethernet Segment route for vES in this document follows
that of physical ES in those RFCs.
9. IANA Considerations
IANA has allocated sub-type value 7 in the "EVPN Extended Community
Sub-Types" registry defined in "https://www.iana.org/assignments/bgp-
extended-communities/bgp-extended-communities.xhtml#evpn" as follows:
SUB-TYPE NAME Reference
---- -------------- -------------
0x07 I-SID Ext Comm [draft-ietf-bess-evpn-virtual-eth-segment]
It is requested from IANA to update the reference to this document.
10. Intellectual Property Considerations
This document is being submitted for use in IETF standards
discussions.
11. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
2015, <https://www.rfc-editor.org/info/rfc7432>.
Sajassi, et al. Expires September 3, 2020 [Page 21]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
[RFC7623] Sajassi, A., Ed., Salam, S., Bitar, N., Isaac, A., and W.
Henderickx, "Provider Backbone Bridging Combined with
Ethernet VPN (PBB-EVPN)", RFC 7623, DOI 10.17487/RFC7623,
September 2015, <https://www.rfc-editor.org/info/rfc7623>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8214] Boutros, S., Sajassi, A., Salam, S., Drake, J., and J.
Rabadan, "Virtual Private Wire Service Support in Ethernet
VPN", RFC 8214, DOI 10.17487/RFC8214, August 2017,
<https://www.rfc-editor.org/info/rfc8214>.
11.2. Informative References
[RFC7080] Sajassi, A., Salam, S., Bitar, N., and F. Balus, "Virtual
Private LAN Service (VPLS) Interoperability with Provider
Backbone Bridges", RFC 7080, DOI 10.17487/RFC7080,
December 2013, <https://www.rfc-editor.org/info/rfc7080>.
[RFC7209] Sajassi, A., Aggarwal, R., Uttaro, J., Bitar, N.,
Henderickx, W., and A. Isaac, "Requirements for Ethernet
VPN (EVPN)", RFC 7209, DOI 10.17487/RFC7209, May 2014,
<https://www.rfc-editor.org/info/rfc7209>.
Authors' Addresses
Ali Sajassi
Cisco Systems
MILPITAS, CALIFORNIA 95035
UNITED STATES
Email: sajassi@cisco.com
Patrice Brissette
Cisco Systems
Email: pbrisset@cisco.com
Rick Schell
Verizon
Email: richard.schell@verizon.com
Sajassi, et al. Expires September 3, 2020 [Page 22]
Internet-Draft EVPN Virtual Ethernet Segment March 2020
John E Drake
Juniper
Email: jdrake@juniper.net
Jorge Rabadan
Nokia
Email: jorge.rabadan@nokia.com
Sajassi, et al. Expires September 3, 2020 [Page 23]