<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC7432 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7432.xml">
<!ENTITY RFC7365 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7365.xml">
<!ENTITY RFC7364 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7364.xml">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8365 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8365.xml">
<!ENTITY I-D.ietf-nvo3-encap SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-nvo3-encap.xml">
<!ENTITY I-D.ietf-bess-evpn-lsp-ping SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-lsp-ping.xml">
<!ENTITY I-D.skr-bess-evpn-pim-proxy SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.skr-bess-evpn-pim-proxy.xml">
<!ENTITY I-D.ietf-bess-evpn-optimized-ir SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-optimized-ir.xml">
<!ENTITY RFC8584 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8584.xml">
<!ENTITY I-D.ietf-bess-evpn-pref-df SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-pref-df.xml">
<!ENTITY I-D.ietf-bess-evpn-irb-mcast SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-irb-mcast.xml">
<!ENTITY I-D.ietf-bess-evpn-ipvpn-interworking SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-ipvpn-interworking.xml">
<!ENTITY RFC7348 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7348.xml">
<!ENTITY RFC7510 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7510.xml">
<!ENTITY RFC4364 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4364.xml">
<!ENTITY I-D.ietf-bess-evpn-geneve SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-geneve.xml">
<!ENTITY I-D.ietf-bess-evpn-mvpn-seamless-interop SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-mvpn-seamless-interop.xml">
<!ENTITY I-D.sajassi-bess-secure-evpn SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.sajassi-bess-secure-evpn.xml">
<!ENTITY I-D.ietf-bess-rfc7432bis SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-rfc7432bis.xml">
<!ENTITY RFC5925 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5925.xml">
<!ENTITY RFC4271 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml">
<!ENTITY RFC4272 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4272.xml">
<!ENTITY RFC6952 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6952.xml">
<!ENTITY RFC8926 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8926.xml">
<!ENTITY RFC9135 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9135.xml">
<!ENTITY RFC9136 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9136.xml">
<!ENTITY RFC9012 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9012.xml">
<!ENTITY RFC9161 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9161.xml">
<!ENTITY RFC9014 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9014.xml">
<!ENTITY RFC4760 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4760.xml">
<!ENTITY RFC9251 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9251.xml">
]>
<rfc category="info" docName="draft-ietf-nvo3-evpn-applicability-05"
     ipr="trust200902" submissionType="IETF">
  <!-- Generated by id2xml 1.5.0 on 2020-11-02T10:45:47Z -->

  <?rfc strict="yes"?>

  <?rfc compact="yes"?>

  <?rfc subcompact="no"?>

  <?rfc symrefs="yes"?>

  <?rfc sortrefs="no"?>

  <?rfc text-list-symbols="o-*+"?>

  <?rfc toc="yes"?>

  <front>
    <title abbrev="EVPN Applicability for NVO3">Applicability of EVPN to NVO3
    Networks</title>

    <author fullname="Jorge Rabadan" initials="J." role="editor"
            surname="Rabadan">
      <organization>Nokia</organization>

      <address>
        <postal>
          <street>520 Almanor Ave</street>

          <city>Sunnyvale</city>

          <region>CA</region>

          <code>94085</code>

          <country>USA</country>
        </postal>

        <email>jorge.rabadan@nokia.com</email>
      </address>
    </author>

    <author fullname="Matthew Bocci" initials="M." surname="Bocci">
      <organization>Nokia</organization>

      <address>
        <email>matthew.bocci@nokia.com</email>
      </address>
    </author>

    <author fullname="Sami Boutros" initials="S." surname="Boutros">
      <organization>Ciena</organization>

      <address>
        <email>sboutros@ciena.com</email>
      </address>
    </author>

    <author fullname="Ali Sajassi" initials="A." surname="Sajassi">
      <organization abbrev="Cisco">Cisco Systems, Inc.</organization>

      <address>
        <email>sajassi@cisco.com</email>
      </address>
    </author>

    <date day="1" month="September" year="2022"/>

    <workgroup>NVO3 Workgroup</workgroup>

    <abstract>
      <t>In Network Virtualization Over Layer-3 (NVO3) networks, Network
      Virtualization Edge devices (NVEs) sit at the edge of the underlay
      network and provide Layer-2 and Layer-3 connectivity among Tenant
      Systems (TSes) of the same tenant. The NVEs need to build and maintain
      mapping tables so that they can deliver encapsulated packets to their
      intended destination NVE(s). While there are different options to create
      and disseminate the mapping table entries, NVEs may exchange that
      information directly among themselves via a control-plane protocol, such
      as Ethernet Virtual Private Network (EVPN). EVPN provides an efficient,
      flexible and unified control-plane option that can be used for Layer-2
      and Layer-3 Virtual Network (VN) service connectivity. This document
      describes the applicability of EVPN to NVO3 networks and how EVPN solves
      the challenges in those networks. This document does not introduce any
      new procedures in EVPN.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="sect-1" title="Introduction">
      <t>In Network Virtualization Over Layer-3 (NVO3) networks, Network
      Virtualization Edge devices (NVEs) sit at the edge of the underlay
      network and provide Layer-2 and Layer-3 connectivity among Tenant
      Systems (TSes) of the same tenant. The NVEs need to build and maintain
      mapping tables so that they can deliver encapsulated packets to their
      intended destination NVE(s). While there are different options to create
      and disseminate the mapping table entries, NVEs may exchange that
      information directly among themselves via a control-plane protocol, such
      as EVPN. EVPN provides an efficient, flexible and unified control-plane
      option that can be used for Layer-2 and Layer-3 Virtual Network (VN)
      service connectivity. This document does not introduce any new
      procedures in EVPN.</t>

      <t>In this document, we assume that the EVPN control-plane module
      resides in the NVEs. The NVEs can be virtual switches in hypervisors,
      TOR/Leaf switches or Data Center Gateways. As described in <xref
      target="RFC7365"/>, Network Virtualization Authorities (NVAs) may be
      used to provide the forwarding information to the NVEs, and in that
      case, EVPN could be used to disseminate the information across multiple
      federated NVAs. The applicability of EVPN would then be similar to the
      one described in this document. However, for simplicity, the description
      assumes control-plane communication among NVE(s).</t>
    </section>

    <section anchor="sect-2" title="EVPN and NVO3 Terminology">
      <t>This document uses the terminology of <xref target="RFC7365"/>, in
      addition to the terms that follow. <list style="symbols">
          <t>AC: Attachment Circuit or logical interface associated to a given
          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
          tags can be individual c-tags, s-tags or ranges of both).</t>

          <t>ARP and ND: Address Resolution Protocol (IPv4) and Neighbor
          Discovery protocol (IPv6).</t>

          <t>BD: or Broadcast Domain, it corresponds to a tenant IP subnet. If
          no suppression techniques are used, a BUM frame that is injected in
          a Broadcast Domain will reach all the NVEs that are attached to that
          Broadcast Domain. An EVI may contain one or multiple Broadcast
          Domains depending on the service model <xref target="RFC7432"/>.
          This document will use the term Broadcast Domain to refer to a
          tenant subnet.</t>

          <t>BT: a Bridge Table, as defined in <xref target="RFC7432"/>. A BT
          is the instantiation of a Broadcast Domain in an NVE. When there is
          a single Broadcast Domain on a given EVI, the MAC-VRF is equivalent
          to the BT on that NVE. Although a Broadcast Domain spans multiple
          NVEs, and a BT is really the instantiation of a Broadcast Domain in
          an NVE, this document uses BT and Broadcast Domain
          interchangeably.</t>

          <t>BUM: Broadcast, Unknown unicast and Multicast frames.</t>

          <t>CLOS: a multistage network topology described in <xref
          target="CLOS1953"/>, where all the edge switches (or Leafs) are
          connected to all the core switches (or Spines). Typically used in
          Data Centers.</t>

          <t>DF and NDF: they refer to Designated Forwarder and Non-Designated
          Forwarder, which are the roles that a given PE can have in a given
          ES.</t>

          <t>ECMP: Equal Cost Multi-Path.</t>

          <t>EVPN: Ethernet Virtual Private Networks, as described in <xref
          target="RFC7432"/>.</t>

          <t>EVI: EVPN Instance.</t>

          <t>EVPN VLAN-based service model: one of the three service models
          defined in <xref target="RFC7432"/>. It is characterized as a
          Broadcast Domain that uses a single VLAN per physical access port to
          attach tenant traffic to the Broadcast Domain. In this service
          model, there is only one Broadcast Domain per EVI.</t>

          <t>EVPN VLAN-bundle service model: similar to VLAN-based but uses a
          bundle of VLANs per physical port to attach tenant traffic to the
          Broadcast Domain. As in VLAN-based, in this model there is a single
          Broadcast Domain per EVI.</t>

          <t>EVPN VLAN-aware bundle service model: similar to the VLAN-bundle
          model but each individual VLAN value is mapped to a different
          Broadcast Domain. In this model there are multiple Broadcast Domains
          per EVI for a given tenant. Each Broadcast Domain is identified by
          an "Ethernet Tag", that is a control-plane value that identifies the
          routes for the Broadcast Domain within the EVI.</t>

          <t>ES: Ethernet Segment. When a Tenant System (TS) is connected to
          one or more NVEs via a set of Ethernet links, then that set of links
          is referred to as an 'Ethernet segment'. Each ES is represented by a
          unique Ethernet Segment Identifier (ESI) in the NVO3 network and the
          ESI is used in EVPN routes that are specific to that ES.</t>

          <t>Ethernet Tag: Used to represent a Broadcast Domain that is
          configured on a given ES for the purpose of Designated Forwarder
          election. Note that any of the following may be used to represent a
          Broadcast Domain: VIDs (including Q-in-Q tags), configured IDs, VNIs
          (Virtual Extensible Local Area Network (VXLAN) Network Identifiers),
          normalized VIDs, I-SIDs (Service Instance Identifiers), etc., as
          long as the representation of the Broadcast Domains is configured
          consistently across the multihomed PEs attached to that ES. The
          Ethernet Tag value MUST be different from zero.</t>

          <t>EVI: or EVPN Instance. It is a Layer-2 Virtual Network that uses
          an EVPN control-plane to exchange reachability information among the
          member NVEs. It corresponds to a set of MAC-VRFs of the same tenant.
          See MAC-VRF in this section.</t>

          <t>GENEVE: Generic Network Virtualization Encapsulation, an NVO3
          encapsulation defined in <xref target="RFC8926"/>.</t>

          <t>IP-VRF: an IP Virtual Routing and Forwarding table, as defined in
          <xref target="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. Route-Distinghisher (RD) and Route-Target(s) (RTs) are
          required properties of an IP-VRF. An IP-VRF is instantiated in an
          NVE for a given tenant, if the NVE is attached to multiple subnets
          of the tenant and local inter-subnet-forwarding is required across
          those subnets.</t>

          <t>IRB: Integrated Routing and Bridging interface. It refers to the
          logical interface that connects a Broadcast Domain instance (or a
          BT) to an IP- VRF and allows to forward packets with destination in
          a different subnet.</t>

          <t>MAC-VRF: a MAC Virtual Routing and Forwarding table, as defined
          in <xref target="RFC7432"/>. The instantiation of an EVI (EVPN
          Instance) in an NVE. Route Distinghisher (RD) and Route Target(s)
          (RTs) are required properties of a MAC-VRF and they are normally
          different than the ones defined in the associated IP-VRF (if the
          MAC-VRF has an IRB interface).</t>

          <t>NVE: Network Virtualization Edge device, a network entity that
          sits at the edge of an underlay network and implements Layer-2
          and/or Layer-3 network virtualization functions. The network-facing
          side of the NVE uses the underlying Layer-3 network to tunnel tenant
          frames to and from other NVEs. The tenant-facing side of the NVE
          sends and receives Ethernet frames to and from individual Tenant
          Systems. In this document, an NVE could be implemented as a virtual
          switch within a hypervisor, a switch or a router, and runs EVPN in
          the control-plane.</t>

          <t>NVO3 tunnels: Network Virtualization Over Layer-3 tunnels. In
          this document, NVO3 tunnels or simply Overlay tunnels will be used
          interchangeably. Both terms refer to a way to encapsulate tenant
          frames or packets into IP packets whose IP Source Addresses (SA) or
          Destination Addresses (DA) belong to the underlay IP address space,
          and identify NVEs connected to the same underlay network. Examples
          of NVO3 tunnel encapsulations are VXLAN <xref target="RFC7348"/>,
          GENEVE <xref target="RFC8926"/> or MPLSoUDP <xref
          target="RFC7510"/>. </t>

          <t>PE: Provider Edge router.</t>

          <t>PMSI: Provider Multicast Service Interface.</t>

          <t>PTA: Provider Multicast Service Interface Tunnel Attribute.</t>

          <t>RT and RD: Route Target and Route Distinguisher.</t>

          <t>RT-1, RT-2, RT-3, etc.: they refer to Route Type followed by the
          type number as defined in the IANA registry for EVPN route
          types.</t>

          <t>SA and DA: Source Address and Destination Address. They are used
          along with MAC or IP, e.g. IP SA or MAC DA.</t>

          <t>SBD: Supplementary Broadcast Domain. Defined in <xref
          target="RFC9136"/>, it is a Broadcast Domain that does not have any
          Attachment Circuits, only IRB interfaces, and provides connectivity
          among all the IP-VRFs of a tenant in the Interface-ful
          IP-VRF-to-IP-VRF models.</t>

          <t>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,
          firewall, etc. It belongs to a single tenant and connects to one or
          more Broadcast Domains of that tenant.</t>

          <t>VNI: Virtual Network Identifier. Irrespective of the NVO3
          encapsulation, the tunnel header always includes a VNI that is 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 VXLAN
          or GENEVE, VSID in nvGRE or Label in MPLSoGRE or MPLSoUDP. This
          document will refer to VNI as a generic Virtual Network Identifier
          for any NVO3 encapsulation.</t>

          <t>VXLAN: Virtual eXtensible Local Area Network, an NVO3
          encapsulation defined in <xref target="RFC7348"/>.</t>
        </list></t>
    </section>

    <section anchor="sect-3" title="Why is EVPN Needed in NVO3 Networks?">
      <t>Data Centers have adopted NVO3 architectures mostly due to the issues
      discussed in <xref target="RFC7364"/>. The architecture of a Data Center
      is 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 between
      any two leaf nodes. All the links between Leaf and Spine nodes are
      routed links, forming what we also know as an underlay IP Fabric. The
      underlay IP Fabric does not have issues with loops or flooding (like old
      Spanning Tree Data Center designs did), convergence is fast and Equal
      Cost Multi-Path provides a fairly optimal bandwidth utilization on all
      the links.</t>

      <t>On this architecture and as discussed by <xref target="RFC7364"/>,
      multi-tenant intra-subnet and inter-subnet connectivity services are
      provided by NVO3 tunnels, being VXLAN <xref target="RFC7348"/> or GENEVE
      <xref target="RFC8926"/> two examples of such tunnels.</t>

      <t>Why is a control-plane protocol along with NVO3 tunnels required?
      There are three main reasons:</t>

      <t><list style="letters">
          <t>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.</t>

          <t>Dissemination of the MAC/IP host information so that mapping
          tables can be populated on the remote NVEs.</t>

          <t>Advanced features such as MAC Mobility, MAC Protection, BUM and
          ARP/ND traffic reduction/suppression, Multi-homing, Prefix
          Independent Convergence (PIC) like functionality, Fast Convergence,
          etc.</t>
        </list></t>

      <t>A possible approach to achieve points (a) and (b) above for
      multipoint Ethernet services, is "flood and learn". "Flood and learn"
      refers to not using a specific control-plane on the NVEs, but rather
      "flood" BUM traffic from the ingress NVE to all the egress NVEs attached
      to the same Broadcast Domain. The egress NVEs may then use data path
      source MAC address "learning" on the frames received over the NVO3
      tunnels. When the destination host replies back and the frames arrive at
      the NVE that initially flooded BUM frames, the NVE will also "learn" the
      source MAC address of the frame encapsulated on the NVO3 tunnel. This
      approach has the following drawbacks:</t>

      <t><list style="symbols">
          <t>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
          Domain. This may be done as follows:<list style="symbols">
              <t>The remote tunnel IP addresses can be statically provisioned
              on the ingress NVE. If the ingress NVE receives a BUM frame for
              the Broadcast Domain on an ingress Attachment Circuit, it will
              do ingress replication and will send the frame to all the
              configured egress NVE destination IP addresss in the Broadcast
              Domain.</t>

              <t>All the NVEs attached to the same Broadcast Domain can
              subscribe to an underlay IP Multicast Group that is dedicated to
              that Broadcast Domain. When an ingress NVE receives a BUM frame
              on an ingress Attachment Circuit, it will send a single copy of
              the frame encapsulated into an NVO3 tunnel, using the multicast
              address as destination IP address of the tunnel. This solution
              requires Protocol Independent Multicast (PIM) in the underlay
              network and the association of individual Broadcast Domains to
              underlay IP multicast groups.</t>
            </list></t>

          <t>"Flood and learn" solves the issues of auto-discovery and
          learning of the MAC to VNI/tunnel IP mapping on the NVEs for a given
          Broadcast Domain. However, it does not provide a solution for
          advanced features and it does not scale well (mostly due to the need
          for constant flooding and the underlay PIM states that are needed to
          maintain).</t>
        </list></t>

      <t>EVPN provides a unified control-plane that solves the NVE
      auto-discovery, tenant MAP/IP dissemination and advanced features in a
      scalable way and keeping the independence of the underlay IP Fabric,
      i.e., there is no need to enable PIM in the underlay network and
      maintain multicast states for tenant Broadcast Domains.</t>

      <t><xref target="sect-4"/> describes how EVPN can be used to meet the
      control-plane requirements in an NVO3 network.</t>
    </section>

    <section anchor="sect-4" title="Applicability of EVPN to NVO3 Networks">
      <t>This section discusses the applicability of EVPN to NVO3 networks.
      The intent is not to provide a comprehensive explanation of the protocol
      itself but give an introduction and point at the corresponding reference
      document, so that the reader can easily find more details if needed.</t>

      <section anchor="sect-4.1"
               title="EVPN Route Types Used in NVO3 Networks">
        <t>EVPN supports multiple Route Types and each type has a different
        function. For convenience, <xref target="tab-evpn-route-types"/> shows
        a summary of all the existing EVPN route types and its usage. In this
        document we may refer to these route types as RT-x routes, where x is
        the type number included in the first column of <xref
        target="tab-evpn-route-types"/>.</t>

        <texttable anchor="tab-evpn-route-types" style="all"
                   title="EVPN route types">
          <ttcol>Type</ttcol>

          <ttcol>Description</ttcol>

          <ttcol>Usage</ttcol>

          <c>1</c>

          <c>Ethernet Auto-Discovery</c>

          <c>Multi-homing: Per-ES: Mass withdrawal, Per-EVI:
          aliasing/backup</c>

          <c>2</c>

          <c>MAC/IP Advertisement</c>

          <c>Host MAC/IP dissemination, supports MAC mobility and
          protection</c>

          <c>3</c>

          <c>Inclusive Multicast Ethernet Tag</c>

          <c>NVE discovery and BUM flooding tree setup</c>

          <c>4</c>

          <c>Ethernet Segment</c>

          <c>Multi-homing: ES auto-discovery and DF Election</c>

          <c>5</c>

          <c>IP Prefix</c>

          <c>IP Prefix dissemination</c>

          <c>6</c>

          <c>Selective Multicast Ethernet Tag</c>

          <c>Indicate interest for a multicast S,G or *,G</c>

          <c>7</c>

          <c>Multicast Join Synch</c>

          <c>Multi-homing: S,G or *,G state synch</c>

          <c>8</c>

          <c>Multicast Leave Synch</c>

          <c>Multi-homing: S,G or *,G leave synch</c>

          <c>9</c>

          <c>Per-Region I-PMSI A-D</c>

          <c>BUM tree creation across regions</c>

          <c>10</c>

          <c>S-PMSI A-D</c>

          <c>Multicast tree for S,G or *,G states</c>

          <c>11</c>

          <c>Leaf A-D</c>

          <c>Used for responses to explicit tracking</c>
        </texttable>
      </section>

      <section anchor="sect-4.2"
               title="EVPN Basic Applicability for Layer-2 Services">
        <t>Although the applicability of EVPN to NVO3 networks spans multiple
        documents, EVPN's baseline specification is <xref target="RFC7432"/>.
        <xref target="RFC7432"/> allows multipoint layer-2 VPNs to be operated
        as <xref target="RFC4364"/> IP-VPNs, where MACs and the information to
        setup flooding trees are distributed by MP-BGP <xref
        target="RFC4760"/>. Based on <xref target="RFC7432"/>, <xref
        target="RFC8365"/> describes how to use EVPN to deliver Layer-2
        services specifically in NVO3 Networks.</t>

        <t><xref target="ure-evpn-for-l2-in-an-nvo3-network-example"/>
        represents a Layer-2 service deployed with an EVPN Broadcast Domain in
        an NVO3 network.</t>

        <figure anchor="ure-evpn-for-l2-in-an-nvo3-network-example"
                title="EVPN for L2 in an NVO3 Network - example">
          <artwork><![CDATA[
                              +--TS2---+
                              *        | Single-Active
                              *        |   ESI-1
                            +----+  +----+
                            |BD1 |  |BD1 |
              +-------------|    |--|    |-----------+
              |             +----+  +----+           |
              |              NVE2    NVE3          NVE4
              |           EVPN NVO3 Network       +----+
         NVE1(IP-A)                               | BD1|-----+
        +-------------+      RT-2                 |    |     |
        |             |    +-------+              +----+     |
        |   +----+    |    |MAC1   |               NVE5     TS3
 TS1--------|BD1 |    |    |IP1    |              +----+     |
 MAC1   |   +----+    |    |Label L|--->          | BD1|-----+
 IP1    |             |    |NH IP-A|              |    | All-Active
        | Hypervisor  |    +-------+              +----+  ESI-2
        +-------------+                              |
              +--------------------------------------+
]]></artwork>
        </figure>

        <t>In a simple NVO3 network, such as the example of <xref
        target="ure-evpn-for-l2-in-an-nvo3-network-example"/>, these are the
        basic constructs that EVPN uses for Layer-2 services (or Layer-2
        Virtual Networks):</t>

        <t><list style="symbols">
            <t>BD1 is an EVPN Broadcast Domain for a given tenant and TS1, TS2
            and TS3 are connected to it. The five represented NVEs are
            attached to BD1 and are connected to the same underlay IP network.
            That is, each NVE learns the remote NVEs' loopback addresses via
            underlay routing protocol.</t>

            <t>NVE1 is deployed as a virtual switch in a Hypervisor with IP-A
            as underlay loopback IP address. The rest of the NVEs in <xref
            target="ure-evpn-for-l2-in-an-nvo3-network-example"/> are physical
            switches and TS2/TS3 are multi-homed to them. TS1 is a virtual
            machine, identified by MAC1 and IP1. TS2 and TS3 are physically
            dual-connected to NVEs, hence they are normally not considered
            virtual machines.</t>

            <t>The terms Single-Active and All-Active in <xref
            target="ure-evpn-for-l2-in-an-nvo3-network-example"/> refer to the
            mode in which the TS2 and TS3 are multi-homed to the NVEs in BD1.
            In All-Active mode, all the multi-homing links are active and can
            send or receive traffic. In Single-Active mode, only one link (of
            the set of links connected to the NVEs) is active.</t>
          </list></t>

        <section anchor="sect-4.2.1"
                 title="Auto-Discovery and Auto-Provisioning">
          <t>Auto-discovery is one of the basic capabilities of EVPN. The
          provisioning of EVPN components in NVEs is significantly automated,
          simplifying the deployment of services and minimizing manual
          operations that are prone to human error.</t>

          <t>These are some of the Auto-Discovery and Auto-Provisioning
          capabilities available in EVPN:</t>

          <t><list style="symbols">
              <t>Automation on Ethernet Segments (ES): an Ethernet Segment is
              defined as a group of NVEs that are attached to the same Tenant
              System or network. An Ethernet Segment is identified by an
              Ethernet Segment Identifier (ESI) in the control plane, but
              neither the ESI nor the NVEs that share the same Ethernet
              Segment are required to be manually provisioned in the local
              NVE:<list style="symbols">
                  <t>If the multi-homed Tenant System or network are running
                  protocols such as LACP (Link Aggregation Control Protocol)
                  <xref target="IEEE.802.1AX_2014"/>, MSTP (Multiple-instance
                  Spanning Tree Protocol), G.8032, etc. and all the NVEs in
                  the Ethernet Segment can listen to the protocol PDUs to
                  uniquely identify the multi-homed Tenant System/network,
                  then the ESI can be "auto-sensed" or "auto-provisioned"
                  following the guidelines in <xref target="RFC7432"/> section
                  5. The ESI can also be auto-derived out of other parameters
                  that are common to all NVEs attached to the same Ethernet
                  Segment.</t>

                  <t>As described in <xref target="RFC7432"/>, EVPN can also
                  auto-derive the BGP parameters required to advertise the
                  presence of a local Ethernet Segment in the control plane
                  (RT and RD). Local Ethernet Segments are advertised using
                  Ethernet Segment routes and the ESI-import Route-Target used
                  by Ethernet Segment routes can be auto-derived based on the
                  procedures of <xref target="RFC7432"/>, section 7.6.</t>

                  <t>By listening to other Ethernet Segment routes that match
                  the local ESI and import Route Target, an NVE can also
                  auto-discover the other NVEs participating in the
                  multi-homing for the Ethernet Segment.</t>

                  <t>Once the NVE has auto-discovered all the NVEs attached to
                  the same Ethernet Segment, the NVE can automatically perform
                  the Designated Forwarder Election algorithm (which
                  determines the NVE that will forward traffic to the
                  multi-homed Tenant System/network). EVPN guarantees that all
                  the NVEs in the Ethernet Segment have a consistent
                  Designated Forwarder Election.</t>
                </list></t>

              <t>Auto-provisioning of services: when deploying a Layer-2
              Service 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 for the subnet, as well as certain parameters
              for them. Note that, if the EVPN service model is VLAN-based or
              VLAN-bundle, implementations do not normally have a specific
              provisioning for the Broadcast Domain (since it is in that case
              the same construct as the MAC-VRF). EVPN allows auto-deriving as
              many MAC-VRF parameters as possible. As an example, the
              MAC-VRF's Route Target and Route Distinguisher for the EVPN
              routes may be auto-derived. Section 5.1.2.1 in <xref
              target="RFC8365"/> specifies how to auto-derive a MAC-VRF's
              Route Target as long as VLAN-based service model is implemented.
              <xref target="RFC7432"/> specifies how to auto-derive the Route
              Distinguisher.</t>
            </list></t>
        </section>

        <section anchor="sect-4.2.2" title="Remote NVE Auto-Discovery">
          <t>Auto-discovery via MP-BGP <xref target="RFC4760"/> is used to
          discover the remote NVEs attached to a given Broadcast Domain, the
          NVEs participating in a given redundancy group, the tunnel
          encapsulation types supported by an NVE, etc.</t>

          <t>In particular, when a new MAC-VRF and Broadcast Domain are
          enabled, the NVE will advertise a new Inclusive Multicast Ethernet
          Tag route. Besides other fields, the Inclusive Multicast Ethernet
          Tag route will 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 Tunnel Attribute (PTA) that indicates the
          information about the intended way to deliver BUM traffic for the
          Broadcast Domain.</t>

          <t>In the example of <xref
          target="ure-evpn-for-l2-in-an-nvo3-network-example"/>, when BD1 is
          enabled, NVE1 will send an Inclusive Multicast Ethernet Tag route
          including its own IP address, Ethernet-Tag for BD1 and the PMSI
          Tunnel Attribute to the remote NVEs. Assuming Ingress Replication
          (IR) is used, the Inclusive Multicast Ethernet Tag route will
          include an identification for Ingress Replication in the PMSI Tunnel
          Attribute and the Virtual Network Identifier that the other NVEs in
          the Broadcast Domain must use to send BUM traffic to the advertising
          NVE. The other NVEs in the Broadcast Domain will import the
          Inclusive Multicast Ethernet Tag route and will add NVE1's IP
          address to the flooding list for BD1. Note that the Inclusive
          Multicast Ethernet Tag route is also sent with a BGP encapsulation
          attribute <xref target="RFC9012"/> that indicates what NVO3
          encapsulation the remote NVEs should use when sending BUM traffic to
          NVE1.</t>

          <t>Refer to <xref target="RFC7432"/> for more information about the
          Inclusive Multicast Ethernet Tag route and forwarding of BUM
          traffic, and to <xref target="RFC8365"/> for its considerations on
          NVO3 networks.</t>
        </section>

        <section anchor="sect-4.2.3"
                 title="Distribution of Tenant MAC and IP Information">
          <t>Tenant MAC/IP information is advertised to remote NVEs using
          MAC/IP Advertisement routes. Following the example of <xref
          target="ure-evpn-for-l2-in-an-nvo3-network-example"/>:</t>

          <t><list style="symbols">
              <t>In a given EVPN Broadcast Domain, Tenant Systems' MAC
              addresses are first learned at the NVE they are attached to, via
              data path or management plane learning. In <xref
              target="ure-evpn-for-l2-in-an-nvo3-network-example"/> we assume
              NVE1 learns MAC1/IP1 in the management plane (for instance, via
              Cloud Management System) since the NVE is a virtual switch.
              NVE2, NVE3, NVE4 and NVE5 are TOR/Leaf switches and they
              normally learn MAC addresses via data path.</t>

              <t>Once NVE1's BD1 learns MAC1/IP1, NVE1 advertises that
              information along with a Virtual Network Identifier and Next Hop
              IP-A in an MAC/IP Advertisement route. The EVPN routes are
              advertised using the Route Distinguisher/Route Targets of the
              MAC-VRF where the Broadcast Domain belongs. All the NVEs in BD1
              learn local MAC/IP addresses and advertise them in MAC/IP
              Advertisement routes in a similar way.</t>

              <t>The remote NVEs can then add MAC1 to their mapping table for
              BD1 (BT). For instance, when TS3 sends frames to NVE4 with
              destination MAC address = MAC1, NVE4 does a MAC lookup on the
              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 destination IP address and L as the Virtual Network
              Identifier. Note that the MAC/IP Advertisement route may also
              contain the host's IP address (as in the example of <xref
              target="ure-evpn-for-l2-in-an-nvo3-network-example"/>). While
              the MAC of the received MAC/IP Advertisement route is installed
              in the Bridge Table, the IP address may be installed in the
              Proxy-ARP/ND table (if enabled) or in the ARP/IP-VRF tables if
              the Broadcast Domain has an IRB. See <xref target="sect-4.7.3"/>
              to see more information about Proxy-ARP/ND and <xref
              target="sect-4.3"/>. for more details about IRB and Layer-3
              services.</t>
            </list></t>

          <t>Refer to <xref target="RFC7432"/> and <xref target="RFC8365"/>
          for more information about the MAC/IP Advertisement route and
          forwarding of known unicast traffic.</t>
        </section>
      </section>

      <section anchor="sect-4.3"
               title="EVPN Basic Applicability for Layer-3 Services">
        <t><xref target="RFC9136"/> and <xref target="RFC9135"/> are the
        reference documents that describe how EVPN can be used for Layer-3
        services. Inter Subnet Forwarding in EVPN networks is implemented via
        IRB interfaces between Broadcast Domains and IP-VRFs. An EVPN
        Broadcast Domain corresponds to an IP subnet. When IP packets
        generated in a Broadcast Domain are destined to a different subnet
        (different Broadcast Domain) of the same tenant, the packets are sent
        to the IRB attached to the local Broadcast Domain in the source NVE.
        As discussed in <xref target="RFC9135"/>, depending on how the IP
        packets are forwarded between the ingress NVE and the egress NVE,
        there are two forwarding models: Asymmetric and Symmetric model.</t>

        <t>The Asymmetric model is illustrated in the example of <xref
        target="ure-evpn-for-l3-in-an-nvo3-network-asymmetric-model"/> and it
        requires the configuration of all the Broadcast Domains of the tenant
        in all the NVEs attached to the same tenant. In that way, there is no
        need to advertise IP Prefixes between NVEs since all the NVEs are
        attached to all the subnets. It is called Asymmetric because the
        ingress and egress NVEs do not perform the same number of lookups in
        the data plane. In <xref
        target="ure-evpn-for-l3-in-an-nvo3-network-asymmetric-model"/>, if TS1
        and TS2 are in different 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 lookup (on the IP-VRF) and a MAC lookup (on BD2's
        table) at the ingress NVE1 and then only a MAC lookup at the egress
        NVE. The two IP-VRFs in <xref
        target="ure-evpn-for-l3-in-an-nvo3-network-asymmetric-model"/> are not
        connected by tunnels and all the connectivity between the NVEs is done
        based on tunnels between the Broadcast Domains.</t>

        <figure anchor="ure-evpn-for-l3-in-an-nvo3-network-asymmetric-model"
                title="EVPN for L3 in an NVO3 Network - Asymmetric model">
          <artwork><![CDATA[
               +-------------------------------------+
               |             EVPN NVO3               |
               |                                     |
             NVE1                                 NVE2
       +--------------------+            +--------------------+
       | +---+IRB +------+  |            |  +------+IRB +---+ |
 TS1-----|BD1|----|IP-VRF|  |            |  |IP-VRF|----|BD1| |
       | +---+    |      |  |            |  |      |    +---+ |
       | +---+    |      |  |            |  |      |    +---+ |
       | |BD2|----|      |  |            |  |      |----|BD2|----TS2
       | +---+IRB +------+  |            |  +------+IRB +---+ |
       +--------------------+            +--------------------+
               |                                     |
               +-------------------------------------+
]]></artwork>
        </figure>

        <t>In the Symmetric model, depicted in <xref
        target="ure-evpn-for-l3-in-an-nvo3-network-symmetric-model"/>, the
        same number of data 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 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 respectively. In the Symmetric model, the Inter Subnet
        connectivity between NVEs is done based on tunnels between the
        IP-VRFs.</t>

        <figure anchor="ure-evpn-for-l3-in-an-nvo3-network-symmetric-model"
                title="EVPN for L3 in an NVO3 Network - Symmetric model">
          <artwork><![CDATA[
               +-------------------------------------+
               |             EVPN NVO3               |
               |                                     |
             NVE1                                 NVE2
       +--------------------+            +--------------------+
       | +---+IRB +------+  |            |  +------+IRB +---+ |
 TS1-----|BD1|----|IP-VRF|  |            |  |IP-VRF|----|BD3|-----TS3
       | +---+    |      |  |            |  |      |    +---+ |
       | +---+IRB |      |  |            |  +------+          |
 TS2-----|BD2|----|      |  |            +--------------------+
       | +---+    +------+  |                        |
       +--------------------+                        |
               |                                     |
               +-------------------------------------+
]]></artwork>
        </figure>

        <t>The Symmetric model scales better than the Asymmetric model because
        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
        and the exchange of IP Prefixes between the NVEs in the control plane.
        EVPN uses MAC/IP Advertisement and IP Prefix routes for the exchange
        of host IP routes (in the case of the MAC/IP Advertisement and the IP
        Prefix routes) and IP Prefixes (IP Prefix routes) of any length. As an
        example, in <xref
        target="ure-evpn-for-l3-in-an-nvo3-network-symmetric-model"/>, NVE2
        needs to advertise TS3's host route and/or TS3's subnet, so that the
        IP lookup on NVE1's IP- VRF succeeds.</t>

        <t><xref target="RFC9135"/> specifies the use of MAC/IP Advertisement
        routes for the advertisement of host routes. Section 4.4.1 in <xref
        target="RFC9136"/> specifies 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 host routes can be implemented
        following either approach:</t>

        <t><list style="letters">
            <t><xref target="RFC9135"/> uses MAC/IP Advertisement routes to
            convey the information to populate Layer-2, ARP/ND and Layer-3
            Forwarding Information Base tables in the remote NVE. For
            instance, in <xref
            target="ure-evpn-for-l3-in-an-nvo3-network-symmetric-model"/>,
            NVE2 would advertise a MAC/IP Advertisement route with TS3's IP
            and MAC addresses, and including two labels/Virtual Network
            Identifiers: a label-3/VNI-3 that identifies BD3 for MAC lookup
            (that would be used for Layer-2 traffic in case NVE1 was attached
            to BD3 too) and a label-1/VNI-1 that identifies the IP-VRF for IP
            lookup (and will be used for Layer-3 traffic). NVE1 imports the
            MAC/IP Advertisement route and installs TS3's IP in the IP-VRF
            route table with label-1/VNI-1. Traffic from e.g., TS2 to TS3,
            will be encapsulated with label-1/VNI-1 and forwarded to NVE2.</t>

            <t><xref target="RFC9136"/> uses MAC/IP Advertisement routes to
            convey the information to populate the Layer-2 Forwarding
            Information Base and ARP/ND tables, and IP Prefix routes to
            populate the IP-VRF Layer-3 Forwarding Information Base table. For
            instance, in <xref
            target="ure-evpn-for-l3-in-an-nvo3-network-symmetric-model"/>,
            NVE2 would advertise a MAC/IP Advertisement route including TS3's
            MAC and IP addresses with a single label-3/VNI-3. In this example,
            this MAC/IP Advertisement route wouldn't be imported by NVE1
            because NVE1 is not attached to BD3. In addition, NVE2 would
            advertise a IP Prefix route with TS3's IP address and
            label-1/VNI-1. This IP Prefix route would be imported by NVE1's
            IP-VRF and the host route installed in the Layer-3 Forwarding
            Information Base associated to label-1/VNI-1. Traffic from TS2 to
            TS3 would be encapsulated with label-1/VNI-1.</t>
          </list></t>
      </section>

      <section anchor="sect-4.4"
               title="EVPN as Control Plane for NVO3 Encapsulations and GENEVE">
        <t><xref target="RFC8365"/> describes how to use EVPN for NVO3
        encapsulations, such us VXLAN, nvGRE or MPLSoGRE. The procedures can
        be easily applicable to any other NVO3 encapsulation, in particular
        GENEVE.</t>

        <t>The Generic Network Virtualization Encapsulation <xref
        target="RFC8926"/> has been recommended to be the proposed standard
        for NVO3 Encapsulation. The EVPN control plane can signal the GENEVE
        encapsulation type in the BGP Tunnel Encapsulation Extended Community
        (see <xref target="RFC9012"/>).</t>

        <t>The NVO3 encapsulation design team has made a recommendation in
        <xref target="I-D.ietf-nvo3-encap"/> for a control plane to:</t>

        <t><list style="numbers">
            <t>Negotiate a subset of GENEVE option TLVs that can be carried on
            a GENEVE tunnel</t>

            <t>Enforce an order for GENEVE option TLVs and</t>

            <t>Limit the total number of options that could be carried on a
            GENEVE tunnel.</t>
          </list></t>

        <t>The EVPN control plane can easily extend the BGP Tunnel
        Encapsulation Attribute sub-TLV <xref target="RFC9012"/> to specify
        the GENEVE tunnel options that can be received or transmitted over a
        GENEVE tunnels by a given NVE. <xref
        target="I-D.ietf-bess-evpn-geneve"/> describes the EVPN control plane
        extensions to support GENEVE.</t>
      </section>

      <section anchor="sect-4.5" title="EVPN OAM and Application to NVO3">
        <t>EVPN OAM (as in <xref target="I-D.ietf-bess-evpn-lsp-ping"/>)
        defines mechanisms to detect data plane failures in an EVPN deployment
        over an MPLS network. These mechanisms detect failures related to P2P
        and P2MP connectivity, for multi-tenant unicast and 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.</t>

        <t>In general, EVPN OAM mechanisms defined for EVPN deployed in MPLS
        networks are equally applicable for EVPN in NVO3 networks.</t>
      </section>

      <section anchor="sect-4.6"
               title="EVPN as the Control Plane for NVO3 Security">
        <t>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
        GENEVE packet as an example) can be protected by the sender NVE, to
        ensure the privacy and integrity of tenant traffic carried over the
        NVO3 tunnels <xref target="I-D.sajassi-bess-secure-evpn"/>.</t>
      </section>

      <section anchor="sect-4.7"
               title="Advanced EVPN Features for NVO3 Networks">
        <t>This section describes how EVPN can be used to deliver advanced
        capabilities in NVO3 networks.</t>

        <section anchor="sect-4.7.1" title="Virtual Machine (VM) Mobility">
          <t><xref target="RFC7432"/> replaces the traditional Ethernet
          Flood-and-Learn behavior among NVEs with BGP-based MAC learning,
          which in return provides more control over the location of MAC
          addresses in the Broadcast Domain and consequently advanced
          features, such as MAC Mobility. If we assume that VM Mobility means
          the VM's MAC and IP addresses move with the VM, EVPN's MAC Mobility
          is the required procedure that facilitates VM Mobility. According to
          <xref target="RFC7432"/> section 15, when a MAC is advertised for
          the first time in a Broadcast Domain, all the NVEs attached to the
          Broadcast Domain will store Sequence Number zero for that MAC. When
          the MAC "moves" within the same Broadcast Domain but to a remote
          NVE, the NVE that just learned locally the MAC, increases the
          Sequence Number in the MAC/IP Advertisement route's MAC Mobility
          extended community to indicate that it owns the MAC now. That makes
          all the NVE in the Broadcast Domain change their tables immediately
          with no need to wait for any aging timer. EVPN guarantees a fast MAC
          Mobility without flooding or black-holes in the Broadcast
          Domain.</t>
        </section>

        <section anchor="sect-4.7.2"
                 title="MAC Protection, Duplication Detection and Loop Protection">
          <t>The advertisement of MACs in the control plane, allows advanced
          features such as MAC protection, Duplication Detection and Loop
          Protection.</t>

          <t><xref target="RFC7432"/> MAC Protection refers to EVPN's ability
          to indicate - in a MAC/IP Advertisement route - that a MAC must be
          protected by the NVE receiving the route. The Protection is
          indicated in the "Sticky bit" of the MAC Mobility extended community
          sent along the MAC/IP Advertisement route for a MAC. NVEs'
          Attachment Circuits that are connected to subject-to-be-protected
          servers or VMs, may set the Sticky bit on the MAC/IP Advertisement
          routes sent for the MACs associated to the Attachment Circuits.
          Also, statically configured MAC addresses should be advertised as
          Protected MAC addresses, since they are not subject to MAC Mobility
          procedures.</t>

          <t><xref target="RFC7432"/> MAC Duplication Detection refers to
          EVPN's ability to detect duplicate MAC addresses. A "MAC move" is a
          relearn event that happens at an access Attachment Circuit or
          through a MAC/IP 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 an M-second window between two NVEs, the MAC is
          declared as Duplicate and the detecting NVE does not re-advertise
          the MAC anymore.</t>

          <t><xref target="RFC7432"/> provides MAC Duplication Detection, and
          with an extension it can protect the Broadcast Domain against loops
          created by backdoor links between NVEs. The same principle (based on
          the Sequence Number) may be extended to protect the Broadcast Domain
          against loops. When a MAC is detected as duplicate, the NVE may
          install it as a black-hole MAC and drop received frames with source
          MAC address and destination MAC address matching that duplicate MAC.
          The MAC Duplication extension to support Loop Protection is
          described in <xref target="I-D.ietf-bess-rfc7432bis"/>.</t>
        </section>

        <section anchor="sect-4.7.3"
                 title="Reduction/Optimization of BUM Traffic in Layer-2 Services">
          <t>In Broadcast Domains with a significant amount of flooding due to
          Unknown unicast and Broadcast frames, EVPN may help reduce and
          sometimes even suppress the flooding.</t>

          <t>In Broadcast Domains where most of the Broadcast traffic is
          caused by ARP (Address Resolution Protocol) and ND (Neighbor
          Discovery) protocols on the Tenant Systems, EVPN's Proxy-ARP and
          Proxy-ND capabilities may reduce the flooding drastically. The use
          of Proxy-ARP/ND is specified in <xref target="RFC9161"/>.</t>

          <t>Proxy-ARP/ND procedures along with the assumption that Tenant
          Systems always issue a GARP (Gratuitous ARP) or an unsolicited
          Neighbor Advertisement message when they come up in the Broadcast
          Domain, may drastically reduce the unknown unicast flooding in the
          Broadcast Domain.</t>

          <t>The flooding caused by Tenant Systems' IGMP/MLD or PIM messages
          in the Broadcast Domain may also be suppressed by the use of
          IGMP/MLD and PIM Proxy functions, as specified in <xref
          target="RFC9251"/> and <xref target="I-D.skr-bess-evpn-pim-proxy"/>.
          These two documents also specify how to forward IP multicast traffic
          efficiently within the same Broadcast Domain, translate soft state
          IGMP/MLD/PIM messages into hard state BGP routes and provide
          fast-convergence redundancy for IP Multicast on multi-homed Ethernet
          Segments (ESes).</t>
        </section>

        <section anchor="sect-4.7.4"
                 title="Ingress Replication (IR) Optimization for BUM Traffic">
          <t>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 same Broadcast Domain, Ingress Replication is a very common
          option in NVO3 networks, since it is completely independent of the
          multicast capabilities of the underlay network. Also, if the
          optimization procedures to reduce/suppress the flooding in the
          Broadcast Domain are enabled (<xref target="sect-4.7.3"/>), in spite
          of creating multiple copies of the same frame at the ingress NVE,
          Ingress Replication may be good enough. However, in Broadcast
          Domains where Multicast (or Broadcast) traffic is significant,
          Ingress Replication may be very inefficient and cause performance
          issues on virtual-switch-based NVEs.</t>

          <t><xref target="I-D.ietf-bess-evpn-optimized-ir"/> specifies the
          use of AR (Assisted Replication) NVO3 tunnels in EVPN Broadcast
          Domains. AR retains the independence of the underlay network while
          providing a way to forward Broadcast and Multicast traffic
          efficiently. AR uses AR-REPLICATORs that can replicate the
          Broadcast/Multicast traffic on behalf of the AR-LEAF NVEs. The
          AR-LEAF NVEs are typically virtual-switches or NVEs with limited
          replication capabilities. AR can work in a single-stage replication
          mode (Non-Selective Mode) or in a dual-stage replication mode
          (Selective Mode). Both modes are detailed in <xref
          target="I-D.ietf-bess-evpn-optimized-ir"/>.</t>

          <t>In addition, <xref target="I-D.ietf-bess-evpn-optimized-ir"/>
          also describes a procedure to avoid sending Broadcast, Multicast or
          Unknown unicast to certain NVEs that do not need that type of
          traffic. This is done by enabling PFL (Pruned Flood Lists) on a
          given Broadcast Domain. For instance, an virtual-switch NVE that
          learns all its local MAC addresses for a Broadcast Domain via Cloud
          Management System, does not need to receive the Broadcast Domain's
          Unknown unicast traffic. Pruned Flood Lists help optimize the BUM
          flooding in the Broadcast Domain.</t>
        </section>

        <section anchor="sect-4.7.5" title="EVPN Multi-Homing">
          <t>Another fundamental concept in EVPN is multi-homing. A given
          Tenant System can be multi-homed to two or more NVEs for a given
          Broadcast Domain, and the set of links connected to the same Tenant
          System is defined as Ethernet Segment (ES). EVPN supports
          single-active and all-active multi-homing. In single-active
          multi-homing only one link in the Ethernet Segment is active. In
          all-active multi-homing all the links in the Ethernet Segment are
          active for unicast traffic. Both modes support load-balancing:</t>

          <t><list style="symbols">
              <t>Single-active multi-homing means per-service load-balancing
              to/from the Tenant System. For example, in <xref
              target="ure-evpn-for-l2-in-an-nvo3-network-example"/>, for BD1,
              only one of the NVEs can forward traffic from/to TS2. For a
              different Broadcast Domain, the other NVE may forward
              traffic.</t>

              <t>All-active multi-homing means per-flow load-balanding for
              unicast frames to/from the Tenant System. That is, in <xref
              target="ure-evpn-for-l2-in-an-nvo3-network-example"/> and for
              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 to TS3, and both can forward traffic from
              TS3.</t>
            </list>There are two key aspects in the EVPN multi-homing
          procedures:</t>

          <t><list style="symbols">
              <t>DF (Designated Forwarder) election: the Designated Forwarder
              is the NVE that forwards the traffic to the Ethernet Segment in
              single-active mode. In case of all-active, the Designated
              Forwarder is the NVE that forwards the BUM traffic to the
              Ethernet Segment.</t>

              <t>Split-horizon function: prevents the Tenant System from
              receiving echoed BUM frames that the Tenant System itself sent
              to the Ethernet Segment. This is especially relevant in
              all-active Ethernet Segments, where the Tenant System may
              forward BUM frames to a non-Designated Forwarder NVE that can
              flood the BUM frames back to the Designated Forwarder NVE and
              then the Tenant System. As an example, in <xref
              target="ure-evpn-for-l2-in-an-nvo3-network-example"/>, assuming
              NVE4 is the Designated Forwarder for ES-2 in BD1, BUM frames
              sent from TS3 to NVE5 will be received at NVE4 and, since NVE4
              is the Designated Forwarder for DB1, it will forward them back
              to TS3. Split-horizon allows NVE4 (and any multi-homed NVE for
              that matter) to identify if an EVPN BUM frame is coming from the
              same Ethernet Segment or different, and if the frame belongs to
              the same ES2, NVE4 will not forward the BUM frame to TS3, in
              spite of being the Designated Forwarder.</t>
            </list></t>

          <t>While <xref target="RFC7432"/> describes the default algorithm
          for the Designated Forwarder Election, <xref target="RFC8584"/> and
          <xref target="I-D.ietf-bess-evpn-pref-df"/> specify other algorithms
          and procedures that optimize the Designated Forwarder Election.</t>

          <t>The Split-horizon function is specified in <xref
          target="RFC7432"/> and it is 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 Ethernet Segment. Since the
          ESI-label is an MPLS label, it cannot be used in all the non-MPLS
          NVO3 encapsulations, therefore <xref target="RFC8365"/> defines a
          modified Split-horizon procedure that is based on the source IP
          address of the NVO3 tunnel, and it is known as "Local-Bias". It is
          worth noting that Local-Bias only works for all-active multi-homing,
          and not for single-active multi-homing.</t>
        </section>

        <section anchor="sect-4.7.6"
                 title="EVPN Recursive Resolution for Inter-Subnet Unicast Forwarding">
          <t><xref target="sect-4.3"/> describes how EVPN can be used for
          Inter Subnet Forwarding among subnets of the same tenant. MAC/IP
          Advertisement routes and IP Prefix routes allow the advertisement of
          host routes and IP Prefixes (IP Prefix route) of any length. The
          procedures outlined by <xref target="sect-4.3"/> are similar to the
          ones in <xref target="RFC4364"/>, only for NVO3 tunnels. However,
          <xref target="RFC9136"/> also defines advanced Inter Subnet
          Forwarding procedures that allow the resolution of IP Prefix routes
          to not only BGP next-hops but also "overlay indexes" that can be a
          MAC, a GW IP or an ESI, all of them in the tenant space.</t>

          <t><xref target="ure-evpn-for-l3-recursive-resolution-example"/>
          illustrates an example that uses Recursive Resolution to a GW-IP as
          per <xref target="RFC9136"/> section 4.4.2. In this example, IP-VRFs
          in NVE1 and NVE2 are connected by a SBD (Supplementary Broadcast
          Domain). An SBD is a Broadcast Domain that connects all the IP-VRFs
          of the same tenant, via IRB, and has no Attachment Circuits. NVE1
          advertises the host route TS2-IP/L (IP address and Prefix Length of
          TS2) in an IP Prefix route with overlay index GWIP=IP1. Also, IP1 is
          advertised in an MAC/IP Advertisement route associated to M1, 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 GWIP 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 DA=TS2, NVE2
          will perform a Recursive Resolution of the IP Prefix route prefix
          information to the forwarding information of the correlated MAC/IP
          Advertisement route. The IP Prefix route's Recursive Resolution has
          several advantages such as better convergence in scaled networks
          (since multiple IP Prefix routes can be invalidated with a single
          withdrawal of the overlay index route) or the ability to advertise
          multiple IP Prefix routes from an overlay index that can move or
          change dynamically. <xref target="RFC9136"/> describes a few
          use-cases.</t>

          <figure anchor="ure-evpn-for-l3-recursive-resolution-example"
                  title="EVPN for L3 - Recursive Resolution example">
            <artwork><![CDATA[
               +-------------------------------------+
               |             EVPN NVO3               |
               |                                     +
             NVE1                                 NVE2
       +--------------------+            +--------------------+
       | +---+IRB +------+  |            |  +------+IRB +---+ |
 TS1-----|BD1|----|IP-VRF|  |            |  |IP-VRF|----|BD3|-----TS3
       | +---+    |      |-(SBD)------(SBD)-|      |    +---+ |
       | +---+IRB |      |IRB(IP1/M1)    IRB+------+          |
 TS2-----|BD2|----|      |  |            +-----------+--------+
       | +---+    +------+  |                        |
       +--------------------+                        |
               |   RT-2(M1,IP1,VNI-S,NVE1)-->        |
               |     RT-5(TS2-IP/L,GWIP=IP1)-->      |
               +-------------------------------------+
]]></artwork>
          </figure>
        </section>

        <section anchor="sect-4.7.7"
                 title="EVPN Optimized Inter-Subnet Multicast Forwarding">
          <t>The concept of the Supplementary Broadcast Domain described in
          <xref target="sect-4.7.6"/> is also used in <xref
          target="I-D.ietf-bess-evpn-irb-mcast"/> for the procedures related
          to Inter Subnet Multicast Forwarding across Broadcast Domains of the
          same tenant. For instance, <xref
          target="I-D.ietf-bess-evpn-irb-mcast"/> allows the efficient
          forwarding of IP multicast traffic from any Broadcast Domain to any
          other Broadcast Domain (or even to the same Broadcast Domain where
          the Source resides). The <xref
          target="I-D.ietf-bess-evpn-irb-mcast"/> procedures are supported
          along with EVPN multi-homing, and for any tree allowed on NVO3
          networks, including IR or AR. <xref
          target="I-D.ietf-bess-evpn-irb-mcast"/> also describes the
          interoperability between EVPN and other multicast technologies such
          as MVPN (Multicast VPN) and PIM for inter-subnet multicast.</t>

          <t><xref target="I-D.ietf-bess-evpn-mvpn-seamless-interop"/>
          describes another potential solution to support EVPN to MVPN
          interoperability.</t>
        </section>

        <section anchor="sect-4.7.8" title="Data Center Interconnect (DCI)">
          <t>Tenant Layer-2 and Layer-3 services deployed on NVO3 networks
          must be extended to remote NVO3 networks that are connected via
          non-NOV3 Wide Area Networks (mostly MPLS based Wide Area Networks).
          <xref target="RFC9014"/> defines some architectural models that can
          be used to interconnect NVO3 networks via MPLS Wide Area
          Networks.</t>

          <t>When NVO3 networks are connected by MPLS Wide Area Networks,
          <xref target="RFC9014"/> specifies how EVPN can be used end-to-end,
          in spite of using a different encapsulation in the Wide Area
          Network. <xref target="RFC9014"/> also supports the use of NVO3 or
          Segment Routing (encoding 32-bit or 128-bit Segment Identifiers into
          labels or IPv6 addresses respectively) transport tunnels in the Wide
          Area Network.</t>

          <t>Even if EVPN can also be used in the Wide Area Network for
          Layer-2 and Layer-3 services, there may be a need to provide a
          Gateway function between EVPN for NVO3 encapsulations and IPVPN for
          MPLS tunnels, if the operator uses IPVPN in the Wide Area Network.
          <xref target="I-D.ietf-bess-evpn-ipvpn-interworking"/> specifies the
          interworking function between EVPN and IPVPN for unicast Inter
          Subnet Forwarding. If Inter Subnet Multicast Forwarding is also
          needed across an IPVPN Wide Area Network, <xref
          target="I-D.ietf-bess-evpn-irb-mcast"/> describes the required
          interworking between EVPN and MVPN (Multicast Virtual Private
          Networks).</t>
        </section>
      </section>
    </section>

    <section anchor="sect-5" title="Conclusion">
      <t>EVPN provides a unified control-plane that solves the NVE
      auto-discovery, tenant MAP/IP dissemination and advanced features
      required by NVO3 networks, in a scalable way and keeping the
      independence of the underlay IP Fabric, i.e. there is no need to enable
      PIM in the underlay network and maintain multicast states for tenant
      Broadcast Domains.</t>

      <t>This document justifies the use of EVPN for NVO3 networks, discusses
      its applicability to basic Layer-2 and Layer-3 connectivity
      requirements, as well as advanced features such as MAC-mobility, MAC
      Protection and Loop Protection, multi-homing, DCI and much more.</t>
    </section>

    <section anchor="sect-6" title="Conventions Used in this Document">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
      "OPTIONAL" in this document are to be interpreted as described in BCP 14
      <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when,
      they appear in all capitals, as shown here.</t>
    </section>

    <section anchor="sect-7" title="Security Considerations">
      <t>This document does not introduce any new procedure or additional
      signaling in EVPN, and relies on the security considerations of the
      individual specifications used as a reference throughout the document.
      In particular, and as mentioned in <xref target="RFC7432"/>, control
      plane and forwarding path protection are aspects to secure in any EVPN
      domain, when applied to NVO3 networks.</t>

      <t><xref target="RFC7432"/> mentions security techniques such as those
      discussed in <xref target="RFC5925"/> to authenticate BGP messages, and
      those included in <xref target="RFC4271"/>, <xref target="RFC4272"/> and
      <xref target="RFC6952"/> to secure BGP are relevant for EVPN in NVO3
      networks as well.</t>
    </section>

    <section anchor="sect-8" title="IANA Considerations">
      <t>None.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      &RFC7432;

      &RFC7365;

      &RFC7364;

      &RFC2119;

      &RFC8174;
    </references>

    <references title="Informative References">
      &RFC9136;

      &RFC9135;

      &RFC8365;

      &RFC8926;

      &I-D.ietf-nvo3-encap;

      &RFC9012;

      &I-D.ietf-bess-evpn-lsp-ping;

      &RFC9161;

      &RFC9251;

      &I-D.skr-bess-evpn-pim-proxy;

      &I-D.ietf-bess-evpn-optimized-ir;

      &RFC8584;

      &I-D.ietf-bess-evpn-pref-df;

      &I-D.ietf-bess-evpn-irb-mcast;

      &RFC9014;

      &I-D.ietf-bess-evpn-ipvpn-interworking;

      &RFC7348;

      &RFC7510;

      &RFC4364;

      <reference anchor="CLOS1953">
        <front>
          <title>A Study of Non-Blocking Switching Networks</title>

          <author fullname="C. Clos" initials="C." surname="Clos">
            <organization>The Bell System Technical Journal, Vol. 32(2), DOI
            10.1002/j.1538- 7305.1953.tb01433.x</organization>
          </author>

          <date month="March" year="1953"/>
        </front>
      </reference>

      &I-D.ietf-bess-evpn-geneve;

      &I-D.ietf-bess-evpn-mvpn-seamless-interop;

      &I-D.sajassi-bess-secure-evpn;

      &RFC5925;

      &RFC4271;

      &RFC4272;

      &RFC6952;

      &RFC4760;

      &I-D.ietf-bess-rfc7432bis;

      <reference anchor="IEEE.802.1AX_2014">
        <front>
          <title>IEEE Standard for Local and metropolitan area networks --
          Link Aggregation</title>

          <author fullname="IEEE">
            <organization>IEEE 802.1AX-2014, DOI
            10.1109/IEEESTD.2014.7055197</organization>
          </author>

          <date day="24" month="December" year="2014"/>
        </front>
      </reference>
    </references>

    <section anchor="sect-10" title="Acknowledgments">
      <t>The authors want to thank Aldrin Isaac for his comments.</t>
    </section>

    <section anchor="sect-11" title="Contributors"/>

    <section anchor="sect-12" title="Authors' Addresses"/>
  </back>
</rfc>
