rfc9469.original | rfc9469.txt | |||
---|---|---|---|---|
NVO3 Workgroup J. Rabadan, Ed. | Internet Engineering Task Force (IETF) J. Rabadan, Ed. | |||
Internet-Draft M. Bocci | Request for Comments: 9469 M. Bocci | |||
Intended status: Informational Nokia | Category: Informational Nokia | |||
Expires: 30 October 2023 S. Boutros | ISSN: 2070-1721 S. Boutros | |||
Ciena | Ciena | |||
A. Sajassi | A. Sajassi | |||
Cisco | Cisco | |||
28 April 2023 | September 2023 | |||
Applicability of EVPN to NVO3 Networks | Applicability of Ethernet Virtual Private Network (EVPN) to Network | |||
draft-ietf-nvo3-evpn-applicability-06 | Virtualization over Layer 3 (NVO3) Networks | |||
Abstract | Abstract | |||
Ethernet Virtual Private Network (EVPN) provides a unified control- | An Ethernet Virtual Private Network (EVPN) provides a unified control | |||
plane that solves the Network Virtualization Edge (NVE) auto- | plane that solves the issues of Network Virtualization Edge (NVE) | |||
discovery, tenant MAC/IP dissemination and advanced features required | auto-discovery, tenant Media Access Control (MAC) / IP dissemination, | |||
by Network Virtualization Over Layer-3 (NVO3) networks. EVPN is a | and advanced features in a scablable way as required by Network | |||
scalable solution for NVO3 networks and keeps the independence of the | Virtualization over Layer 3 (NVO3) networks. EVPN is a scalable | |||
underlay IP Fabric, i.e. there is no need to enable PIM in the | solution for NVO3 networks and keeps the independence of the underlay | |||
underlay network and maintain multicast states for tenant Broadcast | IP Fabric, i.e., there is no need to enable Protocol Independent | |||
Domains. This document describes the use of EVPN for NVO3 networks, | Multicast (PIM) in the underlay network and maintain multicast states | |||
discusses its applicability to basic Layer-2 and Layer-3 connectivity | for tenant Broadcast Domains. This document describes the use of | |||
requirements, as well as advanced features such as MAC-mobility, MAC | EVPN for NVO3 networks and discusses its applicability to basic Layer | |||
Protection and Loop Protection, multi-homing, Data Center | 2 and Layer 3 connectivity requirements and to advanced features such | |||
Interconnect (DCI) and much more. No new EVPN procedures are | as MAC Mobility, MAC Protection and Loop Protection, multihoming, | |||
introduced. | Data Center Interconnect (DCI), and much more. No new EVPN | |||
procedures are introduced. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
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/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Not all documents | |||
approved by the IESG are candidates for any level of Internet | ||||
Standard; see Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 30 October 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9469. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2023 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. EVPN and NVO3 Terminology . . . . . . . . . . . . . . . . . . 3 | 2. EVPN and NVO3 Terminology | |||
3. Why is EVPN Needed in NVO3 Networks? . . . . . . . . . . . . 7 | 3. Why is EVPN Needed in NVO3 Networks? | |||
4. Applicability of EVPN to NVO3 Networks . . . . . . . . . . . 9 | 4. Applicability of EVPN to NVO3 Networks | |||
4.1. EVPN Route Types Used in NVO3 Networks . . . . . . . . . 9 | 4.1. EVPN Route Types Used in NVO3 Networks | |||
4.2. EVPN Basic Applicability for Layer-2 Services . . . . . . 11 | 4.2. EVPN Basic Applicability for Layer 2 Services | |||
4.2.1. Auto-Discovery and Auto-Provisioning . . . . . . . . 12 | 4.2.1. Auto-Discovery and Auto-Provisioning | |||
4.2.2. Remote NVE Auto-Discovery . . . . . . . . . . . . . . 13 | 4.2.2. Remote NVE Auto-Discovery | |||
4.2.3. Distribution of Tenant MAC and IP Information . . . . 14 | 4.2.3. Distribution of Tenant MAC and IP Information | |||
4.3. EVPN Basic Applicability for Layer-3 Services . . . . . . 15 | 4.3. EVPN Basic Applicability for Layer 3 Services | |||
4.4. EVPN as Control Plane for NVO3 Encapsulations and | 4.4. EVPN as Control Plane for NVO3 Encapsulations and Geneve | |||
GENEVE . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 4.5. EVPN OAM and Application to NVO3 | |||
4.5. EVPN OAM and Application to NVO3 . . . . . . . . . . . . 18 | 4.6. EVPN as the Control Plane for NVO3 Security | |||
4.6. EVPN as the Control Plane for NVO3 Security . . . . . . . 18 | 4.7. Advanced EVPN Features for NVO3 Networks | |||
4.7. Advanced EVPN Features for NVO3 Networks . . . . . . . . 18 | 4.7.1. Virtual Machine (VM) Mobility | |||
4.7.1. Virtual Machine (VM) Mobility . . . . . . . . . . . . 18 | 4.7.2. MAC Protection, Duplication Detection, and Loop | |||
4.7.2. MAC Protection, Duplication Detection and Loop | Protection | |||
Protection . . . . . . . . . . . . . . . . . . . . . 19 | 4.7.3. Reduction/Optimization of BUM Traffic in Layer 2 | |||
4.7.3. Reduction/Optimization of BUM Traffic in Layer-2 | Services | |||
Services . . . . . . . . . . . . . . . . . . . . . . 19 | 4.7.4. Ingress Replication (IR) Optimization for BUM Traffic | |||
4.7.4. Ingress Replication (IR) Optimization for BUM | 4.7.5. EVPN Multihoming | |||
Traffic . . . . . . . . . . . . . . . . . . . . . . . 20 | 4.7.6. EVPN Recursive Resolution for Inter-subnet Unicast | |||
4.7.5. EVPN Multi-Homing . . . . . . . . . . . . . . . . . . 21 | Forwarding | |||
4.7.6. EVPN Recursive Resolution for Inter-Subnet Unicast | 4.7.7. EVPN Optimized Inter-subnet Multicast Forwarding | |||
Forwarding . . . . . . . . . . . . . . . . . . . . . 22 | 4.7.8. Data Center Interconnect (DCI) | |||
4.7.7. EVPN Optimized Inter-Subnet Multicast Forwarding . . 23 | 5. Security Considerations | |||
4.7.8. Data Center Interconnect (DCI) . . . . . . . . . . . 24 | 6. IANA Considerations | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | 7. References | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 7.1. Normative References | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | 7.2. Informative References | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 24 | Acknowledgments | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 25 | Authors' Addresses | |||
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 29 | ||||
Appendix B. Contributors . . . . . . . . . . . . . . . . . . . . 29 | ||||
Appendix C. Authors' Addresses . . . . . . . . . . . . . . . . . 29 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 | ||||
1. Introduction | 1. Introduction | |||
In Network Virtualization Over Layer-3 (NVO3) networks, Network | In Network Virtualization over Layer 3 (NVO3) networks, Network | |||
Virtualization Edge devices (NVEs) sit at the edge of the underlay | Virtualization Edge (NVE) devices sit at the edge of the underlay | |||
network and provide Layer-2 and Layer-3 connectivity among Tenant | network and provide Layer 2 and Layer 3 connectivity among Tenant | |||
Systems (TSes) of the same tenant. The NVEs need to build and | Systems (TSes) of the same tenant. The NVEs need to build and | |||
maintain mapping tables so that they can deliver encapsulated packets | maintain mapping tables so they can deliver encapsulated packets to | |||
to their intended destination NVE(s). While there are different | their intended destination NVE(s). While there are different options | |||
options to create and disseminate the mapping table entries, NVEs may | to create and disseminate the mapping table entries, NVEs may | |||
exchange that information directly among themselves via a control- | exchange that information directly among themselves via a control | |||
plane protocol, such as Ethernet Virtual Private Network (EVPN). | plane protocol, such as Ethernet Virtual Private Network (EVPN). | |||
EVPN provides an efficient, flexible and unified control-plane option | EVPN provides an efficient, flexible, and unified control plane | |||
that can be used for Layer-2 and Layer-3 Virtual Network (VN) service | option that can be used for Layer 2 and Layer 3 Virtual Network (VN) | |||
connectivity. This document does not introduce any new procedures in | service connectivity. This document does not introduce any new | |||
EVPN. | procedures in EVPN. | |||
In this document, we assume that the EVPN control-plane module | In this document, we assume that the EVPN control plane module | |||
resides in the NVEs. The NVEs can be virtual switches in | resides in the NVEs. The NVEs can be virtual switches in | |||
hypervisors, Top Of Rack (TOR) switches or Leaf switches or Data | hypervisors, Top-of-Rack (ToR) switches or Leaf switches, or Data | |||
Center Gateways. As described in [RFC7365], Network Virtualization | Center Gateways. As described in [RFC7365], Network Virtualization | |||
Authorities (NVAs) may be used to provide the forwarding information | Authorities (NVAs) may be used to provide the forwarding information | |||
to the NVEs, and in that case, EVPN could be used to disseminate the | to the NVEs, and in that case, EVPN could be used to disseminate the | |||
information across multiple federated NVAs. The applicability of | information across multiple federated NVAs. The applicability of | |||
EVPN would then be similar to the one described in this document. | EVPN would then be similar to the one described in this document. | |||
However, for simplicity, the description assumes control-plane | However, for simplicity, the description assumes control plane | |||
communication among NVE(s). | communication among NVE(s). | |||
2. EVPN and NVO3 Terminology | 2. EVPN and NVO3 Terminology | |||
This document uses the terminology of [RFC7365], in addition to the | This document uses the terminology of [RFC7365] in addition to the | |||
terms that follow. | terms that follow. | |||
* AC: Attachment Circuit or logical interface associated to a given | AC: Attachment Circuit or logical interface associated with a given | |||
BT. To determine the AC on which a packet arrived, the NVE will | BT. To determine the AC on which a packet arrived, the NVE will | |||
examine the physical/logical port and/or VLAN tags (where the VLAN | examine the physical/logical port and/or VLAN tags (where the VLAN | |||
tags can be individual c-tags, s-tags or ranges of both). | tags can be individual c-tags, s-tags, or ranges of both). | |||
* ARP and ND: Address Resolution Protocol (IPv4) and Neighbor | ARP and NDP: Address Resolution Protocol (IPv4) and Neighbor | |||
Discovery protocol (IPv6). | Discovery Protocol (IPv6), respectively. | |||
* BD: or Broadcast Domain, it corresponds to a tenant IP subnet. If | BD: Broadcast Domain that corresponds to a tenant IP subnet. If no | |||
no suppression techniques are used, a BUM frame that is injected | suppression techniques are used, a BUM frame that is injected in a | |||
in a Broadcast Domain will reach all the NVEs that are attached to | Broadcast Domain will reach all the NVEs that are attached to that | |||
that Broadcast Domain. An EVI may contain one or multiple | Broadcast Domain. An EVI may contain one or multiple Broadcast | |||
Broadcast Domains depending on the service model [RFC7432]. This | Domains depending on the service model [RFC7432]. This document | |||
document will use the term Broadcast Domain to refer to a tenant | will use the term Broadcast Domain to refer to a tenant subnet. | |||
subnet. | ||||
* BT: a Bridge Table, as defined in [RFC7432]. A BT is the | BT: Bridge Table, as defined in [RFC7432]. A BT is the | |||
instantiation of a Broadcast Domain in an NVE. When there is a | instantiation of a Broadcast Domain in an NVE. When there is a | |||
single Broadcast Domain on a given EVI, the MAC-VRF is equivalent | single Broadcast Domain on a given EVI, the MAC-VRF is equivalent | |||
to the BT on that NVE. Although a Broadcast Domain spans multiple | to the BT on that NVE. Although a Broadcast Domain spans multiple | |||
NVEs, and a BT is really the instantiation of a Broadcast Domain | NVEs and a BT is really the instantiation of a Broadcast Domain in | |||
in an NVE, this document uses BT and Broadcast Domain | an NVE, this document uses BT and Broadcast Domain | |||
interchangeably. | interchangeably. | |||
* BUM: Broadcast, Unknown unicast and Multicast frames. | BUM: Broadcast, Unknown Unicast, and Multicast frames | |||
* Clos: a multistage network topology described in [CLOS1953], where | Clos: A multistage network topology described in [CLOS1953], where | |||
all the edge switches (or Leafs) are connected to all the core | all the edge switches (or Leafs) are connected to all the core | |||
switches (or Spines). Typically used in Data Centers. | switches (or Spines). Typically used in Data Centers. | |||
* DF and NDF: they refer to Designated Forwarder and Non-Designated | DF and NDF: Designated Forwarder and Non-Designated Forwarder, | |||
Forwarder, which are the roles that a given PE can have in a given | respectively. These are the roles that a given PE can have in a | |||
ES. | given ES. | |||
* ECMP: Equal Cost Multi-Path. | ECMP: Equal-Cost Multipath | |||
* ES: Ethernet Segment. When a Tenant System (TS) is connected to | ES: Ethernet Segment. When a Tenant System (TS) is connected to one | |||
one or more NVEs via a set of Ethernet links, then that set of | or more NVEs via a set of Ethernet links, that set of links is | |||
links is referred to as an 'Ethernet segment'. Each ES is | referred to as an "Ethernet Segment". Each ES is represented by a | |||
represented by a unique Ethernet Segment Identifier (ESI) in the | unique Ethernet Segment Identifier (ESI) in the NVO3 network, and | |||
NVO3 network and the ESI is used in EVPN routes that are specific | the ESI is used in EVPN routes that are specific to that ES. | |||
to that ES. | ||||
* Ethernet Tag: Used to represent a Broadcast Domain that is | Ethernet Tag: Used to represent a Broadcast Domain that is | |||
configured on a given ES for the purpose of Designated Forwarder | configured on a given ES for the purpose of Designated Forwarder | |||
election. Note that any of the following may be used to represent | election. Note that any of the following may be used to represent | |||
a Broadcast Domain: VIDs (including Q-in-Q tags), configured IDs, | a Broadcast Domain: VIDs (including Q-in-Q tags), configured IDs, | |||
VNIs (Virtual Extensible Local Area Network (VXLAN) Network | VNIs, normalized VIDs, Service Instance Identifiers (I-SIDs), | |||
Identifiers), normalized VIDs, I-SIDs (Service Instance | etc., as long as the representation of the Broadcast Domains is | |||
Identifiers), etc., as long as the representation of the Broadcast | configured consistently across the multihomed PEs attached to that | |||
Domains is configured consistently across the multihomed PEs | ES. | |||
attached to that ES. | ||||
* EVI: or EVPN Instance. It is a Layer-2 Virtual Network that uses | EVI or EVPN Instance: A Layer 2 Virtual Network that uses an EVPN | |||
an EVPN control-plane to exchange reachability information among | control plane to exchange reachability information among the | |||
the member NVEs. It corresponds to a set of MAC-VRFs of the same | member NVEs. It corresponds to a set of MAC-VRFs of the same | |||
tenant. See MAC-VRF in this section. | tenant. See MAC-VRF in this section. | |||
* EVPN: Ethernet Virtual Private Networks, as described in | EVPN: Ethernet Virtual Private Network, as described in [RFC7432]. | |||
[RFC7432]. | ||||
* EVPN VLAN-aware bundle service model: similar to the VLAN-bundle | EVPN VLAN-Aware Bundle Service Interface: Similar to the VLAN-bundle | |||
model but each individual VLAN value is mapped to a different | interface but each individual VLAN value is mapped to a different | |||
Broadcast Domain. In this model there are multiple Broadcast | Broadcast Domain. In this interface, there are multiple Broadcast | |||
Domains per EVI for a given tenant. Each Broadcast Domain is | Domains per EVI for a given tenant. Each Broadcast Domain is | |||
identified by an "Ethernet Tag", that is a control-plane value | identified by an "Ethernet Tag", which is a control plane value | |||
that identifies the routes for the Broadcast Domain within the | that identifies the routes for the Broadcast Domain within the | |||
EVI. | EVI. | |||
* EVPN VLAN-based service model: one of the three service models | EVPN VLAN-Based Service Interface: One of the three service | |||
defined in [RFC7432]. It is characterized as a Broadcast Domain | interfaces defined in [RFC7432]. It is characterized as a | |||
that uses a single VLAN per physical access port to attach tenant | Broadcast Domain that uses a single VLAN per physical access port | |||
traffic to the Broadcast Domain. In this service model, there is | to attach tenant traffic to the Broadcast Domain. In this service | |||
only one Broadcast Domain per EVI. | interface, there is only one Broadcast Domain per EVI. | |||
* EVPN VLAN-bundle service model: similar to VLAN-based but uses a | EVPN VLAN-Bundle Service Interface: Similar to the VLAN-based | |||
bundle of VLANs per physical port to attach tenant traffic to the | interface but uses a bundle of VLANs per physical port to attach | |||
Broadcast Domain. As in VLAN-based, in this model there is a | tenant traffic to the Broadcast Domain. Like the VLAN-based | |||
single Broadcast Domain per EVI. | interface, there is only one Broadcast Domain per EVI. | |||
* GENEVE: Generic Network Virtualization Encapsulation, an NVO3 | Geneve: Generic Network Virtualization Encapsulation. An NVO3 | |||
encapsulation defined in [RFC8926]. | encapsulation defined in [RFC8926]. | |||
* IP-VRF: an IP Virtual Routing and Forwarding table, as defined in | IP-VRF: IP Virtual Routing and Forwarding table, as defined in | |||
[RFC4364]. It stores IP Prefixes that are part of the tenant's IP | [RFC4364]. It stores IP Prefixes that are part of the tenant's IP | |||
space, and are distributed among NVEs of the same tenant by EVPN. | space and are distributed among NVEs of the same tenant by EVPN. | |||
Route Distinguisher (RD) and Route Target(s) (RTs) are required | A Route Distinguisher (RD) and one or more Route Targets (RTs) are | |||
properties of an IP-VRF. An IP-VRF is instantiated in an NVE for | required properties of an IP-VRF. An IP-VRF is instantiated in an | |||
a given tenant, if the NVE is attached to multiple subnets of the | NVE for a given tenant if the NVE is attached to multiple subnets | |||
tenant and local inter-subnet-forwarding is required across those | of the tenant and local inter-subnet forwarding is required across | |||
subnets. | those subnets. | |||
* IRB: Integrated Routing and Bridging interface. It refers to the | IRB: Integrated Routing and Bridging. It refers to the logical | |||
logical interface that connects a Broadcast Domain instance (or a | interface that connects a Broadcast Domain instance (or a BT) to | |||
BT) to an IP- VRF and allows to forward packets with destination | an IP-VRF and forwards packets with a destination in a different | |||
in a different subnet. | subnet. | |||
* MAC-VRF: a MAC Virtual Routing and Forwarding table, as defined in | MAC-VRF: A MAC Virtual Routing and Forwarding table, as defined in | |||
[RFC7432]. The instantiation of an EVI (EVPN Instance) in an NVE. | [RFC7432]. The instantiation of an EVI (EVPN Instance) in an NVE. | |||
Route Distinguisher (RD) and Route Target(s) (RTs) are required | A Route Distinguisher (RD) and one or more RTs are required | |||
properties of a MAC-VRF and they are normally different from the | properties of a MAC-VRF, and they are normally different from the | |||
ones defined in the associated IP-VRF (if the MAC-VRF has an IRB | ones defined in the associated IP-VRF (if the MAC-VRF has an IRB | |||
interface). | interface). | |||
* NVE: Network Virtualization Edge device, a network entity that | NVE: Network Virtualization Edge. A network entity that sits at the | |||
sits at the edge of an underlay network and implements Layer-2 | edge of an underlay network and implements Layer 2 and/or Layer 3 | |||
and/or Layer-3 network virtualization functions. The network- | network virtualization functions. The network-facing side of the | |||
facing side of the NVE uses the underlying Layer-3 network to | NVE uses the underlying Layer 3 network to tunnel tenant frames to | |||
tunnel tenant frames to and from other NVEs. The tenant-facing | and from other NVEs. The tenant-facing side of the NVE sends and | |||
side of the NVE sends and receives Ethernet frames to and from | receives Ethernet frames to and from individual Tenant Systems. | |||
individual Tenant Systems. In this document, an NVE could be | In this document, an NVE could be implemented as a virtual switch | |||
implemented as a virtual switch within a hypervisor, a switch or a | within a hypervisor, a switch, or a router, and it runs EVPN in | |||
router, and runs EVPN in the control-plane. | the control plane. | |||
* NVO3 tunnels: Network Virtualization Over Layer-3 tunnels. In | NVO3 tunnels: Network Virtualization over Layer 3 tunnels. In this | |||
this document, NVO3 tunnels refer to a way to encapsulate tenant | document, NVO3 tunnels refer to a way to encapsulate tenant frames | |||
frames or packets into IP packets whose IP Source Addresses (SA) | or packets into IP packets, whose IP Source Addresses (SAs) or | |||
or Destination Addresses (DA) belong to the underlay IP address | Destination Addresses (DAs) belong to the underlay IP address | |||
space, and identify NVEs connected to the same underlay network. | space, and identify NVEs connected to the same underlay network. | |||
Examples of NVO3 tunnel encapsulations are VXLAN [RFC7348], GENEVE | Examples of NVO3 tunnel encapsulations are VXLAN [RFC7348], Geneve | |||
[RFC8926] or MPLSoUDP [RFC7510]. | [RFC8926], or MPLSoUDP [RFC7510]. | |||
* PE: Provider Edge router. | PE: Provider Edge | |||
* PMSI: Provider Multicast Service Interface. | PMSI: Provider Multicast Service Interface | |||
* PTA: Provider Multicast Service Interface Tunnel Attribute. | PTA: PMSI Tunnel Attribute | |||
* RT and RD: Route Target and Route Distinguisher. | RT and RD: Route Target and Route Distinguisher, respectively. | |||
* RT-1, RT-2, RT-3, etc.: they refer to Route Type followed by the | RT-1, RT-2, RT-3, etc.: These refer to the Route Types followed by | |||
type number as defined in the IANA registry for EVPN route types. | the type numbers as defined in the "EVPN Route Types" IANA | |||
registry (see <https://www.iana.org/assignments/evpn/>). | ||||
* SA and DA: Source Address and Destination Address. They are used | SA and DA: Source Address and Destination Address, respectively. | |||
along with MAC or IP, e.g. IP SA or MAC DA. | They are used along with MAC or IP, e.g., IP SA or MAC DA. | |||
* SBD: Supplementary Broadcast Domain. Defined in [RFC9136], it is | SBD: Supplementary Broadcast Domain, as defined in [RFC9136]. It is | |||
a Broadcast Domain that does not have any Attachment Circuits, | a Broadcast Domain that does not have any Attachment Circuits, | |||
only IRB interfaces, and provides connectivity among all the IP- | only has IRB interfaces, and provides connectivity among all the | |||
VRFs of a tenant in the Interface-ful IP-VRF-to-IP-VRF models. | IP-VRFs of a tenant in the Interface-ful IP-VRF-to-IP-VRF models. | |||
* TS: Tenant System. A physical or virtual system that can play the | TS: Tenant System. A physical or virtual system that can play the | |||
role of a host or a forwarding element such as a router, switch, | role of a host or a forwarding element, such as a router, switch, | |||
firewall, etc. It belongs to a single tenant and connects to one | firewall, etc. It belongs to a single tenant and connects to one | |||
or more Broadcast Domains of that tenant. | or more Broadcast Domains of that tenant. | |||
* VIDs: Virtual Local Area Network Identifiers. | VID: Virtual Local Area Network Identifier | |||
* VNI: Virtual Network Identifier. Irrespective of the NVO3 | VNI: Virtual Network Identifier. Irrespective of the NVO3 | |||
encapsulation, the tunnel header always includes a VNI that is | encapsulation, the tunnel header always includes a VNI that is | |||
added at the ingress NVE (based on the mapping table lookup) and | added at the ingress NVE (based on the mapping table lookup) and | |||
identifies the BT at the egress NVE. This VNI is called VNI in | identifies the BT at the egress NVE. This VNI is called VNI in | |||
VXLAN or GENEVE, VSID in nvGRE or Label in MPLSoGRE or MPLSoUDP. | VXLAN or Geneve, Virtual Subnet ID (VSID) in nvGRE, or Label in | |||
This document will refer to VNI as a generic Virtual Network | MPLSoGRE or MPLSoUDP. This document refers to VNI as a generic | |||
Identifier for any NVO3 encapsulation. | VNI for any NVO3 encapsulation. | |||
* VXLAN: Virtual eXtensible Local Area Network, an NVO3 | VXLAN: Virtual eXtensible Local Area Network. An NVO3 encapsulation | |||
encapsulation defined in [RFC7348]. | defined in [RFC7348]. | |||
3. Why is EVPN Needed in NVO3 Networks? | 3. Why is EVPN Needed in NVO3 Networks? | |||
Data Centers have adopted NVO3 architectures mostly due to the issues | Data Centers have adopted NVO3 architectures mostly due to the issues | |||
discussed in [RFC7364]. The architecture of a Data Center is | discussed in [RFC7364]. The architecture of a Data Center is | |||
nowadays based on a Clos design, where every Leaf is connected to a | nowadays based on a Clos design, where every Leaf is connected to a | |||
layer of Spines, and there is a number of Equal Cost Multi-Paths | layer of Spines and there is a number of ECMPs between any two Leaf | |||
between any two leaf nodes. All the links between Leaf and Spine | nodes. All the links between Leaf and Spine nodes are routed links, | |||
nodes are routed links, forming what we also know as an underlay IP | forming what we also know as an underlay IP Fabric. The underlay IP | |||
Fabric. The underlay IP Fabric does not have issues with loops or | Fabric does not have issues with loops or flooding (like old Spanning | |||
flooding (like old Spanning Tree Data Center designs did), | Tree Data Center designs did), convergence is fast, and ECMP | |||
convergence is fast and Equal Cost Multi-Path generally distributes | generally distributes utilization well across all the links. | |||
utilization well across all the links. | ||||
On this architecture, and as discussed by [RFC7364], multi-tenant | On this architecture, and as discussed by [RFC7364], multi-tenant | |||
intra-subnet and inter-subnet connectivity services are provided by | intra-subnet and inter-subnet connectivity services are provided by | |||
NVO3 tunnels. VXLAN [RFC7348] or GENEVE [RFC8926] are two examples | NVO3 tunnels. VXLAN [RFC7348] and Geneve [RFC8926] are two examples | |||
of such NVO3 tunnels. | of such NVO3 tunnels. | |||
Why is a control-plane protocol along with NVO3 tunnels helpful? | Why is a control plane protocol along with NVO3 tunnels helpful? | |||
There are three main reasons: | There are three main reasons: | |||
a. Auto-discovery of the remote NVEs that are attached to the same | a. Auto-discovery of the remote NVEs that are attached to the same | |||
VPN instance (Layer-2 and/or Layer-3) as the ingress NVE is. | VPN instance (Layer 2 and/or Layer 3) as the ingress NVE is. | |||
b. Dissemination of the MAC/IP host information so that mapping | b. Dissemination of the MAC/IP host information so that mapping | |||
tables can be populated on the remote NVEs. | tables can be populated on the remote NVEs. | |||
c. Advanced features such as MAC Mobility, MAC Protection, BUM and | c. Advanced features such as MAC Mobility, MAC Protection, BUM and | |||
ARP/ND traffic reduction/suppression, Multi-homing, Prefix | ARP/ND traffic reduction/suppression, multihoming, functionality | |||
Independent Convergence (PIC) like functionality | similar to Prefix Independent Convergence (PIC) [RTGWG-BGP-PIC], | |||
[I-D.ietf-rtgwg-bgp-pic], Fast Convergence, etc. | fast convergence, etc. | |||
A possible approach to achieve points (a) and (b) above for | "Flood and learn" is a possible approach to achieve points (a) and | |||
multipoint Ethernet services, is "flood and learn". "Flood and | (b) above for multipoint Ethernet services. "Flood and learn" refers | |||
learn" refers to not using a specific control-plane on the NVEs, but | to "flooding" BUM traffic from the ingress NVE to all the egress NVEs | |||
rather "flood" BUM traffic from the ingress NVE to all the egress | attached to the same Broadcast Domain instead of using a specific | |||
NVEs attached to the same Broadcast Domain. The egress NVEs may then | control plane on the NVEs. The egress NVEs may then use data path | |||
use data path source MAC address "learning" on the frames received | source MAC address "learning" on the frames received over the NVO3 | |||
over the NVO3 tunnels. When the destination host replies and the | tunnels. When the destination host replies and the frames arrive at | |||
frames arrive at the NVE that initially flooded BUM frames, the NVE | the NVE that initially flooded BUM frames, the NVE will also "learn" | |||
will also "learn" the source MAC address of the frame encapsulated on | the source MAC address of the frame encapsulated on the NVO3 tunnel. | |||
the NVO3 tunnel. This approach has the following drawbacks: | This approach has the following drawbacks: | |||
* In order to flood a given BUM frame, the ingress NVE must know the | * In order to flood a given BUM frame, the ingress NVE must know the | |||
IP addresses of the remote NVEs attached to the same Broadcast | IP addresses of the remote NVEs attached to the same Broadcast | |||
Domain. This may be done as follows: | Domain. This may be done as follows: | |||
- The remote tunnel IP addresses can be statically provisioned on | - The remote tunnel IP addresses can be statically provisioned on | |||
the ingress NVE. If the ingress NVE receives a BUM frame for | the ingress NVE. If the ingress NVE receives a BUM frame for | |||
the Broadcast Domain on an ingress Attachment Circuit, it will | the Broadcast Domain on an ingress Attachment Circuit, it will | |||
do ingress replication and will send the frame to all the | do ingress replication and will send the frame to all the | |||
configured egress NVE destination IP addresses in the Broadcast | configured egress NVE destination IP addresses in the Broadcast | |||
Domain. | Domain. | |||
- All the NVEs attached to the same Broadcast Domain can | - All the NVEs attached to the same Broadcast Domain can | |||
subscribe to an underlay IP Multicast Group that is dedicated | subscribe to an underlay IP multicast group that is dedicated | |||
to that Broadcast Domain. When an ingress NVE receives a BUM | to that Broadcast Domain. When an ingress NVE receives a BUM | |||
frame on an ingress Attachment Circuit, it will send a single | frame on an ingress Attachment Circuit, it will send a single | |||
copy of the frame encapsulated into an NVO3 tunnel, using the | copy of the frame encapsulated into an NVO3 tunnel using the | |||
multicast address as destination IP address of the tunnel. | multicast address as the destination IP address of the tunnel. | |||
This solution requires Protocol Independent Multicast (PIM) in | This solution requires PIM in the underlay network and the | |||
the underlay network and the association of individual | association of individual Broadcast Domains to underlay IP | |||
Broadcast Domains to underlay IP multicast groups. | multicast groups. | |||
* "Flood and learn" solves the issues of auto-discovery and learning | * "Flood and learn" solves the issues of auto-discovery and the | |||
of the MAC to VNI/tunnel IP mapping on the NVEs for a given | learning of the MAC to VNI/tunnel IP mapping on the NVEs for a | |||
Broadcast Domain. However, it does not provide a solution for | given Broadcast Domain. However, it does not provide a solution | |||
advanced features and it does not scale well (mostly due to the | for advanced features, and it does not scale well (mostly due to | |||
need for constant flooding and the underlay PIM states that must | the need for constant flooding and the underlay PIM states that | |||
be maintained). | must be maintained). | |||
EVPN provides a unified control-plane that solves the NVE auto- | EVPN provides a unified control plane that solves the issues of NVE | |||
discovery, tenant MAC/IP dissemination and advanced features in a | auto-discovery, tenant MAC/IP dissemination, and advanced features in | |||
scalable way and keeping the independence of the underlay IP Fabric, | a scalable way and keeps the independence of the underlay IP Fabric; | |||
i.e., there is no need to enable PIM in the underlay network and | i.e., there is no need to enable PIM in the underlay network and | |||
maintain multicast states for tenant Broadcast Domains. | maintain multicast states for tenant Broadcast Domains. | |||
Section 4 describes how EVPN can be used to meet the control-plane | Section 4 describes how EVPN can be used to meet the control plane | |||
requirements in an NVO3 network. | requirements in an NVO3 network. | |||
4. Applicability of EVPN to NVO3 Networks | 4. Applicability of EVPN to NVO3 Networks | |||
This section discusses the applicability of EVPN to NVO3 networks. | This section discusses the applicability of EVPN to NVO3 networks. | |||
The intent is not to provide a comprehensive explanation of the | The intent is not to provide a comprehensive explanation of the | |||
protocol itself but give an introduction and point at the | protocol itself, but to give an introduction and point at the | |||
corresponding reference document, so that the reader can easily find | corresponding reference document so the reader can easily find more | |||
more details if needed. | details if needed. | |||
4.1. EVPN Route Types Used in NVO3 Networks | 4.1. EVPN Route Types Used in NVO3 Networks | |||
EVPN supports multiple Route Types and each type has a different | EVPN supports multiple Route Types, and each type has a different | |||
function. For convenience, Table 1 shows a summary of all the | function. For convenience, Table 1 shows a summary of all the | |||
existing EVPN route types and its usage. In this document we may | existing EVPN Route Types and their usages. In this document, we may | |||
refer to these route types as RT-x routes, where x is the type number | refer to these route types as RT-x routes, where x is the type number | |||
included in the first column of Table 1. | included in the first column of Table 1. | |||
+======+================+=======================================+ | +======+================+=======================================+ | |||
| Type | Description | Usage | | | Type | Description | Usage | | |||
+======+================+=======================================+ | +======+================+=======================================+ | |||
| 1 | Ethernet Auto- | Multi-homing: used for MAC mass- | | | 1 | Ethernet Auto- | Multihoming: Used for MAC mass- | | |||
| | Discovery | withdraw when advertised per Ethernet | | | | Discovery | withdraw when advertised per Ethernet | | |||
| | | Segment, and used for aliasing/backup | | | | | Segment and for aliasing/backup | | |||
| | | functions when advertised per EVI | | | | | functions when advertised per EVI. | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 2 | MAC/IP | Host MAC/IP dissemination, supports | | | 2 | MAC/IP | Host MAC/IP dissemination; supports | | |||
| | Advertisement | MAC mobility and protection | | | | Advertisement | MAC Mobility and protection. | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 3 | Inclusive | NVE discovery and BUM flooding tree | | | 3 | Inclusive | NVE discovery and BUM flooding tree | | |||
| | Multicast | setup | | | | Multicast | setup. | | |||
| | Ethernet Tag | | | | | Ethernet Tag | | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 4 | Ethernet | Multi-homing: ES auto-discovery and | | | 4 | Ethernet | Multihoming: ES auto-discovery and DF | | |||
| | Segment | DF Election | | | | Segment | election. | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 5 | IP Prefix | IP Prefix dissemination | | | 5 | IP Prefix | IP Prefix dissemination. | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 6 | Selective | Indicate interest for a multicast S,G | | | 6 | Selective | Indicate interest for a multicast S,G | | |||
| | Multicast | or *,G | | | | Multicast | or *,G. | | |||
| | Ethernet Tag | | | | | Ethernet Tag | | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 7 | Multicast Join | Multi-homing: S,G or *,G state synch | | | 7 | Multicast Join | Multihoming: S,G or *,G state synch. | | |||
| | Synch | | | | | Synch | | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 8 | Multicast | Multi-homing: S,G or *,G leave synch | | | 8 | Multicast | Multihoming: S,G or *,G leave synch. | | |||
| | Leave Synch | | | | | Leave Synch | | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 9 | Per-Region | BUM tree creation across regions | | | 9 | Per-Region | BUM tree creation across regions. | | |||
| | I-PMSI A-D | | | | | I-PMSI A-D | | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 10 | S-PMSI A-D | Multicast tree for S,G or *,G states | | | 10 | S-PMSI A-D | Multicast tree for S,G or *,G states. | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
| 11 | Leaf A-D | Used for responses to explicit | | | 11 | Leaf A-D | Used for responses to explicit | | |||
| | | tracking | | | | | tracking. | | |||
+------+----------------+---------------------------------------+ | +------+----------------+---------------------------------------+ | |||
Table 1: EVPN route types | Table 1: EVPN Route Types | |||
4.2. EVPN Basic Applicability for Layer-2 Services | 4.2. EVPN Basic Applicability for Layer 2 Services | |||
Although the applicability of EVPN to NVO3 networks spans multiple | Although the applicability of EVPN to NVO3 networks spans multiple | |||
documents, EVPN's baseline specification is [RFC7432]. [RFC7432] | documents, EVPN's baseline specification is [RFC7432]. [RFC7432] | |||
allows multipoint layer-2 VPNs to be operated as [RFC4364] IP-VPNs, | allows multipoint Layer 2 VPNs to be operated as IP VPNs [RFC4364], | |||
where MACs and the information to set up flooding trees are | where MACs and the information to set up flooding trees are | |||
distributed by MP-BGP [RFC4760]. Based on [RFC7432], [RFC8365] | distributed by Multiprotocol BGP (MP-BGP) [RFC4760]. Based on | |||
describes how to use EVPN to deliver Layer-2 services specifically in | [RFC7432], [RFC8365] describes how to use EVPN to deliver Layer 2 | |||
NVO3 Networks. | services specifically in NVO3 networks. | |||
Figure 1 represents a Layer-2 service deployed with an EVPN Broadcast | Figure 1 represents a Layer 2 service deployed with an EVPN Broadcast | |||
Domain in an NVO3 network. | Domain in an NVO3 network. | |||
+--TS2---+ | +--TS2---+ | |||
* | Single-Active | * | Single-Active | |||
* | ESI-1 | * | ESI-1 | |||
+----+ +----+ | +----+ +----+ | |||
|BD1 | |BD1 | | |BD1 | |BD1 | | |||
+-------------| |--| |-----------+ | +-------------| |--| |-----------+ | |||
| +----+ +----+ | | | +----+ +----+ | | |||
| NVE2 NVE3 NVE4 | | NVE2 NVE3 NVE4 | |||
| EVPN NVO3 Network +----+ | | EVPN NVO3 Network +----+ | |||
NVE1(IP-A) | BD1|-----+ | NVE1(IP-A) | BD1|-----+ | |||
+-------------+ RT-2 | | | | +-------------+ RT-2 | | | | |||
| | +-------+ +----+ | | | | +-------+ +----+ | | |||
| +----+ | |MAC1 | NVE5 TS3 | | +----+ | |MAC1 | NVE5 TS3 | |||
TS1--------|BD1 | | |IP1 | +----+ | | TS1--------|BD1 | | |IP1 | +----+ | | |||
MAC1 | +----+ | |Label L|---> | BD1|-----+ | MAC1 | +----+ | |Label L|---> | BD1|-----+ | |||
IP1 | | |NH IP-A| | | All-Active | IP1 | | |NH IP-A| | | All-Active | |||
| Hypervisor | +-------+ +----+ ESI-2 | | Hypervisor | +-------+ +----+ ESI-2 | |||
+-------------+ | | +-------------+ | | |||
+--------------------------------------+ | +--------------------------------------+ | |||
Figure 1: EVPN for L2 in an NVO3 Network - example | Figure 1: EVPN for L2 in an NVO3 Network - Example | |||
In a simple NVO3 network, such as the example of Figure 1, these are | In a simple NVO3 network, such as the example of Figure 1, these are | |||
the basic constructs that EVPN uses for Layer-2 services (or Layer-2 | the basic constructs that EVPN uses for Layer 2 services (or Layer 2 | |||
Virtual Networks): | Virtual Networks): | |||
* BD1 is an EVPN Broadcast Domain for a given tenant and TS1, TS2 | * BD1 is an EVPN Broadcast Domain for a given tenant and TS1, TS2, | |||
and TS3 are connected to it. The five represented NVEs are | and TS3 are connected to it. The five represented NVEs are | |||
attached to BD1 and are connected to the same underlay IP network. | attached to BD1 and are connected to the same underlay IP network. | |||
That is, each NVE learns the remote NVEs' loopback addresses via | That is, each NVE learns the remote NVEs' loopback addresses via | |||
underlay routing protocol. | underlay routing protocol. | |||
* NVE1 is deployed as a virtual switch in a Hypervisor with IP-A as | * NVE1 is deployed as a virtual switch in a hypervisor with IP-A as | |||
underlay loopback IP address. The rest of the NVEs in Figure 1 | underlay loopback IP address. The rest of the NVEs in Figure 1 | |||
are physical switches and TS2/TS3 are multi-homed to them. TS1 is | are physical switches and TS2/TS3 are multihomed to them. TS1 is | |||
a virtual machine, identified by MAC1 and IP1. TS2 and TS3 are | a virtual machine, identified by MAC1 and IP1. TS2 and TS3 are | |||
physically dual-connected to NVEs, hence they are normally not | physically dual-connected to NVEs; hence, they are normally not | |||
considered virtual machines. | considered virtual machines. | |||
* The terms Single-Active and All-Active in Figure 1 refer to the | * The terms Single-Active and All-Active in Figure 1 refer to the | |||
mode in which the TS2 and TS3 are multi-homed to the NVEs in BD1. | mode in which the TS2 and TS3 are multihomed to the NVEs in BD1. | |||
In All-Active mode, all the multi-homing links are active and can | In All-Active mode, all the multihoming links are active and can | |||
send or receive traffic. In Single-Active mode, only one link (of | send or receive traffic. In Single-Active mode, only one link (of | |||
the set of links connected to the NVEs) is active. | the set of links connected to the NVEs) is active. | |||
4.2.1. Auto-Discovery and Auto-Provisioning | 4.2.1. Auto-Discovery and Auto-Provisioning | |||
Auto-discovery is one of the basic capabilities of EVPN. The | Auto-discovery is one of the basic capabilities of EVPN. The | |||
provisioning of EVPN components in NVEs is significantly automated, | provisioning of EVPN components in NVEs is significantly automated, | |||
simplifying the deployment of services and minimizing manual | simplifying the deployment of services and minimizing manual | |||
operations that are prone to human error. | operations that are prone to human error. | |||
These are some of the Auto-Discovery and Auto-Provisioning | These are some of the auto-discovery and auto-provisioning | |||
capabilities available in EVPN: | capabilities available in EVPN: | |||
* Automation on Ethernet Segments (ES): an Ethernet Segment is | * Automation on Ethernet Segments (ESes): An Ethernet Segment is | |||
defined as a group of NVEs that are attached to the same Tenant | defined as a group of NVEs that are attached to the same Tenant | |||
System or network. An Ethernet Segment is identified by an | System or network. An Ethernet Segment is identified by an | |||
Ethernet Segment Identifier (ESI) in the control plane, but | Ethernet Segment Identifier (ESI) in the control plane, but | |||
neither the ESI nor the NVEs that share the same Ethernet Segment | neither the ESI nor the NVEs that share the same Ethernet Segment | |||
are required to be manually provisioned in the local NVE: | are required to be manually provisioned in the local NVE. | |||
- If the multi-homed Tenant System or network are running | - If the multihomed Tenant System or network is running | |||
protocols such as LACP (Link Aggregation Control Protocol) | protocols, such as the Link Aggregation Control Protocol (LACP) | |||
[IEEE.802.1AX_2014], MSTP (Multiple-instance Spanning Tree | [IEEE.802.1AX_2014], the Multiple Spanning Tree Protocol | |||
Protocol), G.8032, etc. and all the NVEs in the Ethernet | (MSTP), G.8032, etc., and all the NVEs in the Ethernet Segment | |||
Segment can listen to the protocol PDUs to uniquely identify | can listen to the protocol PDUs to uniquely identify the | |||
the multi-homed Tenant System/network, then the ESI can be | multihomed Tenant System/network, then the ESI can be "auto- | |||
"auto-sensed" or "auto-provisioned" following the guidelines in | sensed" or "auto-provisioned" following the guidelines in | |||
[RFC7432] section 5. The ESI can also be auto-derived out of | Section 5 of [RFC7432]. The ESI can also be auto-derived out | |||
other parameters that are common to all NVEs attached to the | of other parameters that are common to all NVEs attached to the | |||
same Ethernet Segment. | same Ethernet Segment. | |||
- As described in [RFC7432], EVPN can also auto-derive the BGP | - As described in [RFC7432], EVPN can also auto-derive the BGP | |||
parameters required to advertise the presence of a local | parameters required to advertise the presence of a local | |||
Ethernet Segment in the control plane (RT and RD). Local | Ethernet Segment in the control plane (RT and RD). Local | |||
Ethernet Segments are advertised using Ethernet Segment routes | Ethernet Segments are advertised using Ethernet Segment routes, | |||
and the ESI-import Route-Target used by Ethernet Segment routes | and the ESI-import Route Target used by Ethernet Segment routes | |||
can be auto-derived based on the procedures of [RFC7432], | can be auto-derived based on the procedures of Section 7.6 of | |||
section 7.6. | [RFC7432]. | |||
- By listening to other Ethernet Segment routes that match the | - By listening to other Ethernet Segment routes that match the | |||
local ESI and import Route Target, an NVE can also auto- | local ESI and import Route Target, an NVE can also auto- | |||
discover the other NVEs participating in the multi-homing for | discover the other NVEs participating in the multihoming for | |||
the Ethernet Segment. | the Ethernet Segment. | |||
- Once the NVE has auto-discovered all the NVEs attached to the | - Once the NVE has auto-discovered all the NVEs attached to the | |||
same Ethernet Segment, the NVE can automatically perform the | same Ethernet Segment, the NVE can automatically perform the | |||
Designated Forwarder Election algorithm (which determines the | Designated Forwarder election algorithm (which determines the | |||
NVE that will forward traffic to the multi-homed Tenant System/ | NVE that will forward traffic to the multihomed Tenant System/ | |||
network). EVPN guarantees that all the NVEs in the Ethernet | network). EVPN guarantees that all the NVEs in the Ethernet | |||
Segment have a consistent Designated Forwarder Election. | Segment have a consistent Designated Forwarder election. | |||
* Auto-provisioning of services: when deploying a Layer-2 Service | * Auto-provisioning of services: When deploying a Layer 2 service | |||
for a tenant in an NVO3 network, all the NVEs attached to the same | for a tenant in an NVO3 network, all the NVEs attached to the same | |||
subnet must be configured with a MAC-VRF and the Broadcast Domain | subnet must be configured with a MAC-VRF and the Broadcast Domain | |||
for the subnet, as well as certain parameters for them. Note | for the subnet, as well as certain parameters for them. Note that | |||
that, if the EVPN service model is VLAN-based or VLAN-bundle, | if the EVPN service interfaces are VLAN-based or VLAN-bundle, | |||
implementations do not normally have a specific provisioning for | implementations do not normally have a specific provisioning for | |||
the Broadcast Domain (since it is in that case the same construct | the Broadcast Domain since, in this case, it is the same construct | |||
as the MAC-VRF). EVPN allows auto-deriving as many MAC-VRF | as the MAC-VRF. EVPN allows auto-deriving as many MAC-VRF | |||
parameters as possible. As an example, the MAC-VRF's Route Target | parameters as possible. As an example, the MAC-VRF's Route Target | |||
and Route Distinguisher for the EVPN routes may be auto-derived. | and Route Distinguisher for the EVPN routes may be auto-derived. | |||
Section 5.1.2.1 in [RFC8365] specifies how to auto-derive a MAC- | Section 5.1.2.1 of [RFC8365] specifies how to auto-derive a MAC- | |||
VRF's Route Target as long as VLAN-based service model is | VRF's Route Target as long as a VLAN-based service interface is | |||
implemented. [RFC7432] specifies how to auto-derive the Route | implemented. [RFC7432] specifies how to auto-derive the Route | |||
Distinguisher. | Distinguisher. | |||
4.2.2. Remote NVE Auto-Discovery | 4.2.2. Remote NVE Auto-Discovery | |||
Auto-discovery via MP-BGP [RFC4760] is used to discover the remote | Auto-discovery via MP-BGP [RFC4760] is used to discover the remote | |||
NVEs attached to a given Broadcast Domain, the NVEs participating in | NVEs attached to a given Broadcast Domain, the NVEs participating in | |||
a given redundancy group, the tunnel encapsulation types supported by | a given redundancy group, the tunnel encapsulation types supported by | |||
an NVE, etc. | an NVE, etc. | |||
In particular, when a new MAC-VRF and Broadcast Domain are enabled, | In particular, when a new MAC-VRF and Broadcast Domain are enabled, | |||
the NVE will advertise a new Inclusive Multicast Ethernet Tag route. | the NVE will advertise a new Inclusive Multicast Ethernet Tag route. | |||
Besides other fields, the Inclusive Multicast Ethernet Tag route will | Besides other fields, the Inclusive Multicast Ethernet Tag route will | |||
encode the IP address of the advertising NVE, the Ethernet Tag (which | encode the IP address of the advertising NVE, the Ethernet Tag (which | |||
is zero in case of VLAN-based and VLAN-bundle models) and also a PMSI | is zero in the case of VLAN-based and VLAN-bundle interfaces), and a | |||
Tunnel Attribute (PTA) that indicates the information about the | PMSI Tunnel Attribute (PTA) that indicates the information about the | |||
intended way to deliver BUM traffic for the Broadcast Domain. | intended way to deliver BUM traffic for the Broadcast Domain. | |||
In the example of Figure 1, when BD1 is enabled, NVE1 will send an | When BD1 is enabled in the example of Figure 1, NVE1 will send an | |||
Inclusive Multicast Ethernet Tag route including its own IP address, | Inclusive Multicast Ethernet Tag route including its own IP address, | |||
Ethernet-Tag for BD1 and the PMSI Tunnel Attribute to the remote | an Ethernet-Tag for BD1, and the PMSI Tunnel Attribute to the remote | |||
NVEs. Assuming Ingress Replication (IR) is used, the Inclusive | NVEs. Assuming Ingress Replication (IR) is used, the Inclusive | |||
Multicast Ethernet Tag route will include an identification for | Multicast Ethernet Tag route will include an identification for | |||
Ingress Replication in the PMSI Tunnel Attribute and the Virtual | Ingress Replication in the PMSI Tunnel Attribute and the VNI that the | |||
Network Identifier that the other NVEs in the Broadcast Domain must | other NVEs in the Broadcast Domain must use to send BUM traffic to | |||
use to send BUM traffic to the advertising NVE. The other NVEs in | the advertising NVE. The other NVEs in the Broadcast Domain will | |||
the Broadcast Domain will import the Inclusive Multicast Ethernet Tag | import the Inclusive Multicast Ethernet Tag route and will add NVE1's | |||
route and will add NVE1's IP address to the flooding list for BD1. | IP address to the flooding list for BD1. Note that the Inclusive | |||
Note that the Inclusive Multicast Ethernet Tag route is also sent | Multicast Ethernet Tag route is also sent with a BGP encapsulation | |||
with a BGP encapsulation attribute [RFC9012] that indicates what NVO3 | attribute [RFC9012] that indicates what NVO3 encapsulation the remote | |||
encapsulation the remote NVEs should use when sending BUM traffic to | NVEs should use when sending BUM traffic to NVE1. | |||
NVE1. | ||||
Refer to [RFC7432] for more information about the Inclusive Multicast | Refer to [RFC7432] for more information about the Inclusive Multicast | |||
Ethernet Tag route and forwarding of BUM traffic, and to [RFC8365] | Ethernet Tag route and forwarding of BUM traffic. See [RFC8365] for | |||
for its considerations on NVO3 networks. | its considerations on NVO3 networks. | |||
4.2.3. Distribution of Tenant MAC and IP Information | 4.2.3. Distribution of Tenant MAC and IP Information | |||
Tenant MAC/IP information is advertised to remote NVEs using MAC/IP | Tenant MAC/IP information is advertised to remote NVEs using MAC/IP | |||
Advertisement routes. Following the example of Figure 1: | Advertisement routes. Following the example of Figure 1: | |||
* In a given EVPN Broadcast Domain, Tenant Systems' MAC addresses | * In a given EVPN Broadcast Domain, the MAC addresses of TSes are | |||
are first learned at the NVE they are attached to, via data path | first learned at the NVE they are attached to via data path or | |||
or management plane learning. In Figure 1 we assume NVE1 learns | management plane learning. In Figure 1, we assume NVE1 learns | |||
MAC1/IP1 in the management plane (for instance, via Cloud | MAC1/IP1 in the management plane (for instance, via Cloud | |||
Management System) since the NVE is a virtual switch. NVE2, NVE3, | Management System) since the NVE is a virtual switch. NVE2, NVE3, | |||
NVE4 and NVE5 are TOR/Leaf switches and they normally learn MAC | NVE4, and NVE5 are ToR/Leaf switches, and they normally learn MAC | |||
addresses via data path. | addresses via data path. | |||
* Once NVE1's BD1 learns MAC1/IP1, NVE1 advertises that information | * Once NVE1's BD1 learns MAC1/IP1, NVE1 advertises that information | |||
along with a Virtual Network Identifier and Next Hop IP-A in an | along with a VNI and Next-Hop IP-A in a MAC/IP Advertisement | |||
MAC/IP Advertisement route. The EVPN routes are advertised using | route. The EVPN routes are advertised using the Route | |||
the Route Distinguisher/Route Targets of the MAC-VRF where the | Distinguisher / Route Targets of the MAC-VRF where the Broadcast | |||
Broadcast Domain belongs. Similarly, all the NVEs in BD1 learn | Domain belongs. Similarly, all the NVEs in BD1 learn local MAC/IP | |||
local MAC/IP addresses and advertise them in MAC/IP Advertisement | addresses and advertise them in MAC/IP Advertisement routes. | |||
routes. | ||||
* The remote NVEs can then add MAC1 to their mapping table for BD1 | * The remote NVEs can then add MAC1 to their mapping table for BD1 | |||
(BT). For instance, when TS3 sends frames to NVE4 with | (BT). For instance, when TS3 sends frames to NVE4 with the | |||
destination MAC address = MAC1, NVE4 does a MAC lookup on the | destination MAC address = MAC1, NVE4 does a MAC lookup on the | |||
Bridge Table that yields IP-A and Label L. NVE4 can then | Bridge Table that yields IP-A and Label L. NVE4 can then | |||
encapsulate the frame into an NVO3 tunnel with IP-A as the tunnel | encapsulate the frame into an NVO3 tunnel with IP-A as the tunnel | |||
destination IP address and L as the Virtual Network Identifier. | destination IP address and L as the VNI. Note that the MAC/IP | |||
Note that the MAC/IP Advertisement route may also contain the | Advertisement route may also contain the host's IP address (as | |||
host's IP address (as in the example of Figure 1). While the MAC | shown in the example of Figure 1). While the MAC of the received | |||
of the received MAC/IP Advertisement route is installed in the | MAC/IP Advertisement route is installed in the Bridge Table, the | |||
Bridge Table, the IP address may be installed in the Proxy-ARP/ND | IP address may be installed in the Proxy ARP/ND table (if enabled) | |||
table (if enabled) or in the ARP/IP-VRF tables if the Broadcast | or in the ARP/IP-VRF tables if the Broadcast Domain has an IRB. | |||
Domain has an IRB. See Section 4.7.3 to see more information | See Section 4.7.3 for more information about Proxy ARP/ND and | |||
about Proxy-ARP/ND and Section 4.3. for more details about IRB and | Section 4.3 for more details about IRB and Layer 3 services. | |||
Layer-3 services. | ||||
Refer to [RFC7432] and [RFC8365] for more information about the MAC/ | Refer to [RFC7432] and [RFC8365] for more information about the MAC/ | |||
IP Advertisement route and forwarding of known unicast traffic. | IP Advertisement route and the forwarding of known unicast traffic. | |||
4.3. EVPN Basic Applicability for Layer-3 Services | 4.3. EVPN Basic Applicability for Layer 3 Services | |||
[RFC9136] and [RFC9135] are the reference documents that describe how | [RFC9136] and [RFC9135] are the reference documents that describe how | |||
EVPN can be used for Layer-3 services. Inter Subnet Forwarding in | EVPN can be used for Layer 3 services. Inter-subnet forwarding in | |||
EVPN networks is implemented via IRB interfaces between Broadcast | EVPN networks is implemented via IRB interfaces between Broadcast | |||
Domains and IP-VRFs. An EVPN Broadcast Domain corresponds to an IP | Domains and IP-VRFs. An EVPN Broadcast Domain corresponds to an IP | |||
subnet. When IP packets generated in a Broadcast Domain are destined | subnet. When IP packets generated in a Broadcast Domain are destined | |||
to a different subnet (different Broadcast Domain) of the same | to a different subnet (different Broadcast Domain) of the same | |||
tenant, the packets are sent to the IRB attached to the local | tenant, the packets are sent to the IRB attached to the local | |||
Broadcast Domain in the source NVE. As discussed in [RFC9135], | Broadcast Domain in the source NVE. As discussed in [RFC9135], | |||
depending on how the IP packets are forwarded between the ingress NVE | depending on how the IP packets are forwarded between the ingress NVE | |||
and the egress NVE, there are two forwarding models: Asymmetric and | and the egress NVE, there are two forwarding models: Asymmetric and | |||
Symmetric model. | Symmetric. | |||
The Asymmetric model is illustrated in the example of Figure 2 and it | The Asymmetric model is illustrated in the example of Figure 2, and | |||
requires the configuration of all the Broadcast Domains of the tenant | it requires the configuration of all the Broadcast Domains of the | |||
in all the NVEs attached to the same tenant. In that way, there is | tenant in all the NVEs attached to the same tenant. That way, there | |||
no need to advertise IP Prefixes between NVEs since all the NVEs are | is no need to advertise IP Prefixes between NVEs since all the NVEs | |||
attached to all the subnets. It is called Asymmetric because the | are attached to all the subnets. It is called "Asymmetric" because | |||
ingress and egress NVEs do not perform the same number of lookups in | the ingress and egress NVEs do not perform the same number of lookups | |||
the data plane. In Figure 2, if TS1 and TS2 are in different | in the data plane. In Figure 2, if TS1 and TS2 are in different | |||
subnets, and TS1 sends IP packets to TS2, the following lookups are | subnets and TS1 sends IP packets to TS2, the following lookups are | |||
required in the data path: a MAC lookup (on BD1's table), an IP | required in the data path: a MAC lookup at BD1's table, an IP lookup | |||
lookup (on the IP-VRF) and a MAC lookup (on BD2's table) at the | at the IP-VRF, a MAC lookup at BD2's table at the ingress NVE1, and | |||
ingress NVE1 and then only a MAC lookup at the egress NVE. The two | only a MAC lookup at the egress NVE. The two IP-VRFs in Figure 2 are | |||
IP-VRFs in Figure 2 are not connected by tunnels and all the | not connected by tunnels, and all the connectivity between the NVEs | |||
connectivity between the NVEs is done based on tunnels between the | is done based on tunnels between the Broadcast Domains. | |||
Broadcast Domains. | ||||
+-------------------------------------+ | +-------------------------------------+ | |||
| EVPN NVO3 | | | EVPN NVO3 | | |||
| | | | | | |||
NVE1 NVE2 | NVE1 NVE2 | |||
+--------------------+ +--------------------+ | +--------------------+ +--------------------+ | |||
| +---+IRB +------+ | | +------+IRB +---+ | | | +---+IRB +------+ | | +------+IRB +---+ | | |||
TS1-----|BD1|----|IP-VRF| | | |IP-VRF|----|BD1| | | TS1-----|BD1|----|IP-VRF| | | |IP-VRF|----|BD1| | | |||
| +---+ | | | | | | +---+ | | | +---+ | | | | | | +---+ | | |||
| +---+ | | | | | | +---+ | | | +---+ | | | | | | +---+ | | |||
| |BD2|----| | | | | |----|BD2|----TS2 | | |BD2|----| | | | | |----|BD2|----TS2 | |||
| +---+IRB +------+ | | +------+IRB +---+ | | | +---+IRB +------+ | | +------+IRB +---+ | | |||
+--------------------+ +--------------------+ | +--------------------+ +--------------------+ | |||
| | | | | | |||
+-------------------------------------+ | +-------------------------------------+ | |||
Figure 2: EVPN for L3 in an NVO3 Network - Asymmetric model | Figure 2: EVPN for L3 in an NVO3 Network - Asymmetric Model | |||
In the Symmetric model, depicted in Figure 3, the same number of data | In the Symmetric model, depicted in Figure 3, the same number of data | |||
path lookups is needed at the ingress and egress NVEs. For example, | path lookups is needed at the ingress and egress NVEs. For example, | |||
if TS1 sends IP packets to TS3, the following data path lookups are | if TS1 sends IP packets to TS3, the following data path lookups are | |||
required: a MAC lookup at NVE1's BD1 table, an IP lookup at NVE1's | required: a MAC lookup at NVE1's BD1 table, an IP lookup at NVE1's | |||
IP-VRF and then IP lookup and MAC lookup at NVE2's IP-VRF and BD3 | IP-VRF, and an IP lookup and MAC lookup at NVE2's IP-VRF and BD3, | |||
respectively. In the Symmetric model, the Inter Subnet connectivity | respectively. In the Symmetric model, the inter-subnet connectivity | |||
between NVEs is done based on tunnels between the IP-VRFs. | between NVEs is done based on tunnels between the IP-VRFs. | |||
+-------------------------------------+ | +-------------------------------------+ | |||
| EVPN NVO3 | | | EVPN NVO3 | | |||
| | | | | | |||
NVE1 NVE2 | NVE1 NVE2 | |||
+--------------------+ +--------------------+ | +--------------------+ +--------------------+ | |||
| +---+IRB +------+ | | +------+IRB +---+ | | | +---+IRB +------+ | | +------+IRB +---+ | | |||
TS1-----|BD1|----|IP-VRF| | | |IP-VRF|----|BD3|-----TS3 | TS1-----|BD1|----|IP-VRF| | | |IP-VRF|----|BD3|-----TS3 | |||
| +---+ | | | | | | +---+ | | | +---+ | | | | | | +---+ | | |||
| +---+IRB | | | | +------+ | | | +---+IRB | | | | +------+ | | |||
TS2-----|BD2|----| | | +--------------------+ | TS2-----|BD2|----| | | +--------------------+ | |||
| +---+ +------+ | | | | +---+ +------+ | | | |||
+--------------------+ | | +--------------------+ | | |||
| | | | | | |||
+-------------------------------------+ | +-------------------------------------+ | |||
Figure 3: EVPN for L3 in an NVO3 Network - Symmetric model | Figure 3: EVPN for L3 in an NVO3 Network - Symmetric Model | |||
The Symmetric model scales better than the Asymmetric model because | The Symmetric model scales better than the Asymmetric model because | |||
it does not require the NVEs to be attached to all the tenant's | it does not require the NVEs to be attached to all the tenant's | |||
subnets. However, it requires the use of NVO3 tunnels on the IP-VRFs | subnets. However, it requires the use of NVO3 tunnels on the IP-VRFs | |||
and the exchange of IP Prefixes between the NVEs in the control | and the exchange of IP Prefixes between the NVEs in the control | |||
plane. EVPN uses MAC/IP Advertisement routes for the exchange of | plane. EVPN uses MAC/IP Advertisement routes for the exchange of | |||
host IP routes and IP Prefixes routes for the exchange of prefixes of | host IP routes and IP Prefix routes for the exchange of prefixes of | |||
any length (including host routes too). As an example, in Figure 3, | any length, including host routes. As an example, in Figure 3, NVE2 | |||
NVE2 needs to advertise TS3's host route and/or TS3's subnet, so that | needs to advertise TS3's host route and/or TS3's subnet so that the | |||
the IP lookup on NVE1's IP-VRF succeeds. | IP lookup on NVE1's IP-VRF succeeds. | |||
[RFC9135] specifies the use of MAC/IP Advertisement routes for the | [RFC9135] specifies the use of MAC/IP Advertisement routes for the | |||
advertisement of host routes. Section 4.4.1 in [RFC9136] specifies | advertisement of host routes. Section 4.4.1 of [RFC9136] specifies | |||
the use of IP Prefix routes for the advertisement of IP Prefixes in | the use of IP Prefix routes for the advertisement of IP Prefixes in | |||
an "Interface-less IP-VRF-to-IP-VRF Model". The Symmetric model for | an "Interface-less IP-VRF-to-IP-VRF Model". The Symmetric model for | |||
host routes can be implemented following either approach: | host routes can be implemented following either approach: | |||
a. [RFC9135] uses MAC/IP Advertisement routes to convey the | a. [RFC9135] uses MAC/IP Advertisement routes to convey the | |||
information to populate Layer-2, ARP/ND and Layer-3 Forwarding | information to populate Layer 2, ARP/ND, and Layer 3 Forwarding | |||
Information Base tables in the remote NVE. For instance, in | Information Base tables in the remote NVE. For instance, in | |||
Figure 3, NVE2 would advertise a MAC/IP Advertisement route with | Figure 3, NVE2 would advertise a MAC/IP Advertisement route with | |||
TS3's IP and MAC addresses, and including two labels/Virtual | TS3's IP and MAC addresses and include two labels / VNIs: a | |||
Network Identifiers: a label-3/VNI-3 that identifies BD3 for MAC | label-3/VNI-3 that identifies BD3 for MAC lookup (that would be | |||
lookup (that would be used for Layer-2 traffic in case NVE1 was | used for Layer 2 traffic in case NVE1 was attached to BD3 too) | |||
attached to BD3 too) and a label-1/VNI-1 that identifies the IP- | and a label-1/VNI-1 that identifies the IP-VRF for IP lookup | |||
VRF for IP lookup (and will be used for Layer-3 traffic). NVE1 | (that would be used for Layer 3 traffic). NVE1 imports the MAC/ | |||
imports the MAC/IP Advertisement route and installs TS3's IP in | IP Advertisement route and installs TS3's IP in the IP-VRF route | |||
the IP-VRF route table with label-1/VNI-1. Traffic from e.g., | table with label-1/VNI-1. Traffic, e.g., from TS2 to TS3, would | |||
TS2 to TS3, will be encapsulated with label-1/VNI-1 and forwarded | be encapsulated with label-1/VNI-1 and forwarded to NVE2. | |||
to NVE2. | ||||
b. [RFC9136] uses MAC/IP Advertisement routes to convey the | b. [RFC9136] uses MAC/IP Advertisement routes to convey the | |||
information to populate the Layer-2 Forwarding Information Base | information to populate the Layer 2 Forwarding Information Base, | |||
and ARP/ND tables, and IP Prefix routes to populate the IP-VRF | ARP/ND tables, and IP Prefix routes to populate the IP-VRF Layer | |||
Layer-3 Forwarding Information Base table. For instance, in | 3 Forwarding Information Base table. For instance, in Figure 3, | |||
Figure 3, NVE2 would advertise a MAC/IP Advertisement route | NVE2 would advertise a MAC/IP Advertisement route including TS3's | |||
including TS3's MAC and IP addresses with a single label-3/VNI-3. | MAC and IP addresses with a single label-3/VNI-3. In this | |||
In this example, this MAC/IP Advertisement route wouldn't be | example, this MAC/IP Advertisement route wouldn't be imported by | |||
imported by NVE1 because NVE1 is not attached to BD3. In | NVE1 because NVE1 is not attached to BD3. In addition, NVE2 | |||
addition, NVE2 would advertise an IP Prefix route with TS3's IP | would advertise an IP Prefix route with TS3's IP address and | |||
address and label-1/VNI-1. This IP Prefix route would be | label-1/VNI-1. This IP Prefix route would be imported by NVE1's | |||
imported by NVE1's IP-VRF and the host route installed in the | IP-VRF and the host route installed in the Layer 3 Forwarding | |||
Layer-3 Forwarding Information Base associated to label-1/VNI-1. | Information Base associated with label-1/VNI-1. Traffic from TS2 | |||
Traffic from TS2 to TS3 would be encapsulated with label-1/VNI-1. | to TS3 would be encapsulated with label-1/VNI-1. | |||
4.4. EVPN as Control Plane for NVO3 Encapsulations and GENEVE | 4.4. EVPN as Control Plane for NVO3 Encapsulations and Geneve | |||
[RFC8365] describes how to use EVPN for NVO3 encapsulations, such us | [RFC8365] describes how to use EVPN for NVO3 encapsulations, such us | |||
VXLAN, nvGRE or MPLSoGRE. The procedures can be easily applicable to | VXLAN, nvGRE, or MPLSoGRE. The procedures can be easily applicable | |||
any other NVO3 encapsulation, in particular GENEVE. | to any other NVO3 encapsulation, particularly Geneve. | |||
The Generic Network Virtualization Encapsulation [RFC8926] is the | Geneve [RFC8926] is the proposed standard encapsulation specified in | |||
proposed standard encapsulation specified in the IETF Network | the IETF Network Virtualization Overlays Working Group. The EVPN | |||
Virtualization Overlays Working Group. The EVPN control plane can | control plane can signal the Geneve encapsulation type in the BGP | |||
signal the GENEVE encapsulation type in the BGP Tunnel Encapsulation | Tunnel Encapsulation Extended Community (see [RFC9012]). | |||
Extended Community (see [RFC9012]). | ||||
GENEVE requires a control plane [I-D.ietf-nvo3-encap] to: | Geneve requires a control plane [NVO3-ENCAP] to: | |||
1. Negotiate a subset of GENEVE option TLVs that can be carried on a | * Negotiate a subset of Geneve option TLVs that can be carried on a | |||
GENEVE tunnel | Geneve tunnel, | |||
2. Enforce an order for GENEVE option TLVs and | * Enforce an order for Geneve option TLVs, and | |||
3. Limit the total number of options that could be carried on a | * Limit the total number of options that could be carried on a | |||
GENEVE tunnel. | Geneve tunnel. | |||
The EVPN control plane can easily extend the BGP Tunnel Encapsulation | The EVPN control plane can easily extend the BGP Tunnel Encapsulation | |||
Attribute sub-TLV [RFC9012] to specify the GENEVE tunnel options that | attribute sub-TLV [RFC9012] to specify the Geneve tunnel options that | |||
can be received or transmitted over a GENEVE tunnels by a given NVE. | can be received or transmitted over a Geneve tunnel by a given NVE. | |||
[I-D.ietf-bess-evpn-geneve] describes the EVPN control plane | [BESS-EVPN-GENEVE] describes the EVPN control plane extensions to | |||
extensions to support GENEVE. | support Geneve. | |||
4.5. EVPN OAM and Application to NVO3 | 4.5. EVPN OAM and Application to NVO3 | |||
EVPN OAM (as in [I-D.ietf-bess-evpn-lsp-ping]) defines mechanisms to | EVPN Operations, Administration, and Maintenance (OAM), as described | |||
detect data plane failures in an EVPN deployment over an MPLS | in [BESS-EVPN-LSP-PING], defines mechanisms to detect data plane | |||
network. These mechanisms detect failures related to P2P and P2MP | failures in an EVPN deployment over an MPLS network. These | |||
connectivity, for multi-tenant unicast and multicast Layer-2 traffic, | mechanisms detect failures related to point-to-point (P2P) and Point- | |||
between multi-tenant access nodes connected to EVPN PE(s), and in a | to-Multipoint (P2MP) connectivity, for multi-tenant unicast and | |||
single-homed, single-active or all-active redundancy model. | multicast Layer 2 traffic, between multi-tenant access nodes | |||
connected to EVPN PE(s), and in a single-homed, Single-Active, or | ||||
All-Active redundancy model. | ||||
In general, EVPN OAM mechanisms defined for EVPN deployed in MPLS | In general, EVPN OAM mechanisms defined for EVPN deployed in MPLS | |||
networks are equally applicable for EVPN in NVO3 networks. | networks are equally applicable for EVPN in NVO3 networks. | |||
4.6. EVPN as the Control Plane for NVO3 Security | 4.6. EVPN as the Control Plane for NVO3 Security | |||
EVPN can be used to signal the security protection capabilities of a | EVPN can be used to signal the security protection capabilities of a | |||
sender NVE, as well as what portion of an NVO3 packet (taking a | sender NVE, as well as what portion of an NVO3 packet (taking a | |||
GENEVE packet as an example) can be protected by the sender NVE, to | Geneve packet as an example) can be protected by the sender NVE, to | |||
ensure the privacy and integrity of tenant traffic carried over the | ensure the privacy and integrity of tenant traffic carried over the | |||
NVO3 tunnels [I-D.sajassi-bess-secure-evpn]. | NVO3 tunnels [BESS-SECURE-EVPN]. | |||
4.7. Advanced EVPN Features for NVO3 Networks | 4.7. Advanced EVPN Features for NVO3 Networks | |||
This section describes how EVPN can be used to deliver advanced | This section describes how EVPN can be used to deliver advanced | |||
capabilities in NVO3 networks. | capabilities in NVO3 networks. | |||
4.7.1. Virtual Machine (VM) Mobility | 4.7.1. Virtual Machine (VM) Mobility | |||
[RFC7432] replaces the classic Ethernet Flood-and-Learn behavior | [RFC7432] replaces the classic Ethernet "flood and learn" behavior | |||
among NVEs with BGP-based MAC learning, which in return provides more | among NVEs with BGP-based MAC learning. In return, this provides | |||
control over the location of MAC addresses in the Broadcast Domain | more control over the location of MAC addresses in the Broadcast | |||
and consequently advanced features, such as MAC Mobility. If we | Domain and consequently advanced features, such as MAC Mobility. If | |||
assume that VM Mobility means the VM's MAC and IP addresses move with | we assume that Virtual Machine (VM) Mobility means the VM's MAC and | |||
the VM, EVPN's MAC Mobility is the required procedure that | IP addresses move with the VM, EVPN's MAC Mobility is the required | |||
facilitates VM Mobility. According to [RFC7432] section 15, when a | procedure that facilitates VM Mobility. According to Section 15 of | |||
MAC is advertised for the first time in a Broadcast Domain, all the | [RFC7432], when a MAC is advertised for the first time in a Broadcast | |||
NVEs attached to the Broadcast Domain will store Sequence Number zero | Domain, all the NVEs attached to the Broadcast Domain will store | |||
for that MAC. When the MAC "moves" within the same Broadcast Domain | Sequence Number zero for that MAC. When the MAC "moves" to a remote | |||
but to a remote NVE, the NVE that just learned locally the MAC, | NVE within the same Broadcast Domain, the NVE that just learned the | |||
increases the Sequence Number in the MAC/IP Advertisement route's MAC | MAC locally increases the Sequence Number in the MAC/IP Advertisement | |||
Mobility extended community to indicate that it owns the MAC now. | route's MAC Mobility extended community to indicate that it owns the | |||
That makes all the NVE in the Broadcast Domain change their tables | MAC now. That makes all the NVEs in the Broadcast Domain change | |||
immediately with no need to wait for any aging timer. EVPN | their tables immediately with no need to wait for any aging timer. | |||
guarantees a fast MAC Mobility without flooding or black-holes in the | EVPN guarantees a fast MAC Mobility without flooding or packet drops | |||
Broadcast Domain. | in the Broadcast Domain. | |||
4.7.2. MAC Protection, Duplication Detection and Loop Protection | 4.7.2. MAC Protection, Duplication Detection, and Loop Protection | |||
The advertisement of MACs in the control plane, allows advanced | The advertisement of MACs in the control plane allows advanced | |||
features such as MAC protection, Duplication Detection and Loop | features such as MAC Protection, Duplication Detection, and Loop | |||
Protection. | Protection. | |||
[RFC7432] MAC Protection refers to EVPN's ability to indicate - in a | In a MAC/IP Advertisement route, MAC Protection refers to EVPN's | |||
MAC/IP Advertisement route - that a MAC must be protected by the NVE | ability to indicate that a MAC must be protected by the NVE receiving | |||
receiving the route. The Protection is indicated in the "Sticky bit" | the route [RFC7432]. The Protection is indicated in the "Sticky bit" | |||
of the MAC Mobility extended community sent along the MAC/IP | of the MAC Mobility extended community sent along the MAC/IP | |||
Advertisement route for a MAC. NVEs' Attachment Circuits that are | Advertisement route for a MAC. NVEs' Attachment Circuits that are | |||
connected to subject-to-be-protected servers or VMs, may set the | connected to subject-to-be-protected servers or VMs may set the | |||
Sticky bit on the MAC/IP Advertisement routes sent for the MACs | Sticky bit on the MAC/IP Advertisement routes sent for the MACs | |||
associated to the Attachment Circuits. Also, statically configured | associated with the Attachment Circuits. Also, statically configured | |||
MAC addresses should be advertised as Protected MAC addresses, since | MAC addresses should be advertised as Protected MAC addresses since | |||
they are not subject to MAC Mobility procedures. | they are not subject to MAC Mobility procedures. | |||
[RFC7432] MAC Duplication Detection refers to EVPN's ability to | MAC Duplication Detection refers to EVPN's ability to detect | |||
detect duplicate MAC addresses. A "MAC move" is a relearn event that | duplicate MAC addresses [RFC7432]. A "MAC move" is a relearn event | |||
happens at an access Attachment Circuit or through a MAC/IP | that happens at an access Attachment Circuit or through a MAC/IP | |||
Advertisement route with a Sequence Number that is higher than the | Advertisement route with a Sequence Number that is higher than the | |||
stored one for the MAC. When a MAC moves a number of times N within | stored one for the MAC. When a MAC moves a number of times (N) | |||
an M-second window between two NVEs, the MAC is declared as Duplicate | within an M-second window between two NVEs, the MAC is declared as a | |||
and the detecting NVE does not re-advertise the MAC anymore. | duplicate and the detecting NVE does not re-advertise the MAC | |||
anymore. | ||||
[RFC7432] provides MAC Duplication Detection, and with an extension | [RFC7432] provides MAC Duplication Detection, and with an extension, | |||
it can protect the Broadcast Domain against loops created by backdoor | it can protect the Broadcast Domain against loops created by backdoor | |||
links between NVEs. The same principle (based on the Sequence | links between NVEs. The same principle (based on the Sequence | |||
Number) may be extended to protect the Broadcast Domain against | Number) may be extended to protect the Broadcast Domain against | |||
loops. When a MAC is detected as duplicate, the NVE may install it | loops. When a MAC is detected as a duplicate, the NVE may install it | |||
as a drop-MAC and discard received frames with source MAC address or | as a drop-MAC and discard received frames with source MAC address or | |||
destination MAC address matching that duplicate MAC. The MAC | the destination MAC address matching that duplicate MAC. The MAC | |||
Duplication extension to support Loop Protection is described in | Duplication extension to support Loop Protection is described in | |||
[I-D.ietf-bess-rfc7432bis], section 15.3. | Section 15.3 of [BESS-RFC7432BIS]. | |||
4.7.3. Reduction/Optimization of BUM Traffic in Layer-2 Services | 4.7.3. Reduction/Optimization of BUM Traffic in Layer 2 Services | |||
In Broadcast Domains with a significant amount of flooding due to | In Broadcast Domains with a significant amount of flooding due to | |||
Unknown unicast and Broadcast frames, EVPN may help reduce and | Unknown Unicast and broadcast frames, EVPN may help reduce and | |||
sometimes even suppress the flooding. | sometimes even suppress the flooding. | |||
In Broadcast Domains where most of the Broadcast traffic is caused by | In Broadcast Domains where most of the broadcast traffic is caused by | |||
ARP (Address Resolution Protocol) and ND (Neighbor Discovery) | the Address Resolution Protocol (ARP) and the Neighbor Discovery | |||
protocols on the Tenant Systems, EVPN's Proxy-ARP and Proxy-ND | Protocol (NDP) on the Tenant Systems, EVPN's Proxy ARP and Proxy ND | |||
capabilities may reduce the flooding drastically. The use of Proxy- | capabilities may reduce the flooding drastically. The use of Proxy | |||
ARP/ND is specified in [RFC9161]. | ARP/ND is specified in [RFC9161]. | |||
Proxy-ARP/ND procedures along with the assumption that Tenant Systems | Proxy ARP/ND procedures, along with the assumption that Tenant | |||
always issue a GARP (Gratuitous ARP) or an unsolicited Neighbor | Systems always issue a Gratuitous ARP (GARP) or an unsolicited | |||
Advertisement message when they come up in the Broadcast Domain, may | Neighbor Advertisement message when they come up in the Broadcast | |||
drastically reduce the unknown unicast flooding in the Broadcast | Domain, may drastically reduce the Unknown Unicast flooding in the | |||
Domain. | Broadcast Domain. | |||
The flooding caused by Tenant Systems' IGMP/MLD or PIM messages in | The flooding caused by Tenant Systems' IGMP / Multicast Listener | |||
the Broadcast Domain may also be suppressed by the use of IGMP/MLD | Discovery (MLD) or PIM messages in the Broadcast Domain may also be | |||
and PIM Proxy functions, as specified in [RFC9251] and | suppressed by the use of IGMP/MLD and PIM Proxy functions, as | |||
[I-D.skr-bess-evpn-pim-proxy]. These two documents also specify how | specified in [RFC9251] and [BESS-EVPN-PIM-PROXY]. These two | |||
to forward IP multicast traffic efficiently within the same Broadcast | documents also specify how to forward IP multicast traffic | |||
Domain, translate soft state IGMP/MLD/PIM messages into hard state | efficiently within the same Broadcast Domain, translate soft state | |||
BGP routes and provide fast-convergence redundancy for IP Multicast | IGMP/MLD/PIM messages into hard state BGP routes, and provide fast | |||
on multi-homed Ethernet Segments (ESes). | convergence redundancy for IP multicast on multihomed ESes. | |||
4.7.4. Ingress Replication (IR) Optimization for BUM Traffic | 4.7.4. Ingress Replication (IR) Optimization for BUM Traffic | |||
When an NVE attached to a given Broadcast Domain needs to send BUM | When an NVE attached to a given Broadcast Domain needs to send BUM | |||
traffic for the Broadcast Domain to the remote NVEs attached to the | traffic for the Broadcast Domain to the remote NVEs attached to the | |||
same Broadcast Domain, Ingress Replication is a very common option in | same Broadcast Domain, Ingress Replication is a very common option in | |||
NVO3 networks, since it is completely independent of the multicast | NVO3 networks since it is completely independent of the multicast | |||
capabilities of the underlay network. Also, if the optimization | capabilities of the underlay network. Also, if the optimization | |||
procedures to reduce/suppress the flooding in the Broadcast Domain | procedures to reduce/suppress the flooding in the Broadcast Domain | |||
are enabled (Section 4.7.3), in spite of creating multiple copies of | are enabled (Section 4.7.3) in spite of creating multiple copies of | |||
the same frame at the ingress NVE, Ingress Replication may be good | the same frame at the ingress NVE, Ingress Replication may be good | |||
enough. However, in Broadcast Domains where Multicast (or Broadcast) | enough. However, in Broadcast Domains where Multicast (or Broadcast) | |||
traffic is significant, Ingress Replication may be very inefficient | traffic is significant, Ingress Replication may be very inefficient | |||
and cause performance issues on virtual-switch-based NVEs. | and cause performance issues on virtual switch-based NVEs. | |||
[I-D.ietf-bess-evpn-optimized-ir] specifies the use of AR (Assisted | [BESS-EVPN-OPTIMIZED-IR] specifies the use of Assisted Replication | |||
Replication) NVO3 tunnels in EVPN Broadcast Domains. AR retains the | (AR) NVO3 tunnels in EVPN Broadcast Domains. AR retains the | |||
independence of the underlay network while providing a way to forward | independence of the underlay network while providing a way to forward | |||
Broadcast and Multicast traffic efficiently. AR uses AR-REPLICATORs | Broadcast and multicast traffic efficiently. AR uses AR-REPLICATORs | |||
that can replicate the Broadcast/Multicast traffic on behalf of the | that can replicate the broadcast/multicast traffic on behalf of the | |||
AR-LEAF NVEs. The AR-LEAF NVEs are typically virtual-switches or | AR-LEAF NVEs. The AR-LEAF NVEs are typically virtual switches or | |||
NVEs with limited replication capabilities. AR can work in a single- | NVEs with limited replication capabilities. AR can work in a single- | |||
stage replication mode (Non-Selective Mode) or in a dual-stage | stage replication mode (Non-Selective Mode) or in a dual-stage | |||
replication mode (Selective Mode). Both modes are detailed in | replication mode (Selective Mode). Both modes are detailed in | |||
[I-D.ietf-bess-evpn-optimized-ir]. | [BESS-EVPN-OPTIMIZED-IR]. | |||
In addition, [I-D.ietf-bess-evpn-optimized-ir] also describes a | In addition, [BESS-EVPN-OPTIMIZED-IR] describes a procedure to avoid | |||
procedure to avoid sending Broadcast, Multicast or Unknown unicast to | sending BUM to certain NVEs that do not need that type of traffic. | |||
certain NVEs that do not need that type of traffic. This is done by | This is done by enabling Pruned Flood Lists (PFLs) on a given | |||
enabling PFL (Pruned Flood Lists) on a given Broadcast Domain. For | Broadcast Domain. For instance, a virtual switch NVE that learns all | |||
instance, a virtual-switch NVE that learns all its local MAC | its local MAC addresses for a Broadcast Domain via a Cloud Management | |||
addresses for a Broadcast Domain via Cloud Management System, does | System does not need to receive the Broadcast Domain's Unknown | |||
not need to receive the Broadcast Domain's Unknown unicast traffic. | Unicast traffic. PFLs help optimize the BUM flooding in the | |||
Pruned Flood Lists help optimize the BUM flooding in the Broadcast | Broadcast Domain. | |||
Domain. | ||||
4.7.5. EVPN Multi-Homing | 4.7.5. EVPN Multihoming | |||
Another fundamental concept in EVPN is multi-homing. A given Tenant | Another fundamental concept in EVPN is multihoming. A given Tenant | |||
System can be multi-homed to two or more NVEs for a given Broadcast | System can be multihomed to two or more NVEs for a given Broadcast | |||
Domain, and the set of links connected to the same Tenant System is | Domain, and the set of links connected to the same Tenant System is | |||
defined as Ethernet Segment (ES). EVPN supports single-active and | defined as an ES. EVPN supports Single-Active and All-Active | |||
all-active multi-homing. In single-active multi-homing only one link | multihoming. In Single-Active multihoming, only one link in the | |||
in the Ethernet Segment is active. In all-active multi-homing all | Ethernet Segment is active. In All-Active multihoming, all the links | |||
the links in the Ethernet Segment are active for unicast traffic. | in the Ethernet Segment are active for unicast traffic. Both modes | |||
Both modes support load-balancing: | support load-balancing: | |||
* Single-active multi-homing means per-service load-balancing to/ | * Single-Active multihoming means per-service load-balancing to/from | |||
from the Tenant System. For example, in Figure 1, for BD1, only | the Tenant System. For example, in Figure 1 for BD1, only one of | |||
one of the NVEs can forward traffic from/to TS2. For a different | the NVEs can forward traffic from/to TS2. For a different | |||
Broadcast Domain, the other NVE may forward traffic. | Broadcast Domain, the other NVE may forward traffic. | |||
* All-active multi-homing means per-flow load-balanding for unicast | * All-active multihoming means per-flow load-balancing for unicast | |||
frames to/from the Tenant System. That is, in Figure 1 and for | frames to/from the Tenant System. That is, in Figure 1 and for | |||
BD1, both NVE4 and NVE5 can forward known unicast traffic to/from | BD1, both NVE4 and NVE5 can forward known unicast traffic to/from | |||
TS3. For BUM traffic only one of the two NVEs can forward traffic | TS3. For BUM traffic, only one of the two NVEs can forward | |||
to TS3, and both can forward traffic from TS3. | traffic to TS3, and both can forward traffic from TS3. | |||
There are two key aspects in the EVPN multi-homing procedures: | There are two key aspects in the EVPN multihoming procedures: | |||
* DF (Designated Forwarder) election: the Designated Forwarder is | Designated Forwarder (DF) election: | |||
the NVE that forwards the traffic to the Ethernet Segment in | The Designated Forwarder is the NVE that forwards the traffic to | |||
single-active mode. In case of all-active, the Designated | the Ethernet Segment in Single-Active mode. In the case of All- | |||
Forwarder is the NVE that forwards the BUM traffic to the Ethernet | Active mode, the Designated Forwarder is the NVE that forwards the | |||
Segment. | BUM traffic to the Ethernet Segment. | |||
* Split-horizon function: prevents the Tenant System from receiving | Split-horizon function: | |||
echoed BUM frames that the Tenant System itself sent to the | Prevents the Tenant System from receiving echoed BUM frames that | |||
Ethernet Segment. This is especially relevant in all-active | the Tenant System itself sent to the Ethernet Segment. This is | |||
Ethernet Segments, where the Tenant System may forward BUM frames | especially relevant in All-Active ESes where the TS may forward | |||
to a non-Designated Forwarder NVE that can flood the BUM frames | BUM frames to a Non-Designated Forwarder NVE that can flood the | |||
back to the Designated Forwarder NVE and then the Tenant System. | BUM frames back to the Designated Forwarder NVE and then back to | |||
As an example, in Figure 1, assuming NVE4 is the Designated | the TS. As an example, assuming NVE4 is the Designated Forwarder | |||
Forwarder for ESI-2 in BD1, BUM frames sent from TS3 to NVE5 will | for ESI-2 in BD1, Figure 1 shows that BUM frames sent from TS3 to | |||
be received at NVE4 and, since NVE4 is the Designated Forwarder | NVE5 will be received at NVE4. NVE4 will forward them back to TS3 | |||
for BD1, it will forward them back to TS3. Split-horizon allows | since NVE4 is the Designated Forwarder for BD1. Split-horizon | |||
NVE4 (and any multi-homed NVE for that matter) to identify if an | allows NVE4 (and any multihomed NVE for that matter) to identify | |||
EVPN BUM frame is coming from the same Ethernet Segment or | if an EVPN BUM frame is coming from the same Ethernet Segment or a | |||
different, and if the frame belongs to the same ESI-2, NVE4 will | different one. If the frame belongs to the same ESI-2, NVE4 will | |||
not forward the BUM frame to TS3, in spite of being the Designated | not forward the BUM frame to TS3 in spite of being the Designated | |||
Forwarder. | Forwarder. | |||
While [RFC7432] describes the default algorithm for the Designated | While [RFC7432] describes the default algorithm for the Designated | |||
Forwarder Election, [RFC8584] and [I-D.ietf-bess-evpn-pref-df] | Forwarder election, [RFC8584] and [BESS-EVPN-PREF-DF] specify other | |||
specify other algorithms and procedures that optimize the Designated | algorithms and procedures that optimize the Designated Forwarder | |||
Forwarder Election. | election. | |||
The Split-horizon function is specified in [RFC7432] and it is | The split-horizon function is specified in [RFC7432], and it is | |||
carried out by using a special ESI-label that it identifies in the | carried out by using a special ESI-label that it identifies in the | |||
data path, all the BUM frames being originated from a given NVE and | data path with all the BUM frames originating from a given NVE and | |||
Ethernet Segment. Since the ESI-label is an MPLS label, it cannot be | Ethernet Segment. Since the ESI-label is an MPLS label, it cannot be | |||
used in all the non-MPLS NVO3 encapsulations, therefore [RFC8365] | used in all the non-MPLS NVO3 encapsulations. Therefore, [RFC8365] | |||
defines a modified Split-horizon procedure that is based on the | defines a modified split-horizon procedure that is based on the | |||
source IP address of the NVO3 tunnel, and it is known as "Local- | source IP address of the NVO3 tunnel; it is known as "Local-Bias". | |||
Bias". It is worth noting that Local-Bias only works for all-active | It is worth noting that Local-Bias only works for All-Active | |||
multi-homing, and not for single-active multi-homing. | multihoming, and not for Single-Active multihoming. | |||
4.7.6. EVPN Recursive Resolution for Inter-Subnet Unicast Forwarding | 4.7.6. EVPN Recursive Resolution for Inter-subnet Unicast Forwarding | |||
Section 4.3 describes how EVPN can be used for Inter Subnet | Section 4.3 describes how EVPN can be used for inter-subnet | |||
Forwarding among subnets of the same tenant. MAC/IP Advertisement | forwarding among subnets of the same tenant. MAC/IP Advertisement | |||
routes and IP Prefix routes allow the advertisement of host routes | routes and IP Prefix routes allow the advertisement of host routes | |||
and IP Prefixes (IP Prefix route) of any length. The procedures | and IP Prefixes (IP Prefix route) of any length. The procedures | |||
outlined by Section 4.3 are similar to the ones in [RFC4364], only | outlined by Section 4.3 are similar to the ones in [RFC4364], but | |||
for NVO3 tunnels. However, [RFC9136] also defines advanced Inter | they are only for NVO3 tunnels. However, [RFC9136] also defines | |||
Subnet Forwarding procedures that allow the resolution of IP Prefix | advanced inter-subnet forwarding procedures that allow the resolution | |||
routes to not only BGP next-hops but also "overlay indexes" that can | of IP Prefix routes not only to BGP next hops but also to "overlay | |||
be a MAC, a Gateway IP (GW-IP) or an ESI, all of them in the tenant | indexes" that can be a MAC, a Gateway IP (GW-IP), or an ESI, all of | |||
space. | them in the tenant space. | |||
Figure 4 illustrates an example that uses Recursive Resolution to a | Figure 4 illustrates an example that uses Recursive Resolution to a | |||
GW-IP as per [RFC9136] section 4.4.2. In this example, IP-VRFs in | GW-IP as per Section 4.4.2 of [RFC9136]. In this example, IP-VRFs in | |||
NVE1 and NVE2 are connected by an SBD (Supplementary Broadcast | NVE1 and NVE2 are connected by a Supplementary Broadcast Domain | |||
Domain). An SBD is a Broadcast Domain that connects all the IP-VRFs | (SBD). An SBD is a Broadcast Domain that connects all the IP-VRFs of | |||
of the same tenant, via IRB, and has no Attachment Circuits. NVE1 | the same tenant via IRB and has no Attachment Circuits. NVE1 | |||
advertises the host route TS2-IP/L (IP address and Prefix Length of | advertises the host route TS2-IP/L (IP address and Prefix Length of | |||
TS2) in an IP Prefix route with overlay index GW-IP=IP1. Also, IP1 | TS2) in an IP Prefix route with overlay index GW-IP=IP1. Also, IP1 | |||
is advertised in an MAC/IP Advertisement route associated to M1, | is advertised in a MAC/IP Advertisement route associated with M1, | |||
VNI-S and BGP next-hop NVE1. Upon importing the two routes, NVE2 | VNI-S, and BGP next-hop NVE1. Upon importing the two routes, NVE2 | |||
installs TS2-IP/L in the IP-VRF with a next-hop that is the GW-IP | installs TS2-IP/L in the IP-VRF with a next hop that is the GW-IP | |||
IP1. NVE2 also installs M1 in the Supplementary Broadcast Domain, | IP1. NVE2 also installs M1 in the Supplementary Broadcast Domain, | |||
with VNI-S and NVE1 as next-hop. If TS3 sends a packet with IP | with VNI-S and NVE1 as next hop. If TS3 sends a packet with IP | |||
DA=TS2, NVE2 will perform a Recursive Resolution of the IP Prefix | DA=TS2, NVE2 will perform a Recursive Resolution of the IP Prefix | |||
route prefix information to the forwarding information of the | route prefix information to the forwarding information of the | |||
correlated MAC/IP Advertisement route. The IP Prefix route's | correlated MAC/IP Advertisement route. The IP Prefix route's | |||
Recursive Resolution has several advantages such as better | Recursive Resolution has several advantages, such as better | |||
convergence in scaled networks (since multiple IP Prefix routes can | convergence in scaled networks (since multiple IP Prefix routes can | |||
be invalidated with a single withdrawal of the overlay index route) | be invalidated with a single withdrawal of the overlay index route) | |||
or the ability to advertise multiple IP Prefix routes from an overlay | or the ability to advertise multiple IP Prefix routes from an overlay | |||
index that can move or change dynamically. [RFC9136] describes a few | index that can move or change dynamically. [RFC9136] describes a few | |||
use-cases. | use cases. | |||
+-------------------------------------+ | +-------------------------------------+ | |||
| EVPN NVO3 | | | EVPN NVO3 | | |||
| + | | + | |||
NVE1 NVE2 | NVE1 NVE2 | |||
+--------------------+ +--------------------+ | +--------------------+ +--------------------+ | |||
| +---+IRB +------+ | | +------+IRB +---+ | | | +---+IRB +------+ | | +------+IRB +---+ | | |||
TS1-----|BD1|----|IP-VRF| | | |IP-VRF|----|BD3|-----TS3 | TS1-----|BD1|----|IP-VRF| | | |IP-VRF|----|BD3|-----TS3 | |||
| +---+ | |-(SBD)------(SBD)-| | +---+ | | | +---+ | |-(SBD)------(SBD)-| | +---+ | | |||
| +---+IRB | |IRB(IP1/M1) IRB+------+ | | | +---+IRB | |IRB(IP1/M1) IRB+------+ | | |||
TS2-----|BD2|----| | | +-----------+--------+ | TS2-----|BD2|----| | | +-----------+--------+ | |||
| +---+ +------+ | | | | +---+ +------+ | | | |||
+--------------------+ | | +--------------------+ | | |||
| RT-2(M1,IP1,VNI-S,NVE1)--> | | | RT-2(M1,IP1,VNI-S,NVE1)--> | | |||
| RT-5(TS2-IP/L,GW-IP=IP1)--> | | | RT-5(TS2-IP/L,GW-IP=IP1)--> | | |||
+-------------------------------------+ | +-------------------------------------+ | |||
Figure 4: EVPN for L3 - Recursive Resolution example | Figure 4: EVPN for L3 - Recursive Resolution Example | |||
4.7.7. EVPN Optimized Inter-Subnet Multicast Forwarding | 4.7.7. EVPN Optimized Inter-subnet Multicast Forwarding | |||
The concept of the Supplementary Broadcast Domain described in | The concept of the Supplementary Broadcast Domain described in | |||
Section 4.7.6 is also used in [I-D.ietf-bess-evpn-irb-mcast] for the | Section 4.7.6 is also used in [BESS-EVPN-IRB-MCAST] for the | |||
procedures related to Inter Subnet Multicast Forwarding across | procedures related to inter-subnet multicast forwarding across | |||
Broadcast Domains of the same tenant. For instance, | Broadcast Domains of the same tenant. For instance, | |||
[I-D.ietf-bess-evpn-irb-mcast] allows the efficient forwarding of IP | [BESS-EVPN-IRB-MCAST] allows the efficient forwarding of IP multicast | |||
multicast traffic from any Broadcast Domain to any other Broadcast | traffic from any Broadcast Domain to any other Broadcast Domain (or | |||
Domain (or even to the same Broadcast Domain where the Source | even to the same Broadcast Domain where the source resides). The | |||
resides). The [I-D.ietf-bess-evpn-irb-mcast] procedures are | [BESS-EVPN-IRB-MCAST] procedures are supported along with EVPN | |||
supported along with EVPN multi-homing, and for any tree allowed on | multihoming and for any tree allowed on NVO3 networks, including IR | |||
NVO3 networks, including IR or AR. [I-D.ietf-bess-evpn-irb-mcast] | or AR. [BESS-EVPN-IRB-MCAST] also describes the interoperability | |||
also describes the interoperability between EVPN and other multicast | between EVPN and other multicast technologies such as Multicast VPN | |||
technologies such as MVPN (Multicast VPN) and PIM for inter-subnet | (MVPN) and PIM for inter-subnet multicast. | |||
multicast. | ||||
[I-D.ietf-bess-evpn-mvpn-seamless-interop] describes another | [BESS-EVPN-MVPN-SEAMLESS-INTEROP] describes another potential | |||
potential solution to support EVPN to MVPN interoperability. | solution to support EVPN to MVPN interoperability. | |||
4.7.8. Data Center Interconnect (DCI) | 4.7.8. Data Center Interconnect (DCI) | |||
Tenant Layer-2 and Layer-3 services deployed on NVO3 networks must | Tenant Layer 2 and Layer 3 services deployed on NVO3 networks must | |||
often be extended to remote NVO3 networks that are connected via non- | often be extended to remote NVO3 networks that are connected via non- | |||
NOV3 Wide Area Networks (mostly MPLS based Wide Area Networks). | NOV3 Wide Area Networks (WANs) (mostly MPLS-based WANs). [RFC9014] | |||
[RFC9014] defines some architectural models that can be used to | defines some architectural models that can be used to interconnect | |||
interconnect NVO3 networks via MPLS Wide Area Networks. | NVO3 networks via MPLS WANs. | |||
When NVO3 networks are connected by MPLS Wide Area Networks, | When NVO3 networks are connected by MPLS WANs, [RFC9014] specifies | |||
[RFC9014] specifies how EVPN can be used end-to-end, in spite of | how EVPN can be used end to end in spite of using a different | |||
using a different encapsulation in the Wide Area Network. [RFC9014] | encapsulation in the WAN. [RFC9014] also supports the use of NVO3 or | |||
also supports the use of NVO3 or Segment Routing (encoding 32-bit or | Segment Routing (encoding 32-bit or 128-bit Segment Identifiers into | |||
128-bit Segment Identifiers into labels or IPv6 addresses | labels or IPv6 addresses, respectively) transport tunnels in the WAN. | |||
respectively) transport tunnels in the Wide Area Network. | ||||
Even if EVPN can also be used in the Wide Area Network for Layer-2 | Even if EVPN can also be used in the WAN for Layer 2 and Layer 3 | |||
and Layer-3 services, there may be a need to provide a Gateway | services, there may be a need to provide a Gateway function between | |||
function between EVPN for NVO3 encapsulations and IPVPN for MPLS | EVPN for NVO3 encapsulations and IP VPN for MPLS tunnels if the | |||
tunnels, if the operator uses IPVPN in the Wide Area Network. | operator uses IP VPN in the WAN. [BESS-EVPN-IPVPN-INTERWORKING] | |||
[I-D.ietf-bess-evpn-ipvpn-interworking] specifies the interworking | specifies the interworking function between EVPN and IP VPN for | |||
function between EVPN and IPVPN for unicast Inter Subnet Forwarding. | unicast inter-subnet forwarding. If inter-subnet multicast | |||
If Inter Subnet Multicast Forwarding is also needed across an IPVPN | forwarding is also needed across an IP VPN WAN, [BESS-EVPN-IRB-MCAST] | |||
Wide Area Network, [I-D.ietf-bess-evpn-irb-mcast] describes the | describes the required interworking between EVPN and MVPNs. | |||
required interworking between EVPN and MVPN (Multicast Virtual | ||||
Private Networks). | ||||
5. Security Considerations | 5. Security Considerations | |||
This document does not introduce any new procedure or additional | This document does not introduce any new procedure or additional | |||
signaling in EVPN, and relies on the security considerations of the | signaling in EVPN and relies on the security considerations of the | |||
individual specifications used as a reference throughout the | individual specifications used as a reference throughout the | |||
document. In particular, and as mentioned in [RFC7432], control | document. In particular, and as mentioned in [RFC7432], control | |||
plane and forwarding path protection are aspects to secure in any | plane and forwarding path protection are aspects to secure in any | |||
EVPN domain, when applied to NVO3 networks. | EVPN domain when applied to NVO3 networks. | |||
[RFC7432] mentions security techniques such as those discussed in | [RFC7432] mentions security techniques such as those discussed in | |||
[RFC5925] to authenticate BGP messages, and those included in | [RFC5925] to authenticate BGP messages, and those included in | |||
[RFC4271], [RFC4272] and [RFC6952] to secure BGP are relevant for | [RFC4271], [RFC4272], and [RFC6952] to secure BGP are relevant for | |||
EVPN in NVO3 networks as well. | EVPN in NVO3 networks as well. | |||
6. IANA Considerations | 6. IANA Considerations | |||
None. | This document has no IANA actions. | |||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
[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>. | ||||
[RFC7365] Lasserre, M., Balus, F., Morin, T., Bitar, N., and Y. | ||||
Rekhter, "Framework for Data Center (DC) Network | ||||
Virtualization", RFC 7365, DOI 10.17487/RFC7365, October | ||||
2014, <https://www.rfc-editor.org/info/rfc7365>. | ||||
[RFC7364] Narten, T., Ed., Gray, E., Ed., Black, D., Fang, L., | [RFC7364] Narten, T., Ed., Gray, E., Ed., Black, D., Fang, L., | |||
Kreeger, L., and M. Napierala, "Problem Statement: | Kreeger, L., and M. Napierala, "Problem Statement: | |||
Overlays for Network Virtualization", RFC 7364, | Overlays for Network Virtualization", RFC 7364, | |||
DOI 10.17487/RFC7364, October 2014, | DOI 10.17487/RFC7364, October 2014, | |||
<https://www.rfc-editor.org/info/rfc7364>. | <https://www.rfc-editor.org/info/rfc7364>. | |||
7.2. Informative References | [RFC7365] Lasserre, M., Balus, F., Morin, T., Bitar, N., and Y. | |||
Rekhter, "Framework for Data Center (DC) Network | ||||
[RFC9136] Rabadan, J., Ed., Henderickx, W., Drake, J., Lin, W., and | Virtualization", RFC 7365, DOI 10.17487/RFC7365, October | |||
A. Sajassi, "IP Prefix Advertisement in Ethernet VPN | 2014, <https://www.rfc-editor.org/info/rfc7365>. | |||
(EVPN)", RFC 9136, DOI 10.17487/RFC9136, October 2021, | ||||
<https://www.rfc-editor.org/info/rfc9136>. | ||||
[RFC9135] Sajassi, A., Salam, S., Thoria, S., Drake, J., and J. | [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., | |||
Rabadan, "Integrated Routing and Bridging in Ethernet VPN | Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based | |||
(EVPN)", RFC 9135, DOI 10.17487/RFC9135, October 2021, | Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February | |||
<https://www.rfc-editor.org/info/rfc9135>. | 2015, <https://www.rfc-editor.org/info/rfc7432>. | |||
[RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R., | 7.2. Informative References | |||
Uttaro, J., and W. Henderickx, "A Network Virtualization | ||||
Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365, | ||||
DOI 10.17487/RFC8365, March 2018, | ||||
<https://www.rfc-editor.org/info/rfc8365>. | ||||
[RFC8926] Gross, J., Ed., Ganga, I., Ed., and T. Sridhar, Ed., | [BESS-EVPN-GENEVE] | |||
"Geneve: Generic Network Virtualization Encapsulation", | Boutros, S., Ed., Sajassi, A., Drake, J., Rabadan, J., and | |||
RFC 8926, DOI 10.17487/RFC8926, November 2020, | S. Aldrin, "EVPN control plane for Geneve", Work in | |||
<https://www.rfc-editor.org/info/rfc8926>. | Progress, Internet-Draft, draft-ietf-bess-evpn-geneve-06, | |||
26 May 2023, <https://datatracker.ietf.org/doc/html/draft- | ||||
ietf-bess-evpn-geneve-06>. | ||||
[I-D.ietf-nvo3-encap] | [BESS-EVPN-IPVPN-INTERWORKING] | |||
Boutros, S. and D. E. Eastlake, "Network Virtualization | Rabadan, J., Ed., Sajassi, A., Ed., Rosen, E., Drake, J., | |||
Overlays (NVO3) Encapsulation Considerations", Work in | Lin, W., Uttaro, J., and A. Simpson, "EVPN Interworking | |||
Progress, Internet-Draft, draft-ietf-nvo3-encap-09, 7 | with IPVPN", Work in Progress, Internet-Draft, draft-ietf- | |||
October 2022, <https://datatracker.ietf.org/doc/html/ | bess-evpn-ipvpn-interworking-08, 5 July 2023, | |||
draft-ietf-nvo3-encap-09>. | <https://datatracker.ietf.org/doc/html/draft-ietf-bess- | |||
evpn-ipvpn-interworking-08>. | ||||
[RFC9012] Patel, K., Van de Velde, G., Sangli, S., and J. Scudder, | [BESS-EVPN-IRB-MCAST] | |||
"The BGP Tunnel Encapsulation Attribute", RFC 9012, | Lin, W., Zhang, Z., Drake, J., Rosen, E., Ed., Rabadan, | |||
DOI 10.17487/RFC9012, April 2021, | J., and A. Sajassi, "EVPN Optimized Inter-Subnet Multicast | |||
<https://www.rfc-editor.org/info/rfc9012>. | (OISM) Forwarding", Work in Progress, Internet-Draft, | |||
draft-ietf-bess-evpn-irb-mcast-09, 21 February 2023, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-bess- | ||||
evpn-irb-mcast-09>. | ||||
[I-D.ietf-bess-evpn-lsp-ping] | [BESS-EVPN-LSP-PING] | |||
Jain, P., Sajassi, A., Salam, S., Boutros, S., and G. | Jain, P., Sajassi, A., Salam, S., Boutros, S., and G. | |||
Mirsky, "LSP-Ping Mechanisms for EVPN and PBB-EVPN", Work | Mirsky, "LSP-Ping Mechanisms for EVPN and PBB-EVPN", Work | |||
in Progress, Internet-Draft, draft-ietf-bess-evpn-lsp- | in Progress, Internet-Draft, draft-ietf-bess-evpn-lsp- | |||
ping-09, 10 December 2022, | ping-11, 29 May 2023, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-bess- | <https://datatracker.ietf.org/doc/html/draft-ietf-bess- | |||
evpn-lsp-ping-09>. | evpn-lsp-ping-11>. | |||
[RFC9161] Rabadan, J., Ed., Sathappan, S., Nagaraj, K., Hankins, G., | [BESS-EVPN-MVPN-SEAMLESS-INTEROP] | |||
and T. King, "Operational Aspects of Proxy ARP/ND in | Sajassi, A., Thiruvenkatasamy, K., Thoria, S., Gupta, A., | |||
Ethernet Virtual Private Networks", RFC 9161, | and L. Jalil, "Seamless Multicast Interoperability between | |||
DOI 10.17487/RFC9161, January 2022, | EVPN and MVPN PEs", Work in Progress, Internet-Draft, | |||
<https://www.rfc-editor.org/info/rfc9161>. | draft-ietf-bess-evpn-mvpn-seamless-interop-05, 13 March | |||
2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | ||||
bess-evpn-mvpn-seamless-interop-05>. | ||||
[RFC9251] Sajassi, A., Thoria, S., Mishra, M., Patel, K., Drake, J., | [BESS-EVPN-OPTIMIZED-IR] | |||
and W. Lin, "Internet Group Management Protocol (IGMP) and | Rabadan, J., Ed., Sathappan, S., Lin, W., Katiyar, M., and | |||
Multicast Listener Discovery (MLD) Proxies for Ethernet | A. Sajassi, "Optimized Ingress Replication Solution for | |||
VPN (EVPN)", RFC 9251, DOI 10.17487/RFC9251, June 2022, | Ethernet VPN (EVPN)", Work in Progress, Internet-Draft, | |||
<https://www.rfc-editor.org/info/rfc9251>. | draft-ietf-bess-evpn-optimized-ir-12, 25 January 2022, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-bess- | ||||
evpn-optimized-ir-12>. | ||||
[I-D.skr-bess-evpn-pim-proxy] | [BESS-EVPN-PIM-PROXY] | |||
Rabadan, J., Kotalwar, J., Sathappan, S., Zhang, Z. J., | Rabadan, J., Ed., Kotalwar, J., Sathappan, S., Zhang, Z., | |||
and A. Sajassi, "PIM Proxy in EVPN Networks", Work in | and A. Sajassi, "PIM Proxy in EVPN Networks", Work in | |||
Progress, Internet-Draft, draft-skr-bess-evpn-pim-proxy- | Progress, Internet-Draft, draft-skr-bess-evpn-pim-proxy- | |||
01, 30 October 2017, | 01, 30 October 2017, | |||
<https://datatracker.ietf.org/doc/html/draft-skr-bess- | <https://datatracker.ietf.org/doc/html/draft-skr-bess- | |||
evpn-pim-proxy-01>. | evpn-pim-proxy-01>. | |||
[I-D.ietf-bess-evpn-optimized-ir] | [BESS-EVPN-PREF-DF] | |||
Rabadan, J., Sathappan, S., Lin, W., Katiyar, M., and A. | Rabadan, J., Ed., Sathappan, S., Lin, W., Drake, J., and | |||
Sajassi, "Optimized Ingress Replication Solution for | A. Sajassi, "Preference-based EVPN DF Election", Work in | |||
Ethernet VPN (EVPN)", Work in Progress, Internet-Draft, | Progress, Internet-Draft, draft-ietf-bess-evpn-pref-df-11, | |||
draft-ietf-bess-evpn-optimized-ir-12, 25 January 2022, | 6 July 2023, <https://datatracker.ietf.org/doc/html/draft- | |||
ietf-bess-evpn-pref-df-11>. | ||||
[BESS-RFC7432BIS] | ||||
Sajassi, A., Burdet, L., Drake, J., and J. Rabadan, "BGP | ||||
MPLS-Based Ethernet VPN", Work in Progress, Internet- | ||||
Draft, draft-ietf-bess-rfc7432bis-07, 13 March 2023, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-bess- | <https://datatracker.ietf.org/doc/html/draft-ietf-bess- | |||
evpn-optimized-ir-12>. | rfc7432bis-07>. | |||
[RFC8584] Rabadan, J., Ed., Mohanty, S., Ed., Sajassi, A., Drake, | [BESS-SECURE-EVPN] | |||
J., Nagaraj, K., and S. Sathappan, "Framework for Ethernet | Sajassi, A., Banerjee, A., Thoria, S., Carrel, D., Weis, | |||
VPN Designated Forwarder Election Extensibility", | B., and J. Drake, "Secure EVPN", Work in Progress, | |||
RFC 8584, DOI 10.17487/RFC8584, April 2019, | Internet-Draft, draft-ietf-bess-secure-evpn-00, 20 June | |||
<https://www.rfc-editor.org/info/rfc8584>. | 2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | |||
bess-secure-evpn-00>. | ||||
[I-D.ietf-bess-evpn-pref-df] | [CLOS1953] Clos, C., "A study of non-blocking switching networks", | |||
Rabadan, J., Sathappan, S., Lin, W., Drake, J., and A. | The Bell System Technical Journal, Vol. 32, Issue 2, | |||
Sajassi, "Preference-based EVPN DF Election", Work in | DOI 10.1002/j.1538-7305.1953.tb01433.x, March 1953, | |||
Progress, Internet-Draft, draft-ietf-bess-evpn-pref-df-10, | <https://ieeexplore.ieee.org/document/6770468>. | |||
2 September 2022, <https://datatracker.ietf.org/doc/html/ | ||||
draft-ietf-bess-evpn-pref-df-10>. | ||||
[I-D.ietf-bess-evpn-irb-mcast] | [IEEE.802.1AX_2014] | |||
Lin, W., Zhang, Z. J., Drake, J., Rosen, E. C., Rabadan, | IEEE, "IEEE Standard for Local and metropolitan area | |||
J., and A. Sajassi, "EVPN Optimized Inter-Subnet Multicast | networks -- Link Aggregation", IEEE Std 802.1AX-2014, | |||
(OISM) Forwarding", Work in Progress, Internet-Draft, | DOI 10.1109/IEEESTD.2014.7055197, December 2014, | |||
draft-ietf-bess-evpn-irb-mcast-09, 21 February 2023, | <https://doi.org/10.1109/IEEESTD.2014.7055197>. | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-bess- | ||||
evpn-irb-mcast-09>. | ||||
[RFC9014] Rabadan, J., Ed., Sathappan, S., Henderickx, W., Sajassi, | [NVO3-ENCAP] | |||
A., and J. Drake, "Interconnect Solution for Ethernet VPN | Boutros, S., Ed. and D. Eastlake 3rd, Ed., "Network | |||
(EVPN) Overlay Networks", RFC 9014, DOI 10.17487/RFC9014, | Virtualization Overlays (NVO3) Encapsulation | |||
May 2021, <https://www.rfc-editor.org/info/rfc9014>. | Considerations", Work in Progress, Internet-Draft, draft- | |||
ietf-nvo3-encap-09, 7 October 2022, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-nvo3- | ||||
encap-09>. | ||||
[I-D.ietf-bess-evpn-ipvpn-interworking] | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
Rabadan, J., Sajassi, A., Rosen, E. C., Drake, J., Lin, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
W., Uttaro, J., and A. Simpson, "EVPN Interworking with | DOI 10.17487/RFC4271, January 2006, | |||
IPVPN", Work in Progress, Internet-Draft, draft-ietf-bess- | <https://www.rfc-editor.org/info/rfc4271>. | |||
evpn-ipvpn-interworking-07, 6 July 2022, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-bess- | [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", | |||
evpn-ipvpn-interworking-07>. | RFC 4272, DOI 10.17487/RFC4272, January 2006, | |||
<https://www.rfc-editor.org/info/rfc4272>. | ||||
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | ||||
Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | ||||
2006, <https://www.rfc-editor.org/info/rfc4364>. | ||||
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, | ||||
"Multiprotocol Extensions for BGP-4", RFC 4760, | ||||
DOI 10.17487/RFC4760, January 2007, | ||||
<https://www.rfc-editor.org/info/rfc4760>. | ||||
[RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP | ||||
Authentication Option", RFC 5925, DOI 10.17487/RFC5925, | ||||
June 2010, <https://www.rfc-editor.org/info/rfc5925>. | ||||
[RFC6952] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of | ||||
BGP, LDP, PCEP, and MSDP Issues According to the Keying | ||||
and Authentication for Routing Protocols (KARP) Design | ||||
Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013, | ||||
<https://www.rfc-editor.org/info/rfc6952>. | ||||
[RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, | [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, | |||
L., Sridhar, T., Bursell, M., and C. Wright, "Virtual | L., Sridhar, T., Bursell, M., and C. Wright, "Virtual | |||
eXtensible Local Area Network (VXLAN): A Framework for | eXtensible Local Area Network (VXLAN): A Framework for | |||
Overlaying Virtualized Layer 2 Networks over Layer 3 | Overlaying Virtualized Layer 2 Networks over Layer 3 | |||
Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, | Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, | |||
<https://www.rfc-editor.org/info/rfc7348>. | <https://www.rfc-editor.org/info/rfc7348>. | |||
[RFC7510] Xu, X., Sheth, N., Yong, L., Callon, R., and D. Black, | [RFC7510] Xu, X., Sheth, N., Yong, L., Callon, R., and D. Black, | |||
"Encapsulating MPLS in UDP", RFC 7510, | "Encapsulating MPLS in UDP", RFC 7510, | |||
DOI 10.17487/RFC7510, April 2015, | DOI 10.17487/RFC7510, April 2015, | |||
<https://www.rfc-editor.org/info/rfc7510>. | <https://www.rfc-editor.org/info/rfc7510>. | |||
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | [RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R., | |||
Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | Uttaro, J., and W. Henderickx, "A Network Virtualization | |||
2006, <https://www.rfc-editor.org/info/rfc4364>. | Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365, | |||
DOI 10.17487/RFC8365, March 2018, | ||||
[CLOS1953] Clos, C., "A Study of Non-Blocking Switching Networks", | <https://www.rfc-editor.org/info/rfc8365>. | |||
March 1953. | ||||
[I-D.ietf-bess-evpn-geneve] | ||||
Boutros, S., Sajassi, A., Drake, J., Rabadan, J., and S. | ||||
Aldrin, "EVPN control plane for Geneve", Work in Progress, | ||||
Internet-Draft, draft-ietf-bess-evpn-geneve-05, 23 | ||||
November 2022, <https://datatracker.ietf.org/doc/html/ | ||||
draft-ietf-bess-evpn-geneve-05>. | ||||
[I-D.ietf-bess-evpn-mvpn-seamless-interop] | [RFC8584] Rabadan, J., Ed., Mohanty, S., Ed., Sajassi, A., Drake, | |||
Sajassi, A., Thiruvenkatasamy, K., Thoria, S., Gupta, A., | J., Nagaraj, K., and S. Sathappan, "Framework for Ethernet | |||
and L. Jalil, "Seamless Multicast Interoperability between | VPN Designated Forwarder Election Extensibility", | |||
EVPN and MVPN PEs", Work in Progress, Internet-Draft, | RFC 8584, DOI 10.17487/RFC8584, April 2019, | |||
draft-ietf-bess-evpn-mvpn-seamless-interop-05, 13 March | <https://www.rfc-editor.org/info/rfc8584>. | |||
2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | ||||
bess-evpn-mvpn-seamless-interop-05>. | ||||
[I-D.sajassi-bess-secure-evpn] | [RFC8926] Gross, J., Ed., Ganga, I., Ed., and T. Sridhar, Ed., | |||
Sajassi, A., Banerjee, A., Thoria, S., Carrel, D., Weis, | "Geneve: Generic Network Virtualization Encapsulation", | |||
B., and J. Drake, "Secure EVPN", Work in Progress, | RFC 8926, DOI 10.17487/RFC8926, November 2020, | |||
Internet-Draft, draft-sajassi-bess-secure-evpn-06, 13 | <https://www.rfc-editor.org/info/rfc8926>. | |||
March 2023, <https://datatracker.ietf.org/doc/html/draft- | ||||
sajassi-bess-secure-evpn-06>. | ||||
[RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP | [RFC9012] Patel, K., Van de Velde, G., Sangli, S., and J. Scudder, | |||
Authentication Option", RFC 5925, DOI 10.17487/RFC5925, | "The BGP Tunnel Encapsulation Attribute", RFC 9012, | |||
June 2010, <https://www.rfc-editor.org/info/rfc5925>. | DOI 10.17487/RFC9012, April 2021, | |||
<https://www.rfc-editor.org/info/rfc9012>. | ||||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC9014] Rabadan, J., Ed., Sathappan, S., Henderickx, W., Sajassi, | |||
Border Gateway Protocol 4 (BGP-4)", RFC 4271, | A., and J. Drake, "Interconnect Solution for Ethernet VPN | |||
DOI 10.17487/RFC4271, January 2006, | (EVPN) Overlay Networks", RFC 9014, DOI 10.17487/RFC9014, | |||
<https://www.rfc-editor.org/info/rfc4271>. | May 2021, <https://www.rfc-editor.org/info/rfc9014>. | |||
[RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", | [RFC9135] Sajassi, A., Salam, S., Thoria, S., Drake, J., and J. | |||
RFC 4272, DOI 10.17487/RFC4272, January 2006, | Rabadan, "Integrated Routing and Bridging in Ethernet VPN | |||
<https://www.rfc-editor.org/info/rfc4272>. | (EVPN)", RFC 9135, DOI 10.17487/RFC9135, October 2021, | |||
<https://www.rfc-editor.org/info/rfc9135>. | ||||
[RFC6952] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of | [RFC9136] Rabadan, J., Ed., Henderickx, W., Drake, J., Lin, W., and | |||
BGP, LDP, PCEP, and MSDP Issues According to the Keying | A. Sajassi, "IP Prefix Advertisement in Ethernet VPN | |||
and Authentication for Routing Protocols (KARP) Design | (EVPN)", RFC 9136, DOI 10.17487/RFC9136, October 2021, | |||
Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013, | <https://www.rfc-editor.org/info/rfc9136>. | |||
<https://www.rfc-editor.org/info/rfc6952>. | ||||
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, | [RFC9161] Rabadan, J., Ed., Sathappan, S., Nagaraj, K., Hankins, G., | |||
"Multiprotocol Extensions for BGP-4", RFC 4760, | and T. King, "Operational Aspects of Proxy ARP/ND in | |||
DOI 10.17487/RFC4760, January 2007, | Ethernet Virtual Private Networks", RFC 9161, | |||
<https://www.rfc-editor.org/info/rfc4760>. | DOI 10.17487/RFC9161, January 2022, | |||
<https://www.rfc-editor.org/info/rfc9161>. | ||||
[I-D.ietf-bess-rfc7432bis] | [RFC9251] Sajassi, A., Thoria, S., Mishra, M., Patel, K., Drake, J., | |||
Sajassi, A., Burdet, L. A., Drake, J., and J. Rabadan, | and W. Lin, "Internet Group Management Protocol (IGMP) and | |||
"BGP MPLS-Based Ethernet VPN", Work in Progress, Internet- | Multicast Listener Discovery (MLD) Proxies for Ethernet | |||
Draft, draft-ietf-bess-rfc7432bis-07, 13 March 2023, | VPN (EVPN)", RFC 9251, DOI 10.17487/RFC9251, June 2022, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-bess- | <https://www.rfc-editor.org/info/rfc9251>. | |||
rfc7432bis-07>. | ||||
[I-D.ietf-rtgwg-bgp-pic] | [RTGWG-BGP-PIC] | |||
Bashandy, A., Filsfils, C., and P. Mohapatra, "BGP Prefix | Bashandy, A., Ed., Filsfils, C., and P. Mohapatra, "BGP | |||
Independent Convergence", Work in Progress, Internet- | Prefix Independent Convergence", Work in Progress, | |||
Draft, draft-ietf-rtgwg-bgp-pic-19, 1 April 2023, | Internet-Draft, draft-ietf-rtgwg-bgp-pic-19, 1 April 2023, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-rtgwg- | <https://datatracker.ietf.org/doc/html/draft-ietf-rtgwg- | |||
bgp-pic-19>. | bgp-pic-19>. | |||
[IEEE.802.1AX_2014] | Acknowledgments | |||
IEEE, "IEEE Standard for Local and metropolitan area | ||||
networks -- Link Aggregation", 24 December 2014. | ||||
Appendix A. Acknowledgments | ||||
The authors want to thank Aldrin Isaac for his comments. | ||||
Appendix B. Contributors | ||||
Appendix C. Authors' Addresses | The authors thank Aldrin Isaac for his comments. | |||
Authors' Addresses | Authors' Addresses | |||
Jorge Rabadan (editor) | Jorge Rabadan (editor) | |||
Nokia | Nokia | |||
520 Almanor Ave | 520 Almanor Ave | |||
Sunnyvale, CA 94085 | Sunnyvale, CA 94085 | |||
United States of America | United States of America | |||
Email: jorge.rabadan@nokia.com | Email: jorge.rabadan@nokia.com | |||
End of changes. 235 change blocks. | ||||
793 lines changed or deleted | 778 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |