rfc9784v1.txt | rfc9784.txt | |||
---|---|---|---|---|
skipping to change at line 13 ¶ | skipping to change at line 13 ¶ | |||
Request for Comments: 9784 P. Brissette | Request for Comments: 9784 P. Brissette | |||
Category: Standards Track Cisco Systems | Category: Standards Track Cisco Systems | |||
ISSN: 2070-1721 R. Schell | ISSN: 2070-1721 R. Schell | |||
Verizon | Verizon | |||
J. Drake | J. Drake | |||
Juniper | Juniper | |||
J. Rabadan | J. Rabadan | |||
Nokia | Nokia | |||
May 2025 | May 2025 | |||
EVPN Virtual Ethernet Segments | Virtual Ethernet Segments for EVPN and Provider Backbone Bridge EVPN | |||
Abstract | Abstract | |||
Ethernet VPN (EVPN) and Provider Backbone Bridge EVPN (PBB-EVPN) | Ethernet VPN (EVPN) and Provider Backbone Bridge EVPN (PBB-EVPN) | |||
introduce a comprehensive suite of solutions for delivering Ethernet | introduce a comprehensive suite of solutions for delivering Ethernet | |||
services over MPLS/IP networks. These solutions offer advanced | services over MPLS/IP networks. These solutions offer advanced | |||
multi-homing capabilities. Specifically, they support Single-Active | multihoming capabilities. Specifically, they support Single-Active | |||
and All-Active redundancy modes for an Ethernet Segment (ES), which | and All-Active redundancy modes for an Ethernet Segment (ES), which | |||
is defined as a collection of physical links connecting a multi-homed | is defined as a collection of physical links connecting a multihomed | |||
device or network to a set of Provider Edge (PE) devices. This | device or network to a set of Provider Edge (PE) devices. This | |||
document extends the concept of an Ethernet Segment by allowing an ES | document extends the concept of an ES by allowing an ES to be | |||
to be associated with a set of Ethernet Virtual Circuits (EVCs), such | associated with a set of Ethernet Virtual Circuits (EVCs), such as | |||
as VLANs, or other entities, including MPLS Label Switched Paths | VLANs, or other entities, including MPLS Label Switched Paths (LSPs) | |||
(LSPs) or pseudowires (PWs). This extended concept is referred to as | or pseudowires (PWs). This extended concept is referred to as | |||
virtual Ethernet Segments (vESes). This document lists the | virtual Ethernet Segments (vESes). This document lists the | |||
requirements and specifies the necessary extensions to support vES in | requirements and specifies the necessary extensions to support vES in | |||
both EVPN and PBB-EVPN. | both EVPN and PBB-EVPN. | |||
Status of This Memo | Status of This Memo | |||
This is an Internet Standards Track document. | This is an Internet Standards Track document. | |||
This document is a product of the Internet Engineering Task Force | This document is a product of the Internet Engineering Task Force | |||
(IETF). It represents the consensus of the IETF community. It has | (IETF). It represents the consensus of the IETF community. It has | |||
skipping to change at line 69 ¶ | skipping to change at line 69 ¶ | |||
in the Revised BSD License. | in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction | 1. Introduction | |||
1.1. Requirements Language | 1.1. Requirements Language | |||
1.2. vESes in Access Ethernet Networks | 1.2. vESes in Access Ethernet Networks | |||
1.3. vESes in Access MPLS Networks | 1.3. vESes in Access MPLS Networks | |||
2. Terminology | 2. Terminology | |||
3. Requirements | 3. Requirements | |||
3.1. Single-Homed and Multi-Homed vES | 3.1. Single-Homed and Multihomed vES | |||
3.2. Local Switching | 3.2. Local Switching | |||
3.3. EVC Service Types | 3.3. EVC Service Types | |||
3.4. Designated Forwarder (DF) Election | 3.4. Designated Forwarder (DF) Election | |||
3.5. EVC Monitoring | 3.5. EVC Monitoring | |||
3.6. Failure and Recovery | 3.6. Failure and Recovery | |||
3.7. Fast Convergence | 3.7. Fast Convergence | |||
4. Solution Overview | 4. Solution Overview | |||
4.1. EVPN DF Election for vES | 4.1. EVPN DF Election for vES | |||
4.2. Grouping and Route Coloring for vES | 4.2. Grouping and Route Coloring for vES | |||
4.2.1. EVPN Route Coloring for vES | 4.2.1. EVPN Route Coloring for vES | |||
skipping to change at line 100 ¶ | skipping to change at line 100 ¶ | |||
8.1. Normative References | 8.1. Normative References | |||
8.2. Informative References | 8.2. Informative References | |||
Acknowledgements | Acknowledgements | |||
Authors' Addresses | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
Ethernet VPN (EVPN) [RFC7432] and Provider Backbone Bridge EVPN (PBB- | Ethernet VPN (EVPN) [RFC7432] and Provider Backbone Bridge EVPN (PBB- | |||
EVPN) [RFC7623] introduce a comprehensive suite of solutions for | EVPN) [RFC7623] introduce a comprehensive suite of solutions for | |||
delivering Ethernet services over MPLS/IP networks. These solutions | delivering Ethernet services over MPLS/IP networks. These solutions | |||
offer advanced multi-homing capabilities. Specifically, they support | offer advanced multihoming capabilities. Specifically, they support | |||
Single-Active and All-Active redundancy modes for an Ethernet Segment | Single-Active and All-Active redundancy modes for an Ethernet Segment | |||
(ES). As defined in [RFC7432], an ES represents a collection of | (ES). As defined in [RFC7432], an ES represents a collection of | |||
Ethernet links that connect a customer site to one or more Provider | Ethernet links that connect a customer site to one or more Provider | |||
Edge (PE) devices. | Edge (PE) devices. | |||
This document extends the concept of an Ethernet Segment by allowing | This document extends the concept of an ES by allowing an ES to be | |||
an ES to be associated with a set of Ethernet Virtual Circuits (EVCs) | associated with a set of Ethernet Virtual Circuits (EVCs) (such as | |||
(such as VLANs) or other entities, including MPLS Label Switched | VLANs) or other entities, including MPLS Label Switched Paths (LSPs) | |||
Paths (LSPs) or pseudowires (PWs). This extended concept is referred | or pseudowires (PWs). This extended concept is referred to as | |||
to as virtual Ethernet Segments (vESes). This document lists the | virtual Ethernet Segments (vESes). This document lists the | |||
requirements and specifies the necessary extensions to support vES in | requirements and specifies the necessary extensions to support vES in | |||
both EVPN and PBB-EVPN. The scope of this document includes PBB-EVPN | both EVPN and PBB-EVPN. The scope of this document includes PBB-EVPN | |||
[RFC7623], EVPN over MPLS [RFC7432], and EVPN over IP [RFC8365]; | [RFC7623], EVPN over MPLS [RFC7432], and EVPN over IP [RFC8365]; | |||
however, it excludes EVPN over SRv6 [RFC9252]. | however, it excludes EVPN over SRv6 [RFC9252]. | |||
1.1. Requirements Language | 1.1. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
skipping to change at line 133 ¶ | skipping to change at line 133 ¶ | |||
1.2. vESes in Access Ethernet Networks | 1.2. vESes in Access Ethernet Networks | |||
Some service providers (SPs) seek to extend the concept of physical | Some service providers (SPs) seek to extend the concept of physical | |||
Ethernet links in an ES to encompass EVCs, wherein multiple EVCs | Ethernet links in an ES to encompass EVCs, wherein multiple EVCs | |||
(such as VLANs) can be aggregated onto a single physical External | (such as VLANs) can be aggregated onto a single physical External | |||
Network-Network Interface (ENNI). An ES composed of a set of EVCs | Network-Network Interface (ENNI). An ES composed of a set of EVCs | |||
rather than physical links is referred to as a vES. Figure 1 | rather than physical links is referred to as a vES. Figure 1 | |||
illustrates two PE devices (PE1 and PE2), each with an ENNI | illustrates two PE devices (PE1 and PE2), each with an ENNI | |||
aggregating several EVCs. Some of these EVCs on a given ENNI can be | aggregating several EVCs. Some of these EVCs on a given ENNI can be | |||
associated with vESes. For instance, the multi-homed vES depicted in | associated with vESes. For instance, the multihomed vES depicted in | |||
Figure 1 consists of EVC4 on ENNI1 and EVC5 on ENNI2. | Figure 1 consists of EVC4 on ENNI1 and EVC5 on ENNI2. | |||
Third-Party | Third-Party | |||
+-----+ EAP | +-----+ EAP | |||
| CE11|EVC1 +---------+ | | CE11|EVC1 +---------+ | |||
+-----+ \ | | +---+ | +-----+ \ | | +---+ | |||
Cust. A \-0=========0--ENNI1| | | Cust. A \-0=========0--ENNI1| | | |||
+-----+ | | ENNI1| | +-------+ +---+ | +-----+ | | ENNI1| | +-------+ +---+ | |||
| CE12|EVC2--0=========0--ENNI1|PE1|---| | | | | | CE12|EVC2--0=========0--ENNI1|PE1|---| | | | | |||
+-----+ | | ENNI1| | |SP |---|PE3|- | +-----+ | | ENNI1| | |SP |---|PE3|- | |||
skipping to change at line 159 ¶ | skipping to change at line 159 ¶ | |||
+-----+ -0=== ===0--ENNI2| | | |---|PE4|-/ +---+ | +-----+ -0=== ===0--ENNI2| | | |---|PE4|-/ +---+ | |||
| CE3 |EVC4/ | | ENNI2|PE2|---| | | | | | CE3 |EVC4/ | | ENNI2|PE2|---| | | | | |||
| |EVC5--0=========0--ENNI2| | +-------+ +---+ | | |EVC5--0=========0--ENNI2| | +-------+ +---+ | |||
+-----+ | | +---+ | +-----+ | | +---+ | |||
Cust. C +---------+ /\ | Cust. C +---------+ /\ | |||
/\ || | /\ || | |||
|| ENNI | || ENNI | |||
EVCs Interface | EVCs Interface | |||
<--------802.1Q----------> <---- EVPN Network -----> <-802.1Q-> | <--------802.1Q----------> <---- EVPN Network -----> <-802.1Q-> | |||
Figure 1: A Dual-Homed Device/Network (Both SA/AA) and SH on the | Figure 1: A Dual-Homed Device/Network (Both SA/AA) That is | |||
Same ENNI | Single-Homed on the Same ENNI | |||
ENNIs are commonly used to reach remote customer sites via | ENNIs are commonly used to reach remote customer sites via | |||
independent Ethernet access networks or third-party Ethernet Access | independent Ethernet access networks or third-party Ethernet Access | |||
Providers (EAPs). ENNIs can aggregate traffic from many vESes (e.g., | Providers (EAPs). ENNIs can aggregate traffic from many vESes (e.g., | |||
hundreds to thousands), where each vES is represented by its | hundreds to thousands), where each vES is represented by its | |||
associated EVC on that ENNI. As a result, ENNIs and their associated | associated EVC on that ENNI. As a result, ENNIs and their associated | |||
EVCs are key elements of SP external boundaries that are carefully | EVCs are key elements of SP external boundaries that are carefully | |||
designed and closely monitored. As a reminder, the ENNI is the | designed and closely monitored. As a reminder, the ENNI is the | |||
demarcation between the SP (IP/MPLS core network) and the third-party | demarcation between the SP (IP/MPLS core network) and the third-party | |||
Ethernet Access Provider. | Ethernet Access Provider. | |||
To meet customers' Service Level Agreements (SLAs), SPs build | To meet customers' Service Level Agreements (SLAs), SPs build | |||
redundancy via multiple EVPN PEs and across multiple ENNIs (as shown | 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 | in Figure 1), where a given vES can be multihomed to two or more EVPN | |||
EVPN PE devices (on two or more ENNIs) via their associated EVCs. | PE devices (on two or more ENNIs) via their associated EVCs. Just | |||
Just like physical ESs in the solutions described in [RFC7432] and | like physical ESs in the solutions described in [RFC7432] and | |||
[RFC7623], these vESes can be single-homed or multi-homed ESs, and | [RFC7623], these vESes can be single-homed or multihomed ESs, and | |||
when multi-homed, they can operate in either Single-Active or All- | when multihomed, they can operate in either Single-Active or All- | |||
Active redundancy modes. In a typical SP external-boundary scenario | Active redundancy modes. In a typical SP external-boundary scenario | |||
(e.g., with an EAP), an ENNI can be associated with several thousands | (e.g., with an EAP), an ENNI can be associated with several thousands | |||
of single-homed vESes, several hundreds of Single-Active vESes, and | of single-homed vESes, several hundreds of Single-Active vESes, and | |||
tens or hundreds of All-Active vESes. The specific figures used | tens or hundreds of All-Active vESes. The specific figures used | |||
throughout this document reflect the relative quantities (hundreds, | throughout this document reflect the relative quantities (hundreds, | |||
thousands, etc.) of various elements as understood at the time of | thousands, etc.) of various elements as understood at the time of | |||
writing. | writing. | |||
1.3. vESes in Access MPLS Networks | 1.3. vESes in Access MPLS Networks | |||
skipping to change at line 249 ¶ | skipping to change at line 249 ¶ | |||
pairs between PE1 and AG2 and between PE2 and AG2, respectively. The | pairs between PE1 and AG2 and between PE2 and AG2, respectively. The | |||
vES consists of these two LSP pairs (LSP1 and LSP2), and each LSP | vES consists of these two LSP pairs (LSP1 and LSP2), and each LSP | |||
pair has two PWs. This vES will be shared by two separate EVPN | pair has two PWs. This vES will be shared by two separate EVPN | |||
instances (e.g., EVI-1 and EVI-2) in the EVPN network. PW3 and PW4 | instances (e.g., EVI-1 and EVI-2) in the EVPN network. PW3 and PW4 | |||
are associated with EVI-1 and EVI-2, respectively, on PE1, and PW5 | are associated with EVI-1 and EVI-2, respectively, on PE1, and PW5 | |||
and PW6 are associated with EVI-1 and EVI-2, respectively, on PE2. | and PW6 are associated with EVI-1 and EVI-2, respectively, on PE2. | |||
In some cases, the aggregation of PWs that share the same LSP pair | In some cases, the aggregation of PWs that share the same LSP pair | |||
may not be possible. For instance, if PW3 were terminated into a | 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 | third PE, e.g., PE3, instead of PE1, the vES would need to be defined | |||
on a per individual PW on each PE. | on each PW on each PE. | |||
For MPLS/IP access networks where a vES represents a set of LSP pairs | For MPLS/IP access networks where a vES represents a set of LSP pairs | |||
or a set of PWs, this document extends the Single-Active multi-homing | or a set of PWs, this document extends the Single-Active multihoming | |||
procedures defined in [RFC7432] and [RFC7623] to accommodate vES. | procedures defined in [RFC7432] and [RFC7623] to accommodate vES. | |||
The extension of vES to support All-Active multi-homing in MPLS/IP | The extension of vES to support All-Active multihoming in MPLS/IP | |||
access networks is beyond the scope of this document. | access networks is beyond the scope of this document. | |||
This document defines the concept of a vES and specifies the | This document defines the concept of a vES and specifies the | |||
additional extensions necessary to support a vES in accordance with | additional extensions necessary to support a vES in accordance with | |||
[RFC7432] and [RFC7623]. Section 3 enumerates the set of | [RFC7432] and [RFC7623]. Section 3 enumerates the set of | |||
requirements for a vES. Section 4 details the extensions for a vES | requirements for a vES. Section 4 details the extensions for a vES | |||
applicable to EVPN solutions, including those specified in [RFC7432] | applicable to EVPN solutions, including those specified in [RFC7432] | |||
and [RFC7209]. These extensions are designed to meet the | and [RFC7209]. These extensions are designed to meet the | |||
requirements listed in Section 3. Section 4 also provides an | requirements listed in Section 3. Section 4 also provides an | |||
overview of the solution, while Section 5 addresses failure handling, | overview of the solution, while Section 5 addresses failure handling, | |||
skipping to change at line 308 ¶ | skipping to change at line 308 ¶ | |||
PBB: Provider Backbone Bridge | PBB: Provider Backbone Bridge | |||
PBB-EVPN: Provider Backbone Bridge EVPN | PBB-EVPN: Provider Backbone Bridge EVPN | |||
PE: Provider Edge | PE: Provider Edge | |||
VPWS: Virtual Private Wire Service | VPWS: Virtual Private Wire Service | |||
Single-Active (SA) Redundancy Mode: When only a single PE, among a | Single-Active (SA) Redundancy Mode: When only a single PE, among a | |||
group of PEs attached to an Ethernet Segment, is allowed to | group of PEs attached to an ES, is allowed to forward | |||
forward traffic to/from that Ethernet Segment, the Ethernet | traffic to/from that ES, the ES is defined as operating in | |||
Segment is defined as operating in Single-Active redundancy | Single-Active redundancy mode. | |||
mode. | ||||
All-Active (AA) Redundancy Mode: When all PEs attached to an | All-Active (AA) Redundancy Mode: When all PEs attached to an ES are | |||
Ethernet Segment are allowed to forward traffic to/from | allowed to forward traffic to/from that ES, the ES is | |||
that Ethernet Segment, the Ethernet Segment is defined as | defined as operating in All-Active redundancy mode. | |||
operating in All-Active redundancy mode. | ||||
3. Requirements | 3. Requirements | |||
This section describes the requirements specific to vES for EVPN and | This section describes the requirements specific to vES for EVPN and | |||
PBB-EVPN solutions. These requirements are in addition to the ones | PBB-EVPN solutions. These requirements are in addition to the ones | |||
described in [RFC8214], [RFC7432], and [RFC7623]. | described in [RFC8214], [RFC7432], and [RFC7623]. | |||
3.1. Single-Homed and Multi-Homed vES | 3.1. Single-Homed and Multihomed vES | |||
A PE device MUST support the following types of vESes: | A PE device MUST support the following types of vESes: | |||
(R1a) The PE MUST handle single-homed vESes on a single physical | (R1a) The PE MUST handle single-homed vESes on a single physical | |||
port, such as a single ENNI. | port, such as a single ENNI. | |||
(R1b) The PE MUST support a combination of single-homed vESes and | (R1b) The PE MUST support a combination of single-homed vESes and | |||
Single-Active multi-homed vESes simultaneously on a single | Single-Active multihomed vESes simultaneously on a single | |||
physical port, such as a single ENNI. Throughout this | physical port, such as a single ENNI. Throughout this | |||
document, Single-Active multi-homed vESes will be referred to | document, Single-Active multihomed vESes will be referred to | |||
as "Single-Active vESes". | as "Single-Active vESes". | |||
(R1c) The PE MAY support All-Active multi-homed vESes on a single | (R1c) The PE MAY support All-Active multihomed vESes on a single | |||
physical port. Throughout this document, All-Active multi- | physical port. Throughout this document, All-Active | |||
homed vESes will be referred to as "All-Active vESes". | multihomed vESes will be referred to as "All-Active vESes". | |||
(R1d) The PE MAY support a combination of All-Active vESes along | (R1d) The PE MAY support a combination of All-Active vESes along | |||
with other types of vESes on a single physical port. | with other types of vESes on a single physical port. | |||
(R1e) A multi-homed vES, whether Single-Active or All-Active, can | (R1e) A multihomed vES, whether Single-Active or All-Active, can | |||
span across two or more ENNIs on any two or more PEs. | span across two or more ENNIs on any two or more PEs. | |||
3.2. Local Switching | 3.2. Local Switching | |||
Many vESes of different types can be aggregated on a single physical | Many vESes of different types can be aggregated on a single physical | |||
port on a PE device and some of these vESes can belong to the same | port on a PE device and some of these vESes can belong to the same | |||
service instance (e.g., EVI). This translates into the need for | service instance (e.g., EVI). This translates into the need for | |||
supporting local switching among the vESes for the same service | supporting local switching among the vESes for the same service | |||
instance on the same physical port (e.g., ENNI) of the PE. | instance on the same physical port (e.g., ENNI) of the PE. | |||
(R3a) A PE device that supports the vES function MUST support local | (R2a) A PE device that supports the vES function MUST support local | |||
switching among different vESes associated with the same | switching among different vESes associated with the same | |||
service instance on a single physical port. For instance, in | service instance on a single physical port. For instance, in | |||
Figure 1, PE1 must support local switching between CE11 and | Figure 1, PE1 must support local switching between CE11 and | |||
CE12, which are mapped to two single-homed vESes on ENNI1. In | CE12, which are mapped to two single-homed vESes on ENNI1. In | |||
the case of Single-Active vESes, the local switching is | the case of Single-Active vESes, the local switching is | |||
performed among active EVCs associated with the same service | performed among active EVCs associated with the same service | |||
instance on the same ENNI. | instance on the same ENNI. | |||
3.3. EVC Service Types | 3.3. EVC Service Types | |||
A physical port, such as an ENNI of a PE device, can aggregate | A physical port, such as an ENNI of a PE device, can aggregate | |||
numerous EVCs, each associated with a vES. An EVC may carry one or | numerous EVCs, each associated with a vES. An EVC may carry one or | |||
more VLANs. Typically, an EVC carries a single VLAN and is therefore | more VLANs. Typically, an EVC carries a single VLAN and is therefore | |||
associated with a single broadcast domain. However, there are no | associated with a single broadcast domain. However, there are no | |||
restrictions preventing an EVC from carrying multiple VLANs. | restrictions preventing an EVC from carrying multiple VLANs. | |||
(R4a) An EVC can be associated with a single broadcast domain, such | (R3a) An EVC can be associated with a single broadcast domain, such | |||
as in a VLAN-based service or a VLAN bundle service. | as in a VLAN-based service or a VLAN bundle service. | |||
(R4b) An EVC MAY be associated with several broadcast domains, such | (R3b) An EVC MAY be associated with several broadcast domains, such | |||
as in a VLAN-aware bundle service. | as in a VLAN-aware bundle service. | |||
Similarly, a PE can aggregate multiple LSPs and PWs. In the case of | Similarly, a PE can aggregate multiple LSPs and PWs. In the case of | |||
individual PWs per vES, a PW is typically associated with a single | individual PWs per vES, a PW is typically associated with a single | |||
broadcast domain, although there are no restrictions preventing a PW | broadcast domain, although there are no restrictions preventing a PW | |||
from carrying multiple VLANs if the PW is configured in Raw mode. | from carrying multiple VLANs if the PW is configured in Raw mode. | |||
(R4c) A PW can be associated with a single broadcast domain, such as | (R3c) A PW can be associated with a single broadcast domain, such as | |||
in a VLAN-based service or a VLAN bundle service. | in a VLAN-based service or a VLAN bundle service. | |||
(R4d) A PW MAY be associated with several broadcast domains, such as | (R3d) A PW MAY be associated with several broadcast domains, such as | |||
in a VLAN-aware bundle service. | in a VLAN-aware bundle service. | |||
3.4. Designated Forwarder (DF) Election | 3.4. Designated Forwarder (DF) Election | |||
Section 8.5 of [RFC7432] specifies the default procedure for DF | Section 8.5 of [RFC7432] specifies the default procedure for DF | |||
election in EVPN, which is also applied in [RFC7623] and [RFC8214]. | election in EVPN, which is also applied in [RFC7623] and [RFC8214]. | |||
[RFC8584] elaborates on additional procedures for DF election in | [RFC8584] elaborates on additional procedures for DF election in | |||
EVPN. These DF election procedures are performed at the granularity | EVPN. These DF election procedures are performed at the granularity | |||
of (ESI, Ethernet Tag). In the context of a vES, the same EVPN | of (ESI, Ethernet Tag). In the context of a vES, the same EVPN | |||
default procedure for DF election is applicable but at the | default procedure for DF election is applicable but at the | |||
granularity of (vESI, Ethernet Tag). In this context, the Ethernet | granularity of (vESI, Ethernet Tag). In this context, the Ethernet | |||
Tag is represented by an I-SID in PBB-EVPN and by a VLAN ID (VID) in | Tag is represented by an I-SID in PBB-EVPN and by a VLAN ID (VID) in | |||
EVPN. As described in [RFC7432], this default procedure for DF | EVPN. As described in [RFC7432], this default procedure for DF | |||
election at the granularity of (vESI, Ethernet Tag) is also known as | election at the granularity of (vESI, Ethernet Tag) is also known as | |||
"service carving." The goal of service carving is to evenly | "service carving." The goal of service carving is to evenly | |||
distribute the DFs for different vESes among various PEs, thereby | distribute the DFs for different vESes among various PEs, thereby | |||
ensuring an even distribution of traffic across the PEs. The | ensuring an even distribution of traffic across the PEs. The | |||
following requirements are applicable to the DF election of vESes for | following requirements are applicable to the DF election of vESes for | |||
EVPN and PBB-EVPN. | EVPN and PBB-EVPN. | |||
(R5a) A PE that supports vES function MUST support a vES with m EVCs | (R4a) A PE that supports vES function MUST support a vES with m EVCs | |||
among n ENNIs belonging to p PEs in any arbitrary order, where | among n ENNIs belonging to p PEs in any arbitrary order, where | |||
n >= p >= m >=2. For example, if there is a vES with 2 EVCs | n >= p >= m >=2. For example, if there is a vES with 2 EVCs | |||
and there are 5 ENNIs on 5 PEs (PE1 through PE5), then vES can | and there are 5 ENNIs on 5 PEs (PE1 through PE5), then vES can | |||
be dual-homed to PE2 and PE4, and the DF election must be | be dual-homed to PE2 and PE4, and the DF election must be | |||
performed between PE2 and PE4. | performed between PE2 and PE4. | |||
(R5b) Each vES MUST be identified by its own virtual ESI (vESI). | (R4b) Each vES MUST be identified by its own virtual ESI (vESI). | |||
3.5. EVC Monitoring | 3.5. EVC Monitoring | |||
To detect the failure of an individual EVC and subsequently perform | To detect the failure of an individual EVC and subsequently perform | |||
DF election for its associated vES as a result of this failure, each | DF election for its associated vES as a result of this failure, each | |||
EVC should be monitored independently. | EVC should be monitored independently. | |||
(R6a) Each EVC SHOULD be independently monitored for its operational | (R5a) Each EVC SHOULD be independently monitored for its operational | |||
health. | health. | |||
(R6b) A failure in a single EVC, among many aggregated on a single | (R5b) A failure in a single EVC, among many aggregated on a single | |||
physical port or ENNI, MUST trigger a DF election for its | physical port or ENNI, MUST trigger a DF election for its | |||
associated vES. | associated vES. | |||
3.6. Failure and Recovery | 3.6. Failure and Recovery | |||
(R7a) Failure and failure recovery of an EVC for a single-homed vES | (R6a) Failure and failure recovery of an EVC for a single-homed vES | |||
SHALL NOT impact any other EVCs within its service instance or | SHALL NOT impact any other EVCs within its service instance or | |||
any other service instances. In other words, for PBB-EVPN, it | any other service instances. In other words, for PBB-EVPN, it | |||
SHALL NOT trigger any MAC flushing within both its own I-SID | SHALL NOT trigger any MAC flushing within both its own I-SID | |||
and other I-SIDs. | and other I-SIDs. | |||
(R7b) In case of All-Active vES, failure and failure recovery of an | (R6b) In case of All-Active vES, failure and failure recovery of an | |||
EVC for that vES SHALL NOT impact any other EVCs within its | EVC for that vES SHALL NOT impact any other EVCs within its | |||
service instance or any other service instances. In other | service instance or any other service instances. In other | |||
words, for PBB-EVPN, it SHALL NOT trigger any MAC flushing | words, for PBB-EVPN, it SHALL NOT trigger any MAC flushing | |||
within both its own I-SID and other I-SIDs. | within both its own I-SID and other I-SIDs. | |||
(R7c) Failure and failure recovery of an EVC for a Single-Active vES | (R6c) Failure and failure recovery of an EVC for a Single-Active vES | |||
SHALL impact only its own service instance. In other words, | SHALL impact only its own service instance. In other words, | |||
for PBB-EVPN, MAC flushing SHALL be limited to the associated | for PBB-EVPN, MAC flushing SHALL be limited to the associated | |||
I-SID only and SHALL NOT impact any other I-SIDs. | I-SID only and SHALL NOT impact any other I-SIDs. | |||
(R7d) Failure and failure recovery of an EVC for a Single-Active vES | (R6d) Failure and failure recovery of an EVC for a Single-Active vES | |||
MUST only impact C-MACs associated with a multi-homed device/ | MUST only impact C-MACs associated with a multihomed device/ | |||
network for that service instance. In other words, MAC | network for that service instance. In other words, MAC | |||
flushing MUST be limited to a single service instance (I-SID | flushing MUST be limited to a single service instance (I-SID | |||
in the case of PBB-EVPN) and only C-MACs for a Single-Active | in the case of PBB-EVPN) and only C-MACs for a Single-Active | |||
multi-homed device/network. | multihomed device/network. | |||
3.7. Fast Convergence | 3.7. Fast Convergence | |||
Since many EVCs (and their associated vESes) are aggregated via a | Since many EVCs (and their associated vESes) are aggregated via a | |||
single physical port (e.g., ENNI), when there is a failure of that | single physical port (e.g., ENNI), when there is a failure of that | |||
physical port, it impacts many vESes and equally triggers many ES | physical port, it impacts many vESes and equally triggers many ES | |||
route withdrawals. Formulating, sending, receiving, and processing | route withdrawals. Formulating, sending, receiving, and processing | |||
such large numbers of BGP messages can introduce delay in DF election | such large numbers of BGP messages can introduce delay in DF election | |||
and convergence time. As such, it is highly desirable to have a | and convergence time. As such, it is highly desirable to have a | |||
mass-withdraw mechanism similar to the one in [RFC7432] for | mass-withdraw mechanism similar to the one in [RFC7432] for | |||
withdrawing many Ethernet A-D per ES routes. | withdrawing many Ethernet A-D per ES routes. | |||
(R8a) There SHOULD be a mechanism equivalent to EVPN mass withdraw | (R7a) There SHOULD be a mechanism equivalent to EVPN mass withdraw | |||
such that upon an ENNI failure, only a single BGP message to | such that upon an ENNI failure, only a single BGP message to | |||
the PEs is needed to trigger DF election for all impacted | the PEs is needed to trigger DF election for all impacted | |||
vESes associated with that ENNI. | vESes associated with that ENNI. | |||
4. Solution Overview | 4. Solution Overview | |||
The solutions described in [RFC7432] and [RFC7623] are leveraged as | The solutions described in [RFC7432] and [RFC7623] are leveraged as | |||
is, with the modification that the ESI assignment is performed for an | 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 | 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 vES | physical links. In other words, the ESI is associated with a vES | |||
(hereby referred to as the "vESI"). | (hereby referred to as the "vESI"). | |||
In the EVPN solution, the overall procedures remain consistent, with | In the EVPN solution, the overall procedures remain consistent, with | |||
the primary difference being the handling of physical port failures | the primary difference being the handling of physical port failures | |||
that can affect multiple vESes. Sections 5.1 and 5.3 describe the | that can affect multiple vESes. Sections 5.1 and 5.3 describe the | |||
procedures for managing physical port or link failures in the context | procedures for managing physical port or link failures in the context | |||
of EVPN. In a typical multi-homed setup, MAC addresses learned | of EVPN. In a typical multihomed setup, MAC addresses learned behind | |||
behind a vES are advertised using the ESI associated with the vES | a vES are advertised using the ESI associated with the vES (i.e., the | |||
(i.e., the vESI). EVPN aliasing and mass-withdraw operations are | vESI). EVPN aliasing and mass-withdraw operations are conducted with | |||
conducted with respect to the vES identifier. Specifically, the | respect to the vES identifier. Specifically, the Ethernet A-D routes | |||
Ethernet A-D routes for these operations are advertised using the | for these operations are advertised using the vESI instead of the | |||
vESI instead of the ESI. | ESI. | |||
For the PBB-EVPN solution, the main change is with respect to the | For the PBB-EVPN solution, the main change is with respect to the | |||
B-MAC address assignment, which is performed in a similar way to what | B-MAC address assignment, which is performed in a similar way to what | |||
is described in Section 7.2.1.1 of [RFC7623], with the following | is described in Section 6.2.1.1 of [RFC7623], with the following | |||
refinements: | refinements: | |||
* One shared B-MAC address SHOULD be used per PE for the single- | * One shared B-MAC address SHOULD be used per PE for the single- | |||
homed vESes. In other words, a single B-MAC is shared for all | homed vESes. In other words, a single B-MAC is shared for all | |||
single-homed vESes on that PE. | single-homed vESes on that PE. | |||
* One shared B-MAC address SHOULD be used per PE, per physical port | * One shared B-MAC address SHOULD be used per PE, per physical port | |||
(e.g., ENNI) for the Single-Active vESes. In other words, a | (e.g., ENNI) for the Single-Active vESes. In other words, a | |||
single B-MAC is shared for all Single-Active vESes that share the | single B-MAC is shared for all Single-Active vESes that share the | |||
same ENNI. | same ENNI. | |||
skipping to change at line 524 ¶ | skipping to change at line 522 ¶ | |||
4.1. EVPN DF Election for vES | 4.1. EVPN DF Election for vES | |||
The service carving procedures for vESes are almost the same as the | The service carving procedures for vESes are almost the same as the | |||
procedures outlined in Section 8.5 of [RFC7432] and in [RFC8584], | procedures outlined in Section 8.5 of [RFC7432] and in [RFC8584], | |||
except that ES is replaced with vES. | except that ES is replaced with vES. | |||
For the sake of clarity and completeness, the default DF election | For the sake of clarity and completeness, the default DF election | |||
procedure of [RFC7432] is repeated below with the necessary changes: | procedure of [RFC7432] is repeated below with the necessary changes: | |||
1. When a PE discovers the vESI or is configured with the vESI | 1. When a PE discovers the vESI or is configured with the vESI | |||
associated with its attached vES, it advertises an Ethernet | associated with its attached vES, it advertises an ES route with | |||
Segment route with the associated ES-Import extended community | the associated ES-Import extended community attribute. | |||
attribute. | ||||
2. The PE then starts a timer (default value = 3 seconds) to allow | 2. The PE then starts a timer (default value = 3 seconds) to allow | |||
the reception of Ethernet Segment routes from other PE nodes | the reception of ES routes from other PE nodes connected to the | |||
connected to the same vES. This timer value MUST be the same | same vES. This timer value MUST be the same across all PEs | |||
across all PEs connected to the same vES. | connected to the same vES. | |||
3. When the timer expires, each PE builds an ordered list of the IP | 3. When the timer expires, each PE builds an ordered list of the IP | |||
addresses of all the PE nodes connected to the vES (including | addresses of all the PE nodes connected to the vES (including | |||
itself), in increasing numeric value. Each IP address in this | itself), in increasing numeric value. Each IP address in this | |||
list is extracted from the "Originator Router's IP address" field | list is extracted from the "Originator Router's IP address" field | |||
of the advertised Ethernet Segment route. Every PE is then given | of the advertised ES route. Every PE is then given an ordinal | |||
an ordinal indicating its position in the ordered list, starting | indicating its position in the ordered list, starting with 0 as | |||
with 0 as the ordinal for the PE with the numerically lowest IP | the ordinal for the PE with the numerically lowest IP address. | |||
address. The ordinals are used to determine which PE node will | The ordinals are used to determine which PE node will be the DF | |||
be the DF for a given EVPN instance on the vES using the | for a given EVPN instance on the vES using the following rule: | |||
following rule: Assuming a redundancy group of N PE nodes, the PE | Assuming a redundancy group of N PE nodes, the PE with ordinal i | |||
with ordinal i is the DF for an EVPN instance with an associated | is the DF for an EVPN instance with an associated Ethernet Tag | |||
Ethernet Tag value of V when (V mod N) = i. It should be noted | value of V when (V mod N) = i. It should be noted that using the | |||
that using the "Originator Router's IP address" field in the | "Originator Router's IP address" field in the ES route to get the | |||
Ethernet Segment route to get the PE IP address needed for the | PE IP address needed for the ordered list allows a CE to be | |||
ordered list allows a CE to be multi-homed across different ASes, | multihomed across different ASes, if such need ever arises. | |||
if such need ever arises. | ||||
4. The PE that is elected as a DF for a given EVPN instance will | 4. The PE that is elected as a DF for a given EVPN instance will | |||
unblock traffic for that EVPN instance. Note that the DF PE | unblock traffic for that EVPN instance. Note that the DF PE | |||
unblocks all traffic in both ingress and egress directions for | unblocks all traffic in both ingress and egress directions for | |||
Single-Active vESes and unblocks multi-destination in the egress | Single-Active vESes and unblocks multi-destination in the egress | |||
direction for All-Active multi-homed vESes. All non-DF PEs block | direction for All-Active multihomed vESes. All non-DF PEs block | |||
all traffic in both ingress and egress directions for Single- | all traffic in both ingress and egress directions for Single- | |||
Active vESes and block multi-destination traffic in the egress | Active vESes and block multi-destination traffic in the egress | |||
direction for All-Active vESes. | direction for All-Active vESes. | |||
In case of an EVC failure, the affected PE withdraws its | In case of an EVC failure, the affected PE withdraws its | |||
corresponding Ethernet Segment route if there are no more EVCs | corresponding ES route if there are no more EVCs associated to the | |||
associated to the vES in the PE. This will re-trigger the DF | vES in the PE. This will re-trigger the DF election procedure on all | |||
election procedure on all the PEs in the redundancy group. For PE | the PEs in the redundancy group. For PE node failure, or upon PE | |||
node failure, or upon PE commissioning or decommissioning, the PEs | commissioning or decommissioning, the PEs re-trigger the DF election | |||
re-trigger the DF election procedure across all affected vESes. In | procedure across all affected vESes. In case of a Single-Active | |||
case of a Single-Active, when a service moves from one PE in the | scenario, when a service moves from one PE in the redundancy group to | |||
redundancy group to another PE because of DF re-election, the PE | another PE because of DF re-election, the PE (which ends up being the | |||
(which ends up being the elected DF for the service) MUST trigger a | elected DF for the service) MUST trigger a MAC address flush | |||
MAC address flush notification towards the associated vES if the | notification towards the associated vES if the multihoming device is | |||
multi-homing device is a bridge or the multi-homing network is an | a bridge or the multihoming network is an Ethernet bridged network. | |||
Ethernet bridged network. | ||||
For LSP-based and PW-based vES, the non-DF PE SHOULD signal PW-status | For LSP-based and PW-based vES, the non-DF PE SHOULD signal PW-status | |||
'standby' to the Aggregation PE (e.g., AG1 and AG2 in Figure 2), and | 'standby' to the Aggregation PE (e.g., AG1 and AG2 in Figure 2), and | |||
a new DF PE MAY send a Label Distribution Protocol (LDP) MAC withdraw | a new DF PE MAY send a Label Distribution Protocol (LDP) MAC withdraw | |||
message as a MAC address flush notification. It should be noted that | 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- | the PW-status is signaled for the scenarios where there is a one-to- | |||
one mapping between EVI (EVPN instance) and the PW. | one mapping between EVI (EVPN instance) and the PW. | |||
4.2. Grouping and Route Coloring for vES | 4.2. Grouping and Route Coloring for vES | |||
skipping to change at line 593 ¶ | skipping to change at line 588 ¶ | |||
By default, the MAC address of the corresponding port (e.g., ENNI) is | By default, the MAC address of the corresponding port (e.g., ENNI) is | |||
used to represent the 'color' of the port, and the EVPN Router's MAC | used to represent the 'color' of the port, and the EVPN Router's MAC | |||
Extended Community defined in [RFC9135] is used to signal this color. | Extended Community defined in [RFC9135] is used to signal this color. | |||
The difference between coloring mechanisms for EVPN and PBB-EVPN is | The difference between coloring mechanisms for EVPN and PBB-EVPN is | |||
that the extended community is advertised with the Ethernet A-D per | that the extended community is advertised with the Ethernet A-D per | |||
ES route for EVPN, whereas the extended community is advertised with | ES route for EVPN, whereas the extended community is advertised with | |||
the B-MAC route for PBB-EVPN. | the B-MAC route for PBB-EVPN. | |||
The subsequent sections detailing Grouping of Ethernet A-D per ES and | The subsequent sections detailing Grouping of Ethernet A-D per ES | |||
Grouping of B-MAC addresses will be essential for addressing port | routes and Grouping of B-MAC addresses will be essential for | |||
failure handling, as discussed in Sections 5.3, 5.4, and 5.5. | addressing port failure handling, as discussed in Sections 5.3, 5.4, | |||
and 5.5. | ||||
4.2.1. EVPN Route Coloring for vES | 4.2.1. EVPN Route Coloring for vES | |||
When a PE discovers the vESI or is configured with the vESI | When a PE discovers the vESI or is configured with the vESI | |||
associated with its attached vES, an Ethernet Segment route and | associated with its attached vES, an ES route and Ethernet A-D per ES | |||
Ethernet A-D per ES route are generated using the vESI identifier. | route are generated using the vESI identifier. | |||
These Ethernet Segment and Ethernet A-D per ES routes specific to | These ES and Ethernet A-D per ES routes specific to each vES are | |||
each vES are colored with an attribute representing their association | colored with an attribute representing their association to a | |||
to a physical port (e.g., ENNI). | physical port (e.g., ENNI). | |||
The corresponding port 'color' is encoded in the EVPN Router's MAC | The corresponding port 'color' is encoded in the EVPN Router's MAC | |||
Extended Community defined in [RFC9135] and advertised along with the | Extended Community defined in [RFC9135] and advertised along with the | |||
Ethernet Segment and Ethernet A-D per ES routes for this vES. The | ES and Ethernet A-D per ES routes for this vES. The color (which is | |||
color (which is the MAC address of the port) MUST be unique. | the MAC address of the port) MUST be unique. | |||
The PE also constructs a special Grouping Ethernet A-D per ES route | The PE also constructs a special Grouping Ethernet A-D per ES route | |||
that represents all the vESes associated with the port (e.g., ENNI). | that represents all the vESes associated with the port (e.g., ENNI). | |||
The corresponding port 'color' is encoded in the ESI field. For this | The corresponding port 'color' is encoded in the ESI field. For this | |||
encoding, Type 3 ESI (Section 5 of [RFC7432]) is used with the MAC | encoding, Type 3 ESI (Section 5 of [RFC7432]) is used with the MAC | |||
field set to the color (MAC address) of the port and the 3-octet | field set to the color (MAC address) of the port and the 3-octet | |||
local discriminator field set to 0xFFFFFF. | local discriminator field set to 0xFFFFFF. | |||
The ESI label extended community (Section 7.5 of [RFC7432]) is not | The ESI label extended community (Section 7.5 of [RFC7432]) is not | |||
relevant to Grouping Ethernet A-D per ES route. The label value is | relevant to Grouping Ethernet A-D per ES route. The label value is | |||
skipping to change at line 703 ¶ | skipping to change at line 699 ¶ | |||
+-----+ | | | | +-------+ | +-----+ | | | | +-------+ | |||
+-----+ +---+ | +-----+ +---+ | |||
/\ /\ /\ | /\ /\ /\ | |||
|| || || | || || || | |||
A C E | A C E | |||
Figure 3: Failure Scenarios A, B, C, D, and E | Figure 3: Failure Scenarios A, B, C, D, and E | |||
5.1. EVC Failure Handling for Single-Active vES in EVPN | 5.1. EVC Failure Handling for Single-Active vES in EVPN | |||
In [RFC7432], when a DF PE connected to a Single-Active multi-homed | In [RFC7432], when a DF PE connected to a Single-Active multihomed ES | |||
Ethernet Segment loses connectivity to the segment, due to link or | loses connectivity to the segment, due to link or port failure, it | |||
port failure, it signals the remote PEs to invalidate all MAC | signals the remote PEs to invalidate all MAC addresses associated | |||
addresses associated with that Ethernet Segment. This is done by | with that ES. This is done by means of a mass-withdraw message, by | |||
means of a mass-withdraw message, by withdrawing the Ethernet A-D per | withdrawing the Ethernet A-D per ES route. It should be noted that | |||
ES route. It should be noted that for dual-homing use cases where | for dual-homing use cases where there is only a single backup path, | |||
there is only a single backup path, MAC invalidating can be avoided | MAC invalidating can be avoided by the remote PEs as they can update | |||
by the remote PEs as they can update their next hop associated with | their next hop associated with the affected MAC entries to the backup | |||
the affected MAC entries to the backup path per the procedure | path per the procedure described in Section 8.2 of [RFC7432]. | |||
described in Section 8.2 of [RFC7432]. | ||||
In case of an EVC failure that impacts a single vES, this same EVPN | In case of an EVC failure that impacts a single vES, this same EVPN | |||
procedure is used. In this case, the mass withdraw is conveyed by | procedure is used. In this case, the mass withdraw is conveyed by | |||
withdrawing the Ethernet A-D per vES route carrying the vESI | withdrawing the Ethernet A-D per vES route carrying the vESI | |||
representing the failed EVC. Upon receiving this message, the remote | representing the failed EVC. Upon receiving this message, the remote | |||
PEs perform the same procedures outlined in Section 8.2 of [RFC7432]. | PEs perform the same procedures outlined in Section 8.2 of [RFC7432]. | |||
5.2. EVC Failure Handling for a Single-Active vES in PBB-EVPN | 5.2. EVC Failure Handling for a Single-Active vES in PBB-EVPN | |||
In [RFC7432], when a PE connected to a Single-Active Ethernet Segment | In [RFC7432], when a PE connected to a Single-Active ES loses | |||
loses connectivity to the segment, due to link or port failure, it | connectivity to the segment, due to link or port failure, it signals | |||
signals the remote PE to flush all C-MAC addresses associated with | the remote PE to flush all C-MAC addresses associated with that ES. | |||
that Ethernet Segment. This is done by updating the advertised B-MAC | This is done by updating the advertised B-MAC route's MAC Mobility | |||
route's MAC Mobility Extended Community. | extended community. | |||
In case of an EVC failure that impacts a single vES, if the above | In case of an EVC failure that impacts a single vES, if the above | |||
PBB-EVPN procedure is used, it results in excessive C-MAC flushing | PBB-EVPN procedure is used, it results in excessive C-MAC flushing | |||
because a single physical port can support a large number of EVCs | because a single physical port can support a large number of EVCs | |||
(and their associated vESes); therefore, updating the advertised | (and their associated vESes); therefore, updating the advertised | |||
B-MAC corresponding to the physical port, with MAC Mobility Extended | B-MAC corresponding to the physical port, with MAC Mobility extended | |||
Community, will result in flushing C-MAC addresses not just for the | community, will result in flushing C-MAC addresses not just for the | |||
impacted EVC but for all other EVCs on that port. | impacted EVC but for all other EVCs on that port. | |||
To reduce the scope of C-MAC flushing to only the impacted service | To reduce the scope of C-MAC flushing to only the impacted service | |||
instances (the service instance(s) impacted by the EVC failure), the | instances (the service instance(s) impacted by the EVC failure), the | |||
PBB-EVPN C-MAC flushing needs to be adapted on a per-service-instance | PBB-EVPN C-MAC flushing needs to be adapted on a per-service-instance | |||
basis (i.e., per I-SID). [RFC9541] introduces a B-MAC/I-SID route | basis (i.e., per I-SID). [RFC9541] introduces a B-MAC/I-SID route | |||
where the existing PBB-EVPN B-MAC route is modified to carry an I-SID | where the existing PBB-EVPN B-MAC route is modified to carry an | |||
in the "Ethernet Tag ID" field instead of NULL value. To the | I-SID, instead of a NULL value, in the "Ethernet Tag ID" field. To | |||
receiving PE, this field indicates flushing all C-MAC addresses | the receiving PE, this field indicates flushing all C-MAC addresses | |||
associated with that I-SID for that B-MAC. This C-MAC flushing | associated with that I-SID for that B-MAC. This C-MAC flushing | |||
mechanism per I-SID SHOULD be used in case of an EVC failure | mechanism per I-SID SHOULD be used in case of an EVC failure | |||
impacting a vES. Since an EVC typically maps to a single broadcast | impacting a vES. Since an EVC typically maps to a single broadcast | |||
domain and thus a single service instance, the affected PE only needs | domain and thus a single service instance, the affected PE only needs | |||
to advertise a single B-MAC/I-SID route. However, if the failed EVC | to advertise a single B-MAC/I-SID route. However, if the failed EVC | |||
carries multiple VLANs each with its own broadcast domain, then the | carries multiple VLANs each with its own broadcast domain, then the | |||
affected PE needs to advertise multiple B-MAC/I-SID routes -- one for | affected PE needs to advertise multiple B-MAC/I-SID routes, i.e., one | |||
each VLAN (broadcast domain) -- i.e., one for each I-SID. Each | route for each VLAN (broadcast domain), meaning one route for each | |||
B-MAC/I-SID route basically instructs the remote PEs to perform | I-SID. Each B-MAC/I-SID route basically instructs the remote PEs to | |||
flushing for C-MACs corresponding to the advertised B-MAC only for | perform flushing for C-MACs corresponding to the advertised B-MAC | |||
the advertised I-SID. | only for the advertised I-SID. | |||
The C-MAC flushing based on a B-MAC/I-SID route works fine when there | The C-MAC flushing based on a B-MAC/I-SID route works fine when there | |||
are only a few VLANs (e.g., I-SIDs) per EVC. However, if the number | are only a few VLANs (e.g., I-SIDs) per EVC. However, if the number | |||
of I-SIDs associated with a failed EVC is large, then it is | of I-SIDs associated with a failed EVC is large, then it is | |||
RECOMMENDED to assign a B-MAC per vES, and upon EVC failure, the | RECOMMENDED to assign a B-MAC per vES, and upon EVC failure, the | |||
affected PE simply withdraws this B-MAC message to other PEs. | affected PE simply withdraws this B-MAC message to other PEs. | |||
5.3. Port Failure Handling for Single-Active vESes in EVPN | 5.3. Port Failure Handling for Single-Active vESes in EVPN | |||
When many EVCs are aggregated via a single physical port on a PE, | When many EVCs are aggregated via a single physical port on a PE, | |||
skipping to change at line 789 ¶ | skipping to change at line 784 ¶ | |||
for that color, which represents all the vESes associated with | for that color, which represents all the vESes associated with | |||
the port. | the port. | |||
3. Upon a port failure (e.g., an ENNI failure), the PE MAY send a | 3. Upon a port failure (e.g., an ENNI failure), the PE MAY send a | |||
mass-withdraw message by withdrawing the Grouping Ethernet A-D | mass-withdraw message by withdrawing the Grouping Ethernet A-D | |||
per ES route. | per ES route. | |||
4. When this message is received, the remote PE MAY detect the | 4. When this message is received, the remote PE MAY detect the | |||
special vES mass-withdraw message by identifying the Grouping | special vES mass-withdraw message by identifying the Grouping | |||
Ethernet A-D per ES route. The remote PEs MAY then access the | Ethernet A-D per ES route. The remote PEs MAY then access the | |||
list created in (1) of the vESes for the specified color and | list of vESes created per item 1 for the specified color and | |||
locally initiate MAC address invalidating procedures for each of | locally initiate MAC address invalidating procedures for each of | |||
the vESes in the list. | the vESes in the list. | |||
In scenarios where a logical ENNI is used, the above procedure | In scenarios where a logical ENNI is used, the above procedure | |||
equally applies. The logical ENNI is represented by a Grouping | equally applies. The logical ENNI is represented by a Grouping | |||
Ethernet A-D per ES where the Type 3 ESI and the 6 bytes used in the | Ethernet A-D per ES route where the Type 3 ESI and the 6 bytes used | |||
ENNI's ESI MAC address field are used as a color for the vESes as | in the ENNI's ESI MAC address field are used as a color for the vESes | |||
described above and in Section 4.2.1. | as described above and in Section 4.2.1. | |||
5.4. Port Failure Handling for Single-Active vESes in PBB-EVPN | 5.4. Port Failure Handling for Single-Active vESes in PBB-EVPN | |||
When many EVCs are aggregated via a single physical port on a PE, | When many EVCs are aggregated via a single physical port on a PE, | |||
where each EVC corresponds to a vES, then the port failure impacts | where each EVC corresponds to a vES, then the port failure impacts | |||
all the associated EVCs and their corresponding vESes. If the number | all the associated EVCs and their corresponding vESes. If the number | |||
of EVCs corresponding to the Single-Active vESes for that physical | of EVCs corresponding to the Single-Active vESes for that physical | |||
port is in the thousands, then thousands of service instances | port is in the thousands, then thousands of service instances | |||
(I-SIDs) are impacted. In such failure scenarios, the following two | (I-SIDs) are impacted. In such failure scenarios, the following two | |||
MAC flushing mechanisms per [RFC7623] can be performed. | MAC flushing mechanisms per [RFC7623] can be performed. | |||
1. If the MAC address of the physical port is used for PBB | 1. If the MAC address of the physical port is used for PBB | |||
encapsulation as B-MAC SA, then upon the port failure, the PE | encapsulation as B-MAC SA, then upon the port failure, the PE | |||
MUST use the EVPN MAC route withdrawal message to signal the | MUST use the EVPN MAC route withdrawal message to signal the | |||
flush. | flush. | |||
2. If the PE's shared MAC address is used for PBB encapsulation as | 2. If the PE's shared MAC address is used for PBB encapsulation as | |||
B-MAC SA, then upon the port failure, the PE MUST re-advertise | B-MAC SA, then upon the port failure, the PE MUST re-advertise | |||
this MAC route with the MAC Mobility Extended Community to signal | this MAC route with the MAC Mobility extended community to signal | |||
the flush. | the flush. | |||
The first method is recommended because it reduces the scope of | The first method is recommended because it reduces the scope of | |||
flushing the most. | flushing the most. | |||
As noted above, the advertisement of the extended community along | As noted above, the advertisement of the extended community along | |||
with the B-MAC route for coloring purposes is optional and only | with the B-MAC route for coloring purposes is optional and only | |||
recommended when there are many vESes per physical port and each vES | recommended when there are many vESes per physical port and each vES | |||
is associated with a very large number of service instances (i.e., a | is associated with a very large number of service instances (i.e., a | |||
large number of I-SIDs). | large number of I-SIDs). | |||
skipping to change at line 910 ¶ | skipping to change at line 905 ¶ | |||
+----+ | | +---+ | +----+ | | +---+ | |||
+-----+ | +-----+ | |||
Figure 4: Fast Convergence Upon ENNI Failure | Figure 4: Fast Convergence Upon ENNI Failure | |||
As discussed in Section 4.2, it is highly desirable to have a mass- | As discussed in Section 4.2, it is highly desirable to have a mass- | |||
withdraw mechanism similar to the one in [RFC7432]. Although such an | withdraw mechanism similar to the one in [RFC7432]. Although such an | |||
optimization is desirable, it is OPTIONAL. If the optimization is | optimization is desirable, it is OPTIONAL. If the optimization is | |||
implemented, the following procedures are used: | implemented, the following procedures are used: | |||
1. When a vES is configured, the PE advertises the Ethernet Segment | 1. When a vES is configured, the PE advertises the ES route for this | |||
route for this vES with a color that corresponds to the | vES with a color that corresponds to the associated physical | |||
associated physical port. | port. | |||
2. All receiving PEs within the redundancy group record this color | 2. All receiving PEs within the redundancy group record this color | |||
and compile a list of vESes associated with it. | and compile a list of vESes associated with it. | |||
3. Additionally, the PE advertises a Grouping Ethernet A-D per ES | 3. Additionally, the PE advertises a Grouping Ethernet A-D per ES | |||
for EVPN, and a Grouping B-MAC for PBB-EVPN, which corresponds to | route for EVPN, and a Grouping B-MAC route for PBB-EVPN, which | |||
the color and vES grouping. | corresponds to the color and vES grouping. | |||
4. In the event of a port failure, such as an ENNI failure, the PE | 4. In the event of a port failure, such as an ENNI failure, the PE | |||
withdraws the previously advertised Grouping Ethernet A-D per ES | withdraws the previously advertised Grouping Ethernet A-D per ES | |||
or Grouping B-MAC associated with the failed port. The PE should | route or Grouping B-MAC route associated with the failed port. | |||
prioritize sending these Grouping route withdrawal messages over | The PE should prioritize sending these Grouping route withdrawal | |||
the withdrawal of individual vES routes affected by the failure. | messages over the withdrawal of individual vES routes affected by | |||
For instance, as depicted in Figure 4, when the physical port | the failure. For instance, as depicted in Figure 4, when the | |||
associated with ENNI3 fails on PE2, it withdraws the previously | physical port associated with ENNI3 fails on PE2, it withdraws | |||
advertised Grouping Ethernet A-D per ES route. Upon receiving | the previously advertised Grouping Ethernet A-D per ES route. | |||
this withdrawal message, other multi-homing PEs (such as PE1 and | Upon receiving this withdrawal message, other multihoming PEs | |||
PE3) recognize that the vESes associated with CE1 and CE3 are | (such as PE1 and PE3) recognize that the vESes associated with | |||
impacted, based on the associated color, and thus initiate the DF | CE1 and CE3 are impacted, based on the associated color, and thus | |||
election procedure for these vESes. Furthermore, upon receiving | initiate the DF election procedure for these vESes. Furthermore, | |||
this withdrawal message, remote PEs (such as PE4) initiate the | upon receiving this withdrawal message, remote PEs (such as PE4) | |||
failover procedure for the vESes associated with CE1 and CE3 and | initiate the failover procedure for the vESes associated with CE1 | |||
switch to the other PE for each vES redundancy group. | and CE3 and switch to the other PE for each vES redundancy group. | |||
5. On reception of Grouping Ethernet A-D per ES or Grouping B-MAC | 5. On reception of Grouping Ethernet A-D per ES route or Grouping | |||
route withdrawal, other PEs in the redundancy group initiate DF | B-MAC route withdrawal, other PEs in the redundancy group | |||
election procedures across all their affected vESes. | initiate DF election procedures across all their affected vESes. | |||
6. The PE with the physical port failure (ENNI failure) sends a vES | 6. The PE with the physical port failure (ENNI failure) sends a vES | |||
route withdrawal for every impacted vES. Upon receiving these | route withdrawal for every impacted vES. Upon receiving these | |||
messages, the other PEs clear up their BGP tables. It should be | messages, the other PEs clear up their BGP tables. It should be | |||
noted that the vES route withdrawal messages are not used for | noted that the vES route withdrawal messages are not used for | |||
executing DF election procedures by the receiving PEs when | executing DF election procedures by the receiving PEs when | |||
Grouping Ethernet A-D per ES or Grouping B-MAC withdrawal has | Grouping Ethernet A-D per ES route or Grouping B-MAC route | |||
been previously received. | withdrawal has been previously received. | |||
6. Security Considerations | 6. Security Considerations | |||
All the security considerations in [RFC7432] and [RFC7623] apply | All the security considerations in [RFC7432] and [RFC7623] apply | |||
directly to this document because this document leverages the control | directly to this document because this document leverages the control | |||
and data plane procedures described in those documents. | and data plane procedures described in those documents. | |||
This document does not introduce any new security considerations | This document does not introduce any new security considerations | |||
beyond that of [RFC7432] and [RFC7623] because advertisements and the | beyond that of [RFC7432] and [RFC7623] because advertisements and the | |||
processing of Ethernet Segment routes for vES in this document follow | processing of ES routes for vES in this document follow that of | |||
that of physical ES in those RFCs. | physical ES in those RFCs. | |||
7. IANA Considerations | 7. IANA Considerations | |||
This document has no IANA actions. | This document has no IANA actions. | |||
8. References | 8. References | |||
8.1. Normative References | 8.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
skipping to change at line 1013 ¶ | skipping to change at line 1008 ¶ | |||
[RFC9541] Rabadan, J., Ed., Sathappan, S., Nagaraj, K., Miyake, M., | [RFC9541] Rabadan, J., Ed., Sathappan, S., Nagaraj, K., Miyake, M., | |||
and T. Matsuda, "Flush Mechanism for Customer MAC | and T. Matsuda, "Flush Mechanism for Customer MAC | |||
Addresses Based on Service Instance Identifier (I-SID) in | Addresses Based on Service Instance Identifier (I-SID) in | |||
Provider Backbone Bridging EVPN (PBB-EVPN)", RFC 9541, | Provider Backbone Bridging EVPN (PBB-EVPN)", RFC 9541, | |||
DOI 10.17487/RFC9541, March 2024, | DOI 10.17487/RFC9541, March 2024, | |||
<https://www.rfc-editor.org/info/rfc9541>. | <https://www.rfc-editor.org/info/rfc9541>. | |||
8.2. Informative References | 8.2. Informative References | |||
[MEF63] Metro Ethernet Forum, "Subscriber Ethernet Services | [MEF63] Metro Ethernet Forum, "Subscriber Ethernet Services | |||
Definitions", MEF Standard, MEF 6.3, November 2019. | Definitions", MEF Standard, MEF 6.3, November 2019, | |||
<https://www.mef.net/resources/mef-6-3-subscriber- | ||||
ethernet-service-definitions>. | ||||
[RFC4377] Nadeau, T., Morrow, M., Swallow, G., Allan, D., and S. | [RFC4377] Nadeau, T., Morrow, M., Swallow, G., Allan, D., and S. | |||
Matsushima, "Operations and Management (OAM) Requirements | Matsushima, "Operations and Management (OAM) Requirements | |||
for Multi-Protocol Label Switched (MPLS) Networks", | for Multi-Protocol Label Switched (MPLS) Networks", | |||
RFC 4377, DOI 10.17487/RFC4377, February 2006, | RFC 4377, DOI 10.17487/RFC4377, February 2006, | |||
<https://www.rfc-editor.org/info/rfc4377>. | <https://www.rfc-editor.org/info/rfc4377>. | |||
[RFC6310] Aissaoui, M., Busschbach, P., Martini, L., Morrow, M., | [RFC6310] Aissaoui, M., Busschbach, P., Martini, L., Morrow, M., | |||
Nadeau, T., and Y. Stein, "Pseudowire (PW) Operations, | Nadeau, T., and Y. Stein, "Pseudowire (PW) Operations, | |||
Administration, and Maintenance (OAM) Message Mapping", | Administration, and Maintenance (OAM) Message Mapping", | |||
End of changes. 61 change blocks. | ||||
159 lines changed or deleted | 156 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |