Internet Engineering Task Force (IETF)                   J. Rabadan, Ed.
Request for Comments: 9574                                  S. Sathappan
Category: Standards Track                                          Nokia
ISSN: 2070-1721                                                   W. Lin
                                                       Juniper Networks
                                                             M. Katiyar
                                                         Versa Networks
                                                             A. Sajassi
                                                          Cisco Systems
                                                               May 2024


   Optimized Ingress Replication Solution for Ethernet VPNs (EVPNs)

Abstract

  Network Virtualization Overlay (NVO) networks using Ethernet VPNs
  (EVPNs) as their control plane may use trees based on ingress
  replication or Protocol Independent Multicast (PIM) to convey the
  overlay Broadcast, Unknown Unicast, or Multicast (BUM) traffic.  PIM
  provides an efficient solution that prevents sending multiple copies
  of the same packet over the same physical link; however, it may not
  always be deployed in the NVO network core.  Ingress replication
  avoids the dependency on PIM in the NVO network core.  While ingress
  replication provides a simple multicast transport, some NVO networks
  with demanding multicast applications require a more efficient
  solution without PIM in the core.  This document describes a solution
  to optimize the efficiency of ingress replication trees.

Status of This Memo

  This is an Internet Standards Track document.

  This document is a product of the Internet Engineering Task Force
  (IETF).  It represents the consensus of the IETF community.  It has
  received public review and has been approved for publication by the
  Internet Engineering Steering Group (IESG).  Further information on
  Internet Standards is available in Section 2 of RFC 7841.

  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/rfc9574.

Copyright Notice

  Copyright (c) 2024 IETF Trust and the persons identified as the
  document authors.  All rights reserved.

  This document is subject to BCP 78 and the IETF Trust's Legal
  Provisions Relating to IETF Documents
  (https://trustee.ietf.org/license-info) in effect on the date of
  publication of this document.  Please review these documents
  carefully, as they describe your rights and restrictions with respect
  to this document.  Code Components extracted from this document must
  include Revised BSD License text as described in Section 4.e of the
  Trust Legal Provisions and are provided without warranty as described
  in the Revised BSD License.

Table of Contents

  1.  Introduction
  2.  Terminology and Conventions
  3.  Solution Requirements
  4.  EVPN BGP Attributes for Optimized Ingress Replication
  5.  Non-selective Assisted Replication (AR) Solution Description
    5.1.  Non-selective AR-REPLICATOR Procedures
    5.2.  Non-selective AR-LEAF Procedures
    5.3.  RNVE Procedures
  6.  Selective Assisted Replication (AR) Solution Description
    6.1.  Selective AR-REPLICATOR Procedures
    6.2.  Selective AR-LEAF Procedures
  7.  Pruned Flooding Lists (PFLs)
    7.1.  Example of a Pruned Flooding List
  8.  AR Procedures for Single-IP AR-REPLICATORS
  9.  AR Procedures and EVPN All-Active Multihoming Split-Horizon
    9.1.  Ethernet Segments on AR-LEAF Nodes
    9.2.  Ethernet Segments on AR-REPLICATOR Nodes
  10. Security Considerations
  11. IANA Considerations
  12. References
    12.1.  Normative References
    12.2.  Informative References
  Acknowledgements
  Contributors
  Authors' Addresses

1.  Introduction

  Ethernet Virtual Private Networks (EVPNs) may be used as the control
  plane for a Network Virtualization Overlay (NVO) network [RFC8365].
  Network Virtualization Edge (NVE) and Provider Edge (PE) devices that
  are part of the same EVPN Broadcast Domain (BD) use Ingress
  Replication (IR) or PIM-based trees to transport the tenant's
  Broadcast, Unknown Unicast, or Multicast (BUM) traffic.

  In the ingress replication approach, the ingress NVE receiving a BUM
  frame from the Tenant System (TS) will create as many copies of the
  frame as the number of remote NVEs/PEs that are attached to the BD.
  Each of those copies will be encapsulated into an IP packet where the
  outer IP Destination Address (IP DA) identifies the loopback of the
  egress NVE/PE.  The IP fabric core nodes (also known as spines) will
  simply route the IP-encapsulated BUM frames based on the outer IP DA.
  If PIM-based trees are used instead of ingress replication, the NVEs/
  PEs attached to the same BD will join a PIM-based tree.  The ingress
  NVE receiving a BUM frame will send a single copy of the frame,
  encapsulated into an IP packet where the outer IP DA is the multicast
  address that represents the PIM-based tree.  The IP fabric core nodes
  are part of the PIM tree and keep multicast state for the multicast
  group, so that IP-encapsulated BUM frames can be routed to all the
  NVEs/PEs that joined the tree.

  The two approaches are illustrated in Figure 1.  On the left-hand
  side of the diagram, NVE1 uses ingress replication to send a BUM
  frame (originated from Tenant System TS1) to the remote nodes
  attached to the BD, i.e., NVE2, NVE3, and PE1.  On the right-hand
  side, the same example is depicted but using a PIM-based tree, i.e.,
  (S1,G1), instead of ingress replication.  While a single copy of the
  tunneled BUM frame is generated in the latter approach, all the
  routers in the fabric need to keep multicast state, e.g., the spine
  keeps a PIM routing entry for (S1,G1) with an Incoming Interface
  (IIF) and three Outgoing Interfaces (OIFs).

             To WAN                           To WAN
                ^                                ^
                |                                |
             +-----+                          +-----+
  +----------| PE1 |-----------+   +----------| PE1 |-----------+
  |          +--^--+           |   |          +--^--+           |
  |             |    IP Fabric |   |             |    IP Fabric |
  |             PE             |   |    (S1,G1)  |OIF to G1     |
  | +----PE->+-----+ No State  |   |      IIF +-----+ OIF to G1 |
  | | +---2->|Spine|------+    |   |   +------>Spine|------+    |
  | | | +-3->+-----+      |    |   |   |      +-----+      |    |
  | | | |       2         3    |   |   |PIM      |OIF to G1|    |
  | | | |IR     |         |    |   |   |tree     |         |    |
  |+-----+   +--v--+   +--v--+ |   |+-----+   +--v--+   +--v--+ |
  +| NVE1|---| NVE2|---| NVE3|-+   +| NVE1|---| NVE2|---| NVE3|-+
   +--^--+   +-----+   +-----+      +--^--+   +-----+   +-----+
      |         |         |            |         |         |
      |         v         v            |         v         v
     TS1       TS2       TS3          TS1       TS2       TS3

    Figure 1: Ingress Replication vs. PIM-Based Trees in NVO Networks

  In NVO networks where PIM-based trees cannot be used, ingress
  replication is the only option.  Examples of these situations are NVO
  networks where the core nodes do not support PIM or the network
  operator does not want to run PIM in the core.

  In some use cases, the amount of replication for BUM traffic is kept
  under control on the NVEs due to the following fairly common
  assumptions:

  a.  Broadcast traffic is greatly reduced due to the proxy Address
      Resolution Protocol (ARP) and proxy Neighbor Discovery (ND)
      capabilities supported by EVPNs [RFC9161] on the NVEs.  Some NVEs
      can even provide Dynamic Host Configuration Protocol (DHCP)
      server functions for the attached TSs, reducing the broadcast
      traffic even further.

  b.  Unknown unicast traffic is greatly reduced in NVO networks where
      all the Media Access Control (MAC) and IP addresses from the TSs
      are learned in the control plane.

  c.  Multicast applications are not used.

  If the above assumptions are true for a given NVO network, then
  ingress replication provides a simple solution for multi-destination
  traffic.  However, statement c. above is not always true, and
  multicast applications are required in many use cases.

  When the multicast sources are attached to NVEs residing in
  hypervisors or low-performance-replication Top-of-Rack (ToR)
  switches, the ingress replication of a large amount of multicast
  traffic to a significant number of remote NVEs/PEs can seriously
  degrade the performance of the NVE and impact the application.

  This document describes a solution that makes use of two ingress
  replication optimizations:

  1.  Assisted Replication (AR)

  2.  Pruned Flooding Lists (PFLs)

  Assisted Replication consists of a set of procedures that allows the
  ingress NVE/PE to send a single copy of a broadcast or multicast
  frame received from a TS to the BD without the need for PIM in the
  underlay.  Assisted Replication defines the roles of AR-REPLICATOR
  and AR-LEAF routers.  The AR-LEAF is the ingress NVE/PE attached to
  the TS.  The AR-LEAF sends a single copy of a broadcast or multicast
  packet to a selected AR-REPLICATOR that replicates the packet
  multiple times to remote AR-LEAF or AR-REPLICATOR routers and is
  therefore "assisting" the ingress AR-LEAF in delivering the broadcast
  or multicast traffic to the remote NVEs/PEs attached to the same BD.
  Assisted Replication can use a single AR-REPLICATOR or two AR-
  REPLICATOR routers in the path between the ingress AR-LEAF and the
  remote destination NVEs/PEs.  The procedures that use a single AR-
  REPLICATOR (the non-selective Assisted Replication solution) are
  specified in Section 5, whereas Section 6 describes how multi-stage
  replication, i.e., two AR-REPLICATOR routers in the path between the
  ingress AR-LEAF and destination NVEs/PEs, is accomplished (the
  selective Assisted Replication solution).  The procedures for
  Assisted Replication do not impact unknown unicast traffic, which
  follows the same forwarding procedures as known unicast traffic so
  that packet reordering does not occur.

  PFLs provide a method for the ingress NVE/PE to prune or remove
  certain destination NVEs/PEs from a flooding list, depending on the
  interest of those NVEs/PEs in receiving BUM traffic.  As specified in
  [RFC8365], an NVE/PE builds a flooding list for BUM traffic based on
  the next hops of the received EVPN Inclusive Multicast Ethernet Tag
  routes for the BD.  While [RFC8365] states that the flooding list is
  used for all BUM traffic, this document allows pruning certain next
  hops from the list.  As an example, suppose an ingress NVE creates a
  flooding list with next hops PE1, PE2, and PE3.  If PE2 and PE3 did
  not signal any interest in receiving unknown unicast traffic in their
  Inclusive Multicast Ethernet Tag routes, when the ingress NVE
  receives an unknown unicast frame from a TS, it will replicate it
  only to PE1.  That is, PE2 and PE3 are "pruned" from the NVE's
  flooding list for unknown unicast traffic.  PFLs can be used with
  ingress replication or Assisted Replication and are described in
  Section 7.

  Both optimizations -- Assisted Replication and PFLs -- may be used
  together or independently so that the performance and efficiency of
  the network to transport multicast can be improved.  Both solutions
  require some extensions to the BGP attributes used in [RFC7432]; see
  Section 4 for details.

  The Assisted Replication solution described in this document is
  focused on NVO networks (hence its use of IP tunnels).  MPLS
  transport networks are out of scope for this document.  The PFLs
  solution MAY be used in NVO and MPLS transport networks.

  Section 3 lists the requirements of the combined optimized ingress
  replication solution, whereas Sections 5 and 6 describe the Assisted
  Replication solution for non-selective and selective procedures,
  respectively.  Section 7 provides the PFLs solution.

2.  Terminology and Conventions

  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 [RFC2119] [RFC8174] when, and only when, they appear in all
  capitals, as shown here.

  The following terminology is used throughout this document:

  AR-IP:  Assisted Replication - IP.  Refers to an IP address owned by
     the AR-REPLICATOR and used to differentiate the incoming traffic
     that must follow the AR procedures.  The AR-IP is also used in the
     Tunnel Identifier and Next Hop fields of the Replicator-AR route.

  AR-LEAF:  Assisted Replication - LEAF.  Refers to an NVE/PE that
     sends all the BM traffic to an AR-REPLICATOR that can replicate
     the traffic further on its behalf.  An AR-LEAF is typically an
     NVE/PE with poor replication performance capabilities.

  AR-REPLICATOR:  Assisted Replication - REPLICATOR.  Refers to an NVE/
     PE that can replicate broadcast or multicast traffic received on
     overlay tunnels to other overlay tunnels and local Attachment
     Circuits (ACs).  This document defines the control and data plane
     procedures that an AR-REPLICATOR needs to follow.

  AR-VNI:  Assisted Replication - VNI.  Refers to a Virtual eXtensible
     Local Area Network (VXLAN) Network Identifier (VNI) advertised by
     the AR-REPLICATOR along with the Replicator-AR route.  It is used
     to identify the incoming packets that must follow the AR
     procedures ONLY in the single-IP AR-REPLICATOR case (see
     Section 8).

  Assisted Replication forwarding mode:  In the case of an AR-LEAF,
     sending an AC Broadcast and Multicast (BM) packet to a single AR-
     REPLICATOR with a tunnel destination address AR-IP.  In the case
     of an AR-REPLICATOR, this means sending a BM packet to a selected
     number of, or all of, the overlay tunnels when the packet was
     previously received from an overlay tunnel.

  BD:  Broadcast Domain, as defined in [RFC7432].

  BD label:  Defined as the MPLS label that identifies the BD and is
     advertised in Regular-IR or Replicator-AR routes, when the
     encapsulation is MPLS over GRE (MPLSoGRE) or MPLS over UDP
     (MPLSoUDP).

  BM traffic:  Refers to broadcast and multicast frames (excluding
     unknown unicast frames).

  DF and NDF:  Designated Forwarder and Non-Designated Forwarder.
     These are roles defined in NVEs/PEs attached to multihomed TSs, as
     per [RFC7432] and [RFC8365].

  ES and ESI:  Ethernet Segment and Ethernet Segment Identifier.  EVPN
     multihoming concepts as specified in [RFC7432].

  EVI:  EVPN Instance.  A group of Provider Edge (PE) devices
     participating in the same EVPN service, as specified in [RFC7432].

  GRE:  Generic Routing Encapsulation [RFC4023].

  Ingress Replication forwarding mode:  Refers to the ingress
     replication behavior explained in [RFC7432].  In this mode, an AC
     BM packet copy is sent to each remote PE/NVE in the BD, and an
     overlay BM packet is sent only to the ACs and not to other overlay
     tunnels.

  IR-IP:  Ingress Replication - IP.  Refers to the local IP address of
     an NVE/PE that is used for the ingress replication signaling and
     procedures provided in [RFC7432].  Encapsulated incoming traffic
     with an outer destination IP address matching the IR-IP will
     follow the procedures for ingress replication and not the
     procedures for Assisted Replication.  The IR-IP is also used in
     the Tunnel Identifier and Next Hop fields of the Regular-IR route.

  IR-VNI:  Ingress Replication - VNI.  Refers to a VNI advertised along
     with the Inclusive Multicast Ethernet Tag route for the ingress
     replication tunnel type.

  MPLS:  Multi-Protocol Label Switching.

  NVE:  Network Virtualization Edge [RFC8365].

  NVGRE:  Network virtualization using Generic Routing Encapsulation
     [RFC7637].

  PE:  Provider Edge.

  PMSI:  P-Multicast Service Interface.  A conceptual interface for a
     PE to send customer multicast traffic to all or some PEs in the
     same VPN [RFC6513].

  RD:  Route Distinguisher.

  Regular-IR route:  An EVPN Inclusive Multicast Ethernet Tag route
     [RFC7432] that uses the ingress replication tunnel type.

  Replicator-AR route:  An EVPN Inclusive Multicast Ethernet Tag route
     that is advertised by an AR-REPLICATOR to signal its capabilities,
     as described in Section 4.

  RNVE:  Regular NVE.  Refers to an NVE that supports the procedures
     provided in [RFC8365] and does not support the procedures provided
     in this document.  However, this document defines procedures to
     interoperate with RNVEs.

  ToR switch:  Top-of-Rack switch.

  TS and VM:  Tenant System and Virtual Machine.  In this document, TSs
     and VMs are the devices connected to the ACs of the PEs and NVEs.

  VNI:  VXLAN Network Identifier.  Used in VXLAN tunnels.

  VSID:  Virtual Segment Identifier.  Used in NVGRE tunnels.

  VXLAN:  Virtual eXtensible Local Area Network [RFC7348].

3.  Solution Requirements

  The ingress replication optimization solution specified in this
  document meets the following requirements:

  a.  The solution provides an ingress replication optimization for BM
      traffic without the need for PIM while preserving the packet
      order for unicast applications, i.e., unknown unicast traffic
      should follow the same path as known unicast traffic.  This
      optimization is required in low-performance NVEs.

  b.  The solution reduces the flooded traffic in NVO networks where
      some NVEs do not need broadcast/multicast and/or unknown unicast
      traffic.

  c.  The solution is compatible with [RFC7432] and [RFC8365] and has
      no impact on the Customer Edge (CE) procedures for BM traffic.
      In particular, the solution supports the following EVPN
      functions:

      *  All-active multihoming, including the split-horizon and DF
         functions.

      *  Single-active multihoming, including the DF function.

      *  Handling of multi-destination traffic and processing of BM
         traffic as per [RFC7432].

  d.  The solution is backward compatible with existing NVEs using a
      non-optimized version of ingress replication.  A given BD can
      have NVEs/PEs supporting regular ingress replication and
      optimized ingress replication.

  e.  The solution is independent of the NVO-specific data plane
      encapsulation and the virtual identifiers being used, e.g., VXLAN
      VNIs, NVGRE VSIDs, or MPLS labels, as long as the tunnel is IP
      based.

4.  EVPN BGP Attributes for Optimized Ingress Replication

  The ingress replication optimization solution specified in this
  document extends the Inclusive Multicast Ethernet Tag routes and
  attributes described in [RFC7432] so that an NVE/PE can signal its
  optimized ingress replication capabilities.

  The Network Layer Reachability Information (NLRI) of the Inclusive
  Multicast Ethernet Tag route [RFC7432] is shown in Figure 2 and is
  used in this document without any modifications to its format.  The
  PMSI Tunnel Attribute's general format as provided in [RFC7432]
  (which takes it from [RFC6514]) is used in this document; only a new
  tunnel type and new flags are specified, as shown in Figure 3.

                   +------------------------------------+
                   |      RD (8 octets)                 |
                   +------------------------------------+
                   |  Ethernet Tag ID (4 octets)        |
                   +------------------------------------+
                   |  IP Address Length (1 octet)       |
                   +------------------------------------+
                   |  Originating Router's IP Address   |
                   |        (4 or 16 octets)            |
                   +------------------------------------+

       Figure 2: EVPN Inclusive Multicast Ethernet Tag Route's NLRI

                                          0  1  2  3  4  5  6  7
  +---------------------------------+    +--+--+--+--+--+--+--+--+
  |  Flags (1 octet)                | -> |x |E |x |  T  |BM|U |L |
  +---------------------------------+    +--+--+--+--+--+--+--+--+
  |  Tunnel Type (1 octet)          |    T = Assisted Replication Type
  +---------------------------------+    BM = Broadcast and Multicast
  |  MPLS Label (3 octets)          |    U = Unknown (unknown unicast)
  +---------------------------------+    x = unassigned
  |  Tunnel Identifier (variable)   |
  +---------------------------------+

                     Figure 3: PMSI Tunnel Attribute

  The Flags field in Figure 3 is 8 bits long as per [RFC7902].  The
  Extension (E) flag was allocated by [RFC7902], and the Leaf
  Information Required (L) flag was allocated by [RFC6514].  This
  document defines the use of 4 bits of this Flags field:

  *  Bits 3 and 4, which together form the Assisted Replication Type
     (T) field

  *  Bit 5, called the Broadcast and Multicast (BM) flag

  *  Bit 6, called the Unknown (U) flag

  Bits 5 and 6 are collectively referred to as the Pruned Flooding
  Lists (PFLs) flags.

  The T field and PFLs flags are defined as follows:

  *  T is the Assisted Replication Type field (2 bits), which defines
     the AR role of the advertising router:

     -  00 (decimal 0) = RNVE (non-AR support)

     -  01 (decimal 1) = AR-REPLICATOR

     -  10 (decimal 2) = AR-LEAF

     -  11 (decimal 3) = RESERVED

  *  The PFLs flags define the desired behavior of the advertising
     router for the different types of traffic:

     -  Broadcast and Multicast (BM) flag.  BM = 1 means "prune me from
        the BM flooding list".  BM = 0 indicates regular behavior.

     -  Unknown (U) flag.  U = 1 means "prune me from the Unknown
        flooding list".  U = 0 indicates regular behavior.

  *  The L flag (bit 7) is defined in [RFC6514] and will be used only
     in the selective AR solution.

  Please refer to Section 11 for the IANA considerations related to the
  PMSI Tunnel Attribute flags.

  In this document, the above Inclusive Multicast Ethernet Tag route
  (Figure 2) and PMSI Tunnel Attribute (Figure 3) can be used in two
  different modes for the same BD:

  Regular-IR route:  In this route, Originating Router's IP Address,
     Tunnel Type (0x06), MPLS Label, and Tunnel Identifier MUST be used
     as described in [RFC7432] when ingress replication is in use.  The
     NVE/PE that advertises the route will set the Next Hop to an IP
     address that we denominate IR-IP in this document.  When
     advertised by an AR-LEAF node, the Regular-IR route MUST be
     advertised with the T field set to 10 (AR-LEAF).

  Replicator-AR route:  This route is used by the AR-REPLICATOR to
     advertise its AR capabilities, with the fields set as follows:

     *  Originating Router's IP Address MUST be set to an IP address of
        the advertising router that is common to all the EVIs on the PE
        (usually this is a loopback address of the PE).

        -  The Tunnel Identifier and Next Hop fields SHOULD be set to
           the same IP address as the Originating Router's IP Address
           field when the NVE/PE originates the route -- that is, when
           the NVE/PE is not an ASBR; see Section 10.2 of [RFC8365].
           Irrespective of the values in the Tunnel Identifier and
           Originating Router's IP Address fields, the ingress NVE/PE
           will process the received Replicator-AR route and will use
           the IP address setting in the Next Hop field to create IP
           tunnels to the AR-REPLICATOR.

        -  The Next Hop address is referred to as the AR-IP and MUST be
           different from the IR-IP for a given PE/NVE, unless the
           procedures provided in Section 8 are followed.

     *  Tunnel Type MUST be set to Assisted Replication Tunnel.
        Section 11 provides the allocated type value.

     *  T (Assisted Replication type) MUST be set to 01 (AR-
        REPLICATOR).

     *  L (Leaf Information Required) MUST be set to 0 for non-
        selective AR and MUST be set to 1 for selective AR.

  An NVE/PE configured as an AR-REPLICATOR for a BD MUST advertise a
  Replicator-AR route for the BD and MAY advertise a Regular-IR route.
  The advertisement of the Replicator-AR route will indicate to the AR-
  LEAFs which outer IP DA, i.e., which AR-IP, they need to use for IP-
  encapsulated BM frames that use Assisted Replication forwarding mode.
  The AR-REPLICATOR will forward an IP-encapsulated BM frame in
  Assisted Replication forwarding mode if the outer IP DA matches its
  AR-IP but will forward in Ingress Replication forwarding mode if the
  outer IP DA matches its IR-IP.

  In addition, this document also uses the Leaf Auto-Discovery (Leaf
  A-D) route defined in [RFC9572] in cases where the selective AR mode
  is used.  An AR-LEAF MAY send a Leaf A-D route in response to
  reception of a Replicator-AR route whose L flag is set.  The Leaf A-D
  route is only used for selective AR, and the fields of such a route
  are set as follows:

  *  Originating Router's IP Address is set to the advertising router's
     IP address (the same IP address used by the AR-LEAF in Regular-IR
     routes).  The Next Hop address is set to the IR-IP, which SHOULD
     be the same IP address as the advertising router's IP address,
     when the NVE/PE originates the route, i.e., when the NVE/PE is not
     an ASBR; see Section 10.2 of [RFC8365].

  *  Route Key [RFC9572] is the "Route Type Specific" NLRI of the
     Replicator-AR route for which this Leaf A-D route is generated.

  *  The AR-LEAF constructs an IP-address-specific Route Target,
     analogously to [RFC9572], by placing the IP address carried in the
     Next Hop field of the received Replicator-AR route in the Global
     Administrator field of the extended community, with the Local
     Administrator field of this extended community set to 0, and
     setting the Extended Communities attribute of the Leaf A-D route
     to that extended community.  The same IP-address-specific import
     Route Target is auto-configured by the AR-REPLICATOR that sent the
     Replicator-AR route, in order to control the acceptance of the
     Leaf A-D routes.

  *  The Leaf A-D route MUST include the PMSI Tunnel Attribute with
     Tunnel Type set to Assisted Replication Tunnel (Section 11), T
     (Assisted Replication type) set to AR-LEAF, and Tunnel Identifier
     set to the IP address of the advertising AR-LEAF.  The PMSI Tunnel
     Attribute MUST carry a downstream-assigned MPLS label or VNI that
     is used by the AR-REPLICATOR to send traffic to the AR-LEAF.

  Each AR-enabled node understands and processes the T (Assisted
  Replication type) field in the PMSI Tunnel Attribute (Flags field) of
  the routes and MUST signal the corresponding type (AR-REPLICATOR or
  AR-LEAF type) according to its administrative choice.  An NVE/PE
  following this specification is not expected to set the Assisted
  Replication Type field to decimal 3 (which is a RESERVED value).  If
  a route with the Assisted Replication Type field set to decimal 3 is
  received by an AR-REPLICATOR or AR-LEAF, the router will process the
  route as a Regular-IR route advertised by an RNVE.

  Each node attached to the BD may understand and process the BM/U
  flags (PFLs flags).  Note that these BM/U flags may be used to
  optimize the delivery of multi-destination traffic; their use SHOULD
  be an administrative choice and independent of the AR role.  When the
  PFL capability is enabled, the BM/U flags can be used with the
  Regular-IR, Replicator-AR, and Leaf A-D routes.

  Non-optimized ingress replication NVEs/PEs will be unaware of the new
  PMSI Tunnel Attribute flag definition as well as the new tunnel type
  (AR), i.e., non-upgraded NVEs/PEs will ignore the information
  contained in the Flags field or an unknown tunnel type (type AR in
  this case) for any Inclusive Multicast Ethernet Tag route.

5.  Non-selective Assisted Replication (AR) Solution Description

  Figure 4 illustrates an example NVO network where the non-selective
  AR function is enabled.  Three different roles are defined for a
  given BD: AR-REPLICATOR, AR-LEAF, and RNVE.  The solution is called
  "non-selective" because the chosen AR-REPLICATOR for a given flow
  MUST replicate the BM traffic to all the NVEs/PEs in the BD except
  for the source NVE/PE.  NVO tunnels, i.e., IP tunnels, exist among
  all the PEs and NVEs in the diagram.  The PEs and NVEs in the diagram
  have TSs or VMs connected to their ACs.

                          (           )
                         (_    WAN    _)
                      +---(_         _)----+
                      |     (_      _)     |
                PE1   |                PE2 |
               +------+----+          +----+------+
          TS1--+  (BD-1)   |          |  (BD-1)   +--TS2
               |REPLICATOR |          |REPLICATOR |
               +--------+--+          +--+--------+
                        |                |
                     +--+----------------+--+
                     |                      |
                     |                      |
                +----+ VXLAN/NVGRE/MPLSoGRE +----+
                |    |      IP Fabric       |    |
                |    |                      |    |
      NVE1      |    +-----------+----------+    |      NVE3
      Hypervisor|          ToR   |  NVE2         |Hypervisor
      +---------+-+        +-----+-----+       +-+---------+
      |  (BD-1)   |        |  (BD-1)   |       |  (BD-1)   |
      |    LEAF   |        |   RNVE    |       |    LEAF   |
      +--+-----+--+        +--+-----+--+       +--+-----+--+
         |     |              |     |             |     |
        VM11  VM12           TS3   TS4           VM31  VM32

                   Figure 4: Non-selective AR Scenario

  In AR BDs, such as BD-1 in Figure 4, BM traffic between two NVEs may
  follow a different path than unicast traffic.  This solution
  recommends the replication of BM traffic through the AR-REPLICATOR
  node, whereas unknown/known unicast traffic will be delivered
  directly from the source node to the destination node without being
  replicated by any intermediate node.

  Note that known unicast forwarding is not impacted by this solution,
  i.e., unknown unicast traffic SHALL follow the same path as known
  unicast traffic.

5.1.  Non-selective AR-REPLICATOR Procedures

  An AR-REPLICATOR is defined as an NVE/PE capable of replicating
  incoming BM traffic received on an overlay tunnel to other overlay
  tunnels and local ACs.  The AR-REPLICATOR signals its role in the
  control plane and understands where the other roles (AR-LEAF nodes,
  RNVEs, and other AR-REPLICATORs) are located.  A given AR-enabled BD
  service may have zero, one, or more AR-REPLICATORs.  In our example
  in Figure 4, PE1 and PE2 are defined as AR-REPLICATORs.  The
  following considerations apply to the AR-REPLICATOR role:

  a.  The AR-REPLICATOR role SHOULD be an administrative choice in any
      NVE/PE that is part of an AR-enabled BD.  This administrative
      option to enable AR-REPLICATOR capabilities MAY be implemented as
      a system-level option as opposed to a per-BD option.

  b.  An AR-REPLICATOR MUST advertise a Replicator-AR route and MAY
      advertise a Regular-IR route.  The AR-REPLICATOR MUST NOT
      generate a Regular-IR route if it does not have local ACs.  If
      the Regular-IR route is advertised, the Assisted Replication Type
      field of the Regular-IR route MUST be set to 0.

  c.  The Replicator-AR and Regular-IR routes are generated according
      to Section 4.  The AR-IP and IR-IP are different IP addresses
      owned by the AR-REPLICATOR.

  d.  When a node defined as an AR-REPLICATOR receives a BM packet on
      an overlay tunnel, it will do a tunnel destination IP address
      lookup and apply the following procedures:

      *  If the destination IP address is the AR-REPLICATOR IR-IP
         address, the node will process the packet normally as
         discussed in [RFC7432].

      *  If the destination IP address is the AR-REPLICATOR AR-IP
         address, the node MUST replicate the packet to local ACs and
         overlay tunnels (excluding the overlay tunnel to the source of
         the packet).  When replicating to remote AR-REPLICATORs, the
         tunnel destination IP address will be an IR-IP.  This will
         indicate to the remote AR-REPLICATOR that it MUST NOT
         replicate to overlay tunnels.  The tunnel source IP address
         used by the AR-REPLICATOR MUST be its IR-IP when replicating
         to AR-REPLICATOR or AR-LEAF nodes.

  An AR-REPLICATOR MUST follow a data path implementation compatible
  with the following rules:

  *  The AR-REPLICATORs will build a flooding list composed of ACs and
     overlay tunnels to remote nodes in the BD.  Some of those overlay
     tunnels MAY be flagged as non-BM receivers based on the BM flag
     received from the remote nodes in the BD.

  *  When an AR-REPLICATOR receives a BM packet on an AC, it will
     forward the BM packet to its flooding list (including local ACs
     and remote NVEs/PEs), skipping the non-BM overlay tunnels.

  *  When an AR-REPLICATOR receives a BM packet on an overlay tunnel,
     it will check the destination IP address of the underlay IP header
     and:

     -  If the destination IP address matches its IR-IP, the AR-
        REPLICATOR will skip all the overlay tunnels from the flooding
        list, i.e., it will only replicate to local ACs.  This is the
        regular ingress replication behavior described in [RFC7432].

     -  If the destination IP address matches its AR-IP, the AR-
        REPLICATOR MUST forward the BM packet to its flooding list (ACs
        and overlay tunnels), excluding the non-BM overlay tunnels.
        The AR-REPLICATOR will ensure that the traffic is not sent back
        to the originating AR-LEAF.

     -  If the encapsulation is MPLSoGRE or MPLSoUDP and the received
        BD label that the AR-REPLICATOR advertised in the Replicator-AR
        route is not at the bottom of the stack, the AR-REPLICATOR MUST
        copy all the labels below the BD label and propagate them when
        forwarding the packet to the egress overlay tunnels.

  *  The AR-REPLICATOR/LEAF nodes will build an unknown unicast
     flooding list composed of ACs and overlay tunnels to the IR-IP
     addresses of the remote nodes in the BD.  Some of those overlay
     tunnels MAY be flagged as non-U (unknown unicast) receivers based
     on the U flag received from the remote nodes in the BD.

     -  When an AR-REPLICATOR/LEAF receives an unknown unicast packet
        on an AC, it will forward the unknown unicast packet to its
        flooding list, skipping the non-U overlay tunnels.

     -  When an AR-REPLICATOR/LEAF receives an unknown unicast packet
        on an overlay tunnel, it will forward the unknown unicast
        packet to its local ACs and never to an overlay tunnel.  This
        is the regular ingress replication behavior described in
        [RFC7432].

5.2.  Non-selective AR-LEAF Procedures

  An AR-LEAF is defined as an NVE/PE that, given its poor replication
  performance, sends all the BM traffic to an AR-REPLICATOR that can
  replicate the traffic further on its behalf.  It MAY signal its AR-
  LEAF capability in the control plane and understands where the other
  roles are located (AR-REPLICATORs and RNVEs).  A given service can
  have zero, one, or more AR-LEAF nodes.  In Figure 4, NVE1 and NVE3
  (both residing in hypervisors) act as AR-LEAF nodes.  The following
  considerations apply to the AR-LEAF role:

  a.  The AR-LEAF role SHOULD be an administrative choice in any NVE/PE
      that is part of an AR-enabled BD.  This administrative option to
      enable AR-LEAF capabilities MAY be implemented as a system-level
      option as opposed to a per-BD option.

  b.  In this non-selective AR solution, the AR-LEAF MUST advertise a
      single Regular-IR Inclusive Multicast Ethernet Tag route as
      described in [RFC7432].  The AR-LEAF SHOULD set the Assisted
      Replication Type field to AR-LEAF.  Note that although this field
      does not affect the remote nodes when creating an EVPN
      destination to the AR-LEAF, this field is useful from the
      standpoint of ease of operation and troubleshooting of the BD.

  c.  In a BD where there are no AR-REPLICATORs due to the AR-
      REPLICATORs being down or reconfigured, the AR-LEAF MUST use
      regular ingress replication based on the remote Regular-IR
      Inclusive Multicast Ethernet Tag routes as described in
      [RFC7432].  This may happen in the following cases:

      *  The AR-LEAF has a list of AR-REPLICATORs for the BD, but it
         detects that all the AR-REPLICATORs for the BD are down (via
         next-hop tracking in the IGP or some other detection
         mechanism).

      *  The AR-LEAF receives updates from all the former AR-
         REPLICATORs containing a non-REPLICATOR AR type in the
         Inclusive Multicast Ethernet Tag routes.

      *  The AR-LEAF never discovered an AR-REPLICATOR for the BD.

  d.  In a service where there are one or more AR-REPLICATORs (based on
      the received Replicator-AR routes for the BD), the AR-LEAF can
      locally select which AR-REPLICATOR it sends the BM traffic to:

      *  A single AR-REPLICATOR MAY be selected for all the BM packets
         received on the AR-LEAF ACs for a given BD.  This selection is
         a local decision and does not have to match other AR-LEAFs'
         selections within the same BD.

      *  An AR-LEAF MAY select more than one AR-REPLICATOR and do
         either per-flow or per-BD load balancing.

      *  In the case of failure of the selected AR-REPLICATOR, another
         AR-REPLICATOR SHOULD be selected by the AR-LEAF.

      *  When an AR-REPLICATOR is selected for a given flow or BD, the
         AR-LEAF MUST send all the BM packets targeted to that AR-
         REPLICATOR using the forwarding information given by the
         Replicator-AR route for the chosen AR-REPLICATOR, with Tunnel
         Type = 0x0A (AR tunnel).  The underlay destination IP address
         MUST be the AR-IP advertised by the AR-REPLICATOR in the
         Replicator-AR route.

      *  An AR-LEAF MAY change the selection of AR-REPLICATOR(s)
         dynamically due to an administrative or policy configuration
         change.

      *  AR-LEAF nodes SHALL send service-level BM control plane
         packets, following the procedures for regular ingress
         replication.  An example would be IGMP, Multicast Listener
         Discovery (MLD), or PIM packets, and, in general, any packets
         using link-local scope multicast IPv4 or IPv6 packets.  The
         AR-REPLICATORs MUST NOT replicate these control plane packets
         to other overlay tunnels, since they will use the IR-IP
         address.

  e.  The use of an AR-REPLICATOR-activation-timer (in seconds, with a
      default value of 3) on the AR-LEAF nodes is RECOMMENDED.  Upon
      receiving a new Replicator-AR route where the AR-REPLICATOR is
      selected, the AR-LEAF will run a timer before programming the new
      AR-REPLICATOR.  In the case of a newly added AR-REPLICATOR or if
      an AR-REPLICATOR reboots, this timer will give the AR-REPLICATOR
      some time to program the AR-LEAF nodes before the AR-LEAF sends
      BM traffic.  The AR-REPLICATOR-activation-timer SHOULD be
      configurable in seconds, and its value needs to account for the
      time it takes for the AR-LEAF Regular-IR Inclusive Multicast
      Ethernet Tag route to get to the AR-REPLICATOR and be programmed.
      While the AR-REPLICATOR-activation-timer is running, the AR-LEAF
      node will use regular ingress replication.

  f.  If the AR-LEAF has selected an AR-REPLICATOR, whether or not to
      change to a new preferred AR-REPLICATOR for the existing BM
      traffic flows is a matter of local policy.

  An AR-LEAF MUST follow a data path implementation compatible with the
  following rules:

  *  The AR-LEAF nodes will build two flooding lists:

     Flooding list #1:  Composed of ACs and an AR-REPLICATOR-set of
        overlay tunnels.  The AR-REPLICATOR-set is defined as one or
        more overlay tunnels to the AR-IP addresses of the remote AR-
        REPLICATOR(s) in the BD.  The selection of more than one AR-
        REPLICATOR is described in item d. above and is a local AR-LEAF
        decision.

     Flooding list #2:  Composed of ACs and overlay tunnels to the
        remote IR-IP addresses.

  *  When an AR-LEAF receives a BM packet on an AC, it will check the
     AR-REPLICATOR-set:

     -  If the AR-REPLICATOR-set is empty, the AR-LEAF MUST send the
        packet to flooding list #2.

     -  If the AR-REPLICATOR-set is NOT empty, the AR-LEAF MUST send
        the packet to flooding list #1, where only one of the overlay
        tunnels of the AR-REPLICATOR-set is used.

  *  When an AR-LEAF receives a BM packet on an overlay tunnel, it will
     forward the BM packet to its local ACs and never to an overlay
     tunnel.  This is the regular ingress replication behavior
     described in [RFC7432].

  *  AR-LEAF nodes process unknown unicast traffic in the same way AR-
     REPLICATORS do, as described in Section 5.1.

5.3.  RNVE Procedures

  An RNVE is defined as an NVE/PE without AR-REPLICATOR or AR-LEAF
  capabilities that does ingress replication as described in [RFC7432].
  The RNVE does not signal any AR role and is unaware of the AR-
  REPLICATOR/LEAF roles in the BD.  The RNVE will ignore the flags in
  the Regular-IR routes and will ignore the Replicator-AR routes (due
  to an unknown tunnel type in the PMSI Tunnel Attribute) and the Leaf
  A-D routes (due to the IP-address-specific Route Target).

  This role provides EVPNs with the backward compatibility required in
  optimized ingress replication BDs.  In Figure 4, NVE2 acts as an
  RNVE.

6.  Selective Assisted Replication (AR) Solution Description

  Figure 5 is used to describe the selective AR solution.

                          (           )
                         (_    WAN    _)
                      +---(_         _)----+
                      |     (_      _)     |
                PE1   |                PE2 |
               +------+----+          +----+------+
          TS1--+  (BD-1)   |          |  (BD-1)   +--TS2
               |REPLICATOR |          |REPLICATOR |
               +--------+--+          +--+--------+
                        |                |
                     +--+----------------+--+
                     |                      |
                     |                      |
                +----+ VXLAN/NVGRE/MPLSoGRE +----+
                |    |      IP Fabric       |    |
                |    |                      |    |
      NVE1      |    +-----------+----------+    |      NVE3
      Hypervisor|          ToR   |  NVE2         |Hypervisor
      +---------+-+        +-----+-----+       +-+---------+
      |  (BD-1)   |        |  (BD-1)   |       |  (BD-1)   |
      |LEAF-set-1 |        |LEAF-set-1 |       |LEAF-set-2 |
      +--+-----+--+        +--+-----+--+       +--+-----+--+
         |     |              |     |             |     |
        VM11  VM12           TS3   TS4           VM31  VM32

                     Figure 5: Selective AR Scenario

  The solution is called "selective" because a given AR-REPLICATOR MUST
  replicate the BM traffic to only the AR-LEAFs that requested the
  replication (as opposed to all the AR-LEAF nodes) and MUST replicate
  the BM traffic to the RNVEs (if there are any).  The same AR roles as
  those defined in Sections 4 and 5 are used here; however, the
  procedures are different.

  The selective AR procedures create multiple AR-LEAF-sets in the EVPN
  BD and build single-hop trees among AR-LEAFs of the same set (AR-
  LEAF->AR-REPLICATOR->AR-LEAF) and two-hop trees among AR-LEAFs of
  different sets (AR-LEAF->AR-REPLICATOR->AR-REPLICATOR->AR-LEAF).
  Compared to the selective solution, the non-selective AR method
  assumes that all the AR-LEAFs of the BD are in the same set and
  always creates single-hop trees among AR-LEAFs.  While the selective
  solution is more efficient than the non-selective solution in multi-
  stage IP fabrics, the trade-off is additional signaling and an
  additional outer source IP address lookup.

  The following subsections describe the differences in the procedures
  for AR-REPLICATORs/LEAFs compared to the non-selective AR solution.
  There are no changes applicable to RNVEs.

6.1.  Selective AR-REPLICATOR Procedures

  In our example in Figure 5, PE1 and PE2 are defined as selective AR-
  REPLICATORs.  The following considerations apply to the selective AR-
  REPLICATOR role:

  a.  The selective AR-REPLICATOR role SHOULD be an administrative
      choice in any NVE/PE that is part of an AR-enabled BD.  This
      administrative option MAY be implemented as a system-level option
      as opposed to a per-BD option.

  b.  Each AR-REPLICATOR will build a list of AR-REPLICATOR, AR-LEAF,
      and RNVE nodes.  In spite of the "selective" administrative
      option, an AR-REPLICATOR MUST NOT behave as a selective AR-
      REPLICATOR if at least one of the AR-REPLICATORs has the L flag
      NOT set.  If at least one AR-REPLICATOR sends a Replicator-AR
      route with L = 0 (in the BD context), the rest of the AR-
      REPLICATORs will fall back to non-selective AR mode.

  c.  The selective AR-REPLICATOR MUST follow the procedures described
      in Section 5.1, except for the following differences:

      *  The AR-REPLICATOR MUST have the L flag set to 1 when
         advertising the Replicator-AR route.  This flag is used by the
         AR-REPLICATORs to advertise their "selective" AR-REPLICATOR
         capabilities.  In addition, the AR-REPLICATOR auto-configures
         its IP-address-specific import Route Target as described in
         the third bullet of the procedures for Leaf A-D routes in
         Section 4.

      *  The AR-REPLICATOR will build a "selective" AR-LEAF-set with
         the list of nodes that requested replication to its own AR-IP.
         For instance, assuming that NVE1 and NVE2 advertise a Leaf A-D
         route with PE1's IP-address-specific Route Target and NVE3
         advertises a Leaf A-D route with PE2's IP-address-specific
         Route Target, PE1 will only add NVE1/NVE2 to its selective AR-
         LEAF-set for BD-1 and exclude NVE3.  Likewise, PE2 will only
         add NVE3 to its selective AR-LEAF-set for BD-1 and exclude
         NVE1/NVE2.

      *  When a node defined and operating as a selective AR-REPLICATOR
         receives a packet on an overlay tunnel, it will do a tunnel
         destination IP lookup, and if the destination IP address is
         the AR-REPLICATOR AR-IP address, the node MUST replicate the
         packet to:

         -  Local ACs.

         -  Overlay tunnels in the selective AR-LEAF-set, excluding the
            overlay tunnel to the source AR-LEAF.

         -  Overlay tunnels to the RNVEs if the tunnel source IP
            address is the IR-IP of an AR-LEAF.  In any other case, the
            AR-REPLICATOR MUST NOT replicate the BM traffic to remote
            RNVEs.  In other words, only the first-hop selective AR-
            REPLICATOR will replicate to all the RNVEs.

         -  Overlay tunnels to the remote selective AR-REPLICATORs if
            the tunnel source IP address (of the encapsulated packet
            that arrived on the overlay tunnel) is an IR-IP of its own
            AR-LEAF-set.  In any other case, the AR-REPLICATOR MUST NOT
            replicate the BM traffic to remote AR-REPLICATORs.  When
            doing this replication, the tunnel destination IP address
            is the AR-IP of the remote selective AR-REPLICATOR.  The
            tunnel destination address AR-IP will indicate to the
            remote selective AR-REPLICATOR that the packet needs
            further replication to its AR-LEAFs.

  A selective AR-REPLICATOR data path implementation MUST be compatible
  with the following rules:

  *  The selective AR-REPLICATORs will build two flooding lists:

     Flooding list #1:  Composed of ACs and overlay tunnels to the
        remote nodes in the BD, always using the IR-IPs in the tunnel
        destination IP addresses.

     Flooding list #2:  Composed of ACs, a selective AR-LEAF-set, and a
        selective AR-REPLICATOR-set, where:

        -  The selective AR-LEAF-set is composed of the overlay tunnels
           to the AR-LEAFs that advertise a Leaf A-D route for the
           local AR-REPLICATOR.  This set is updated with every Leaf
           A-D route received/withdrawn from a new AR-LEAF.

        -  The selective AR-REPLICATOR-set is composed of the overlay
           tunnels to all the AR-REPLICATORs that send a Replicator-AR
           route with L = 1.  The AR-IP addresses are used as tunnel
           destination IP addresses.

  *  Some of the overlay tunnels in the flooding lists MAY be flagged
     as non-BM receivers based on the BM flag received from the remote
     nodes in the routes.

  *  When a selective AR-REPLICATOR receives a BM packet on an AC, it
     MUST forward the BM packet to its flooding list #1, skipping the
     non-BM overlay tunnels.

  *  When a selective AR-REPLICATOR receives a BM packet on an overlay
     tunnel, it will check the destination and source IPs of the
     underlay IP header and:

     -  If the destination IP address matches its AR-IP and the source
        IP address matches an IP of its own selective AR-LEAF-set, the
        AR-REPLICATOR MUST forward the BM packet to its flooding list
        #2, unless some AR-REPLICATOR within the BD has advertised L =
        0.  In the latter case, the node reverts to Non-selective mode,
        and flooding list #1 MUST be used.  Non-BM overlay tunnels are
        skipped when sending BM packets.

     -  If the destination IP address matches its AR-IP and the source
        IP address does not match any IP address of its selective AR-
        LEAF-set, the AR-REPLICATOR MUST forward the BM packet to
        flooding list #2, skipping the AR-REPLICATOR-set.  Non-BM
        overlay tunnels are skipped when sending BM packets.

     -  If the destination IP address matches its IR-IP, the AR-
        REPLICATOR MUST use flooding list #1 but MUST skip all the
        overlay tunnels from the flooding list, i.e., it will only
        replicate to local ACs.  This is the regular ingress
        replication behavior described in [RFC7432].  Non-BM overlay
        tunnels are skipped when sending BM packets.

  *  In any case, the AR-REPLICATOR ensures that the traffic is not
     sent back to the originating source.  If the encapsulation is
     MPLSoGRE or MPLSoUDP and the received BD label (the label that the
     AR-REPLICATOR advertised in the Replicator-AR route) is not at the
     bottom of the stack, the AR-REPLICATOR MUST copy the rest of the
     labels when forwarding them to the egress overlay tunnels.

6.2.  Selective AR-LEAF Procedures

  A selective AR-LEAF chooses a single selective AR-REPLICATOR per BD
  and:

  *  Sends all the BD's BM traffic to that AR-REPLICATOR and

  *  Expects to receive all the BM traffic for a given BD from the same
     AR-REPLICATOR (except for the BM traffic from the RNVEs, which
     comes directly from the RNVEs)

  In the example in Figure 5, we consider NVE1/NVE2/NVE3 as selective
  AR-LEAFs.  NVE1 selects PE1 as its selective AR-REPLICATOR.  If that
  is so, NVE1 will send all its BM traffic for BD-1 to PE1.  If other
  AR-LEAFs/REPLICATORs send BM traffic, NVE1 will receive that traffic
  from PE1.  A selective AR-LEAF and a non-selective AR-LEAF behave
  differently, as follows:

  a.  The selective AR-LEAF role SHOULD be an administrative choice in
      any NVE/PE that is part of an AR-enabled BD.  This administrative
      option to enable AR-LEAF capabilities MAY be implemented as a
      system-level option as opposed to a per-BD option.

  b.  The AR-LEAF MAY advertise a Regular-IR route if there are RNVEs
      in the BD.  The selective AR-LEAF MUST advertise a Leaf A-D route
      after receiving a Replicator-AR route with L = 1.  It is
      RECOMMENDED that the selective AR-LEAF wait for a period
      specified by an AR-LEAF-join-wait-timer (in seconds, with a
      default value of 3) before sending the Leaf A-D route, so that
      the AR-LEAF can collect all the Replicator-AR routes for the BD
      before advertising the Leaf A-D route.  If the Replicator-AR
      route with L = 1 is withdrawn, the corresponding Leaf A-D route
      is withdrawn too.

  c.  In a service where there is more than one selective AR-
      REPLICATOR, the selective AR-LEAF MUST locally select a single
      selective AR-REPLICATOR for the BD.  Once selected:

      *  The selective AR-LEAF MUST send a Leaf A-D route, including
         the route key and IP-address-specific Route Target of the
         selected AR-REPLICATOR.

      *  The selective AR-LEAF MUST send all the BM packets received on
         the ACs for a given BD to that AR-REPLICATOR.

      *  In the case of failure of the selected AR-REPLICATOR (detected
         when the Replicator-AR route becomes infeasible as a result of
         any of the underlying BGP mechanisms), another AR-REPLICATOR
         will be selected and a new Leaf A-D update will be issued for
         the new AR-REPLICATOR.  This new route will update the
         selective list in the new selective AR-REPLICATOR.  In the
         case of failure of the active selective AR-REPLICATOR, it is
         RECOMMENDED that the selective AR-LEAF revert to ingress
         replication behavior for an AR-REPLICATOR-activation-timer (in
         seconds, with a default value of 3) to mitigate the traffic
         impact.  When the timer expires, the selective AR-LEAF will
         resume its AR mode with the new selective AR-REPLICATOR.  The
         AR-REPLICATOR-activation-timer MAY be the same configurable
         parameter as the parameter discussed in Section 5.2.

      *  A selective AR-LEAF MAY change the selection of AR-
         REPLICATOR(s) dynamically due to an administrative or policy
         configuration change.

  All the AR-LEAFs in a BD are expected to be configured as either
  selective or non-selective.  A mix of selective and non-selective AR-
  LEAFs SHOULD NOT coexist in the same BD.  If a non-selective AR-LEAF
  is present, its BM traffic sent to a selective AR-REPLICATOR will not
  be replicated to other AR-LEAFs that are not in its selective AR-
  LEAF-set.

  A selective AR-LEAF MUST follow a data path implementation compatible
  with the following rules:

  *  The selective AR-LEAF nodes will build two flooding lists:

     Flooding list #1:  Composed of ACs and the overlay tunnel to the
        selected AR-REPLICATOR (using the AR-IP as the tunnel
        destination IP address).

     Flooding list #2:  Composed of ACs and overlay tunnels to the
        remote IR-IP addresses.

  *  Some of the overlay tunnels in the flooding lists MAY be flagged
     as non-BM receivers based on the BM flag received from the remote
     nodes in the routes.

  *  When an AR-LEAF receives a BM packet on an AC, it will check to
     see if an AR-REPLICATOR was selected; if one is found, flooding
     list #1 MUST be used.  Otherwise, flooding list #2 MUST be used.
     Non-BM overlay tunnels are skipped when sending BM packets.

  *  When an AR-LEAF receives a BM packet on an overlay tunnel, it MUST
     forward the BM packet to its local ACs and never to an overlay
     tunnel.  This is the regular ingress replication behavior
     described in [RFC7432].

7.  Pruned Flooding Lists (PFLs)

  In addition to AR, the second optimization supported by the ingress
  replication optimization solution specified in this document is the
  ability of all the BD nodes to signal PFLs.  As described in
  Section 4, an EVPN node can signal a given value for the BM and U
  PFLs flags in the Regular-IR, Replicator-AR, or Leaf A-D routes,
  where:

  *  BM is the Broadcast and Multicast flag.  BM = 1 means "prune me
     from the BM flooding list".  BM = 0 indicates regular behavior.

  *  U is the Unknown flag.  U = 1 means "prune me from the Unknown
     flooding list".  U = 0 indicates regular behavior.

  The ability to signal and process these PFLs flags SHOULD be an
  administrative choice.  If a node is configured to process the PFLs
  flags, upon receiving a non-zero PFLs flag for a route, an NVE/PE
  will add the corresponding flag to the created overlay tunnel in the
  flooding list.  When replicating a BM packet in the context of a
  flooding list, the NVE/PE will skip the overlay tunnels marked with
  the flag BM = 1, since the NVEs/PEs at the end of those tunnels are
  not expecting BM packets.  Similarly, when replicating unknown
  unicast packets, the NVE/PE will skip the overlay tunnels marked with
  U = 1.

  An NVE/PE not following this document or not configured for this
  optimization will ignore any of the received PFLs flags.  An AR-LEAF
  or RNVE receiving BUM traffic on an overlay tunnel MUST replicate the
  traffic to its local ACs, regardless of the BM/U flags on the overlay
  tunnels.

  This optimization MAY be used along with the Assisted Replication
  solution.

7.1.  Example of a Pruned Flooding List

  In order to illustrate the use of the PFLs solution, we will assume
  that BD-1 in Figure 4 is optimized ingress replication enabled and:

  *  PE1 and PE2 are administratively configured as AR-REPLICATORs due
     to their high-performance replication capabilities.  PE1 and PE2
     will send a Replicator-AR route with BM/U flags = 00.

  *  NVE1 and NVE3 are administratively configured as AR-LEAF nodes due
     to their low-performance software-based replication capabilities.
     They will advertise a Regular-IR route with type AR-LEAF.
     Assuming that both NVEs advertise all of the attached VMs' MAC and
     IP addresses in EVPNs as soon as they come up and these NVEs do
     not have any VMs interested in multicast applications, they will
     be configured to signal BM/U flags = 11 for BD-1.  That is,
     neither NVE1 nor NVE3 is interested in receiving BM or unknown
     unicast traffic, since:

     -  Their attached VMs (VM11, VM12, VM31, VM32) do not support
        multicast applications.

     -  Their attached VMs will not receive ARP Requests.  Proxy ARP
        [RFC9161] on the remote NVEs/PEs will reply to ARP Requests
        locally, and no other broadcast traffic is expected.

     -  Their attached VMs will not receive unknown unicast traffic,
        since the VMs' MAC and IP addresses are always advertised by
        EVPNs as long as the VMs are active.

  *  NVE2 is optimized ingress replication unaware; therefore, it takes
     on the RNVE role in BD-1.

  Based on the above assumptions, the following forwarding behavior
  will take place:

  1.  Any BM packets sent from VM11 will be sent to VM12 and PE1.  PE1
      will then forward the BM packets on to TS1, the WAN link, PE2,
      and NVE2 but not to NVE3.  PE2 and NVE2 will replicate the BM
      packets to their local ACs, but NVE3 will be prevented from
      having to replicate those BM packets to VM31 and VM32
      unnecessarily.

  2.  Any BM packets received on PE2 from the WAN will be sent to PE1
      and NVE2 but not to NVE1 and NVE3, sparing the two hypervisors
      from replicating unnecessarily to their local VMs.  PE1 and NVE2
      will replicate to their local ACs only.

  3.  Any unknown unicast packet sent from VM31 will be forwarded by
      NVE3 to NVE2, PE1, and PE2 but not to NVE1.  The solution
      prevents unnecessary replication to NVE1, since the destination
      of the unknown traffic cannot be NVE1.

  4.  Any unknown unicast packet sent from TS1 will be forwarded by PE1
      to the WAN link, PE2, and NVE2 but not to NVE1 and NVE3, since
      the target of the unknown traffic cannot be NVE1 or NVE3.

8.  AR Procedures for Single-IP AR-REPLICATORS

  The procedures explained in Sections 5 and 6 assume that the AR-
  REPLICATOR can use two local routable IP addresses to terminate and
  originate NVO tunnels, i.e., IR-IP and AR-IP addresses.  This is
  usually the case for PE-based AR-REPLICATOR nodes.

  In some cases, the AR-REPLICATOR node does not support more than one
  IP address to terminate and originate NVO tunnels, i.e., the IR-IP
  and AR-IP are the same IP addresses.  This may be the case in some
  software-based or low-end AR-REPLICATOR nodes.  If this is the case,
  the procedures provided in Sections 5 and 6 MUST be modified in the
  following way:

  *  The Replicator-AR routes generated by the AR-REPLICATOR use an AR-
     IP that will match its IR-IP.  In order to differentiate the data
     plane packets that need to use ingress replication from the
     packets that must use Assisted Replication forwarding mode, the
     Replicator-AR route MUST advertise a different VNI/VSID than the
     one used by the Regular-IR route.  For instance, the AR-REPLICATOR
     will advertise an AR-VNI along with the Replicator-AR route and an
     IR-VNI along with the Regular-IR route.  Since both routes have
     the same key, different Route Distinguishers are needed in each
     route.

  *  An AR-REPLICATOR will perform Ingress Replication forwarding mode
     or Assisted Replication forwarding mode for the incoming overlay
     packets based on an ingress VNI lookup as opposed to the tunnel IP
     DA lookup.  Note that when replicating to remote AR-REPLICATOR
     nodes, the use of the IR-VNI or AR-VNI advertised by the egress
     node will determine whether Ingress Replication forwarding mode or
     Assisted Replication forwarding mode is used at the subsequent AR-
     REPLICATOR.

  The rest of the procedures will follow those described in Sections 5
  and 6.

9.  AR Procedures and EVPN All-Active Multihoming Split-Horizon

  This section extends the procedures for the cases where two or more
  AR-LEAF nodes are attached to the same ES and two or more AR-
  REPLICATOR nodes are attached to the same ES in the BD.  The mixed
  case -- where an AR-LEAF node and an AR-REPLICATOR node are attached
  to the same ES -- would require extended procedures that are out of
  scope for this document.

9.1.  Ethernet Segments on AR-LEAF Nodes

  If a VXLAN or NVGRE is used and if the split-horizon is based on the
  tunnel source IP address and "local bias" as described in [RFC8365],
  the split-horizon check will not work if an ES is shared between two
  AR-LEAF nodes, and the AR-REPLICATOR replaces the tunnel source IP
  address of the packets with its own AR-IP.

  In order to be compatible with the source IP address split-horizon
  check, the AR-REPLICATOR MAY keep the original received tunnel source
  IP address when replicating packets to a remote AR-LEAF or RNVE.
  This will allow AR-LEAF nodes to apply split-horizon check procedures
  for BM packets before sending them to the local ES.  Even if the AR-
  LEAF's source IP address is preserved when replicating to AR-LEAFs or
  RNVEs, the AR-REPLICATOR MUST always use its IR-IP as the source IP
  address when replicating to other AR-REPLICATORs.

  When EVPNs are used for MPLSoGRE or MPLSoUDP, the ESI-label-based
  split-horizon procedure provided in [RFC7432] will not work for
  multihomed ESs defined on AR-LEAF nodes.  Local bias is recommended
  in this case, as it is in the case of a VXLAN or NVGRE as explained
  above.  The local-bias and tunnel source IP address preservation
  mechanisms provide the required split-horizon behavior in non-
  selective or selective AR.

  Note that if the AR-REPLICATOR implementation keeps the received
  tunnel source IP address, the use of unicast Reverse Path Forwarding
  (uRPF) checks in the IP fabric based on the tunnel source IP address
  MUST be disabled.

9.2.  Ethernet Segments on AR-REPLICATOR Nodes

  AR-REPLICATOR nodes attached to the same all-active ES will follow
  local-bias procedures [RFC8365] as follows:

  a.  For BUM traffic received on a local AR-REPLICATOR's AC, local-
      bias procedures as provided in [RFC8365] MUST be followed.

  b.  For BUM traffic received on an AR-REPLICATOR overlay tunnel with
      AR-IP as the IP DA, local bias MUST also be followed.  That is,
      traffic received with AR-IP as the IP DA will be treated as
      though it had been received on a local AC that is part of the ES
      and will be forwarded to all local ESs, irrespective of their DF
      or NDF state.

  c.  BUM traffic received on an AR-REPLICATOR overlay tunnel with IR-
      IP as the IP DA will follow regular local-bias rules [RFC8365]
      and will not be forwarded to local ESs that are shared with the
      AR-LEAF or AR-REPLICATOR originating the traffic.

  d.  In cases where the AR-REPLICATOR supports a single IP address,
      the IR-IP and the AR-IP are the same IP address, as discussed in
      Section 8.  The received BUM traffic will be treated as specified
      in item b above if the received VNI is the AR-VNI and as
      specified in item c if the VNI is the IR-VNI.

10.  Security Considerations

  The security considerations in [RFC7432] and [RFC8365] apply to this
  document.  The security considerations related to the Leaf A-D route
  in [RFC9572] apply too.

  In addition, the Assisted Replication method introduced by this
  document may introduce some new risks that could affect the
  successful delivery of BM traffic.  Unicast traffic is not affected
  by Assisted Replication (although unknown unicast traffic is affected
  by the procedures for PFLs).  The forwarding of BM traffic is
  modified, and BM traffic from the AR-LEAF nodes will be drawn toward
  AR-REPLICATORs in the BD.  An AR-LEAF will forward BM traffic to its
  selected AR-REPLICATOR; therefore, an attack on the AR-REPLICATOR
  could impact the delivery of the BM traffic using that node.  Also,
  an attack on the AR-REPLICATOR and any change to the advertised AR
  type will modify the selections made by the AR-LEAF nodes.  If no
  other AR-REPLICATOR is selected, the AR-LEAF nodes will be forced to
  use Ingress Replication forwarding mode, which will impact their
  performance, since the AR-LEAF nodes are usually NVEs/PEs with poor
  replication performance.

  This document introduces the ability of the AR-REPLICATOR to forward
  traffic received on an overlay tunnel to another overlay tunnel.  The
  reader may determine that this introduces the risk of BM loops --
  that is, an AR-LEAF receiving a BM-encapsulated packet that the AR-
  LEAF originated in the first place due to one or two AR-REPLICATORs
  "looping" the BM traffic back to the AR-LEAF.  Following the
  procedures provided in this document will prevent these BM loops,
  since the AR-REPLICATOR will always forward the BM traffic using the
  correct tunnel IP DA (or the correct VNI in the case of single-IP AR-
  REPLICATORs), which instructs the remote nodes regarding how to
  forward the traffic.  This is true for both the Non-selective and
  Selective modes defined in this document.  However, incorrect
  implementation of the procedures provided in this document may lead
  to those unexpected BM loops.

  The Selective mode provides a multi-stage replication solution, where
  proper configuration of all the AR-REPLICATORs will prevent any
  issues.  A mix of mistakenly configured selective and non-selective
  AR-REPLICATORs in the same BD could theoretically create packet
  duplication in some AR-LEAFs; however, this document specifies a
  fallback solution -- falling back to Non-selective mode in cases
  where the AR-REPLICATORs advertised an inconsistent AR mode.

  This document allows the AR-REPLICATOR to preserve the tunnel source
  IP address of the AR-LEAF (as an option) when forwarding BM packets
  from an overlay tunnel to another overlay tunnel.  Preserving the AR-
  LEAF source IP address makes the local-bias filtering procedures
  possible for AR-LEAF nodes that are attached to the same ES.  If the
  AR-REPLICATOR does not preserve the AR-LEAF source IP address, AR-
  LEAF nodes attached to all-active ESs will cause packet duplication
  on the multihomed CE.

  The AR-REPLICATOR nodes are, by design, using more bandwidth than PEs
  [RFC7432] or NVEs [RFC8365] would use.  Certain network events or
  unexpected low performance may exceed the AR-REPLICATOR's local
  bandwidth and cause service disruption.

  Finally, PFLs (Section 7) should be used with care.  Intentional or
  unintentional misconfiguration of the BDs on a given leaf node may
  result in the leaf not receiving the required BM or unknown unicast
  traffic.

11.  IANA Considerations

  IANA has allocated the following Border Gateway Protocol (BGP)
  parameters:

  *  Allocation in the "P-Multicast Service Interface Tunnel (PMSI
     Tunnel) Tunnel Types" registry:

           +=======+=============================+===========+
           | Value | Meaning                     | Reference |
           +=======+=============================+===========+
           | 0x0A  | Assisted Replication Tunnel | RFC 9574  |
           +-------+-----------------------------+-----------+

                                 Table 1

  *  Allocations in the "P-Multicast Service Interface (PMSI) Tunnel
     Attribute Flags" registry:

          +=======+===============================+===========+
          | Value | Name                          | Reference |
          +=======+===============================+===========+
          | 3-4   | Assisted Replication Type (T) | RFC 9574  |
          +-------+-------------------------------+-----------+
          | 5     | Broadcast and Multicast (BM)  | RFC 9574  |
          +-------+-------------------------------+-----------+
          | 6     | Unknown (U)                   | RFC 9574  |
          +-------+-------------------------------+-----------+

                                 Table 2

12.  References

12.1.  Normative References

  [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119,
             DOI 10.17487/RFC2119, March 1997,
             <https://www.rfc-editor.org/info/rfc2119>.

  [RFC6513]  Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/
             BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February
             2012, <https://www.rfc-editor.org/info/rfc6513>.

  [RFC6514]  Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
             Encodings and Procedures for Multicast in MPLS/BGP IP
             VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012,
             <https://www.rfc-editor.org/info/rfc6514>.

  [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>.

  [RFC7902]  Rosen, E. and T. Morin, "Registry and Extensions for
             P-Multicast Service Interface Tunnel Attribute Flags",
             RFC 7902, DOI 10.17487/RFC7902, June 2016,
             <https://www.rfc-editor.org/info/rfc7902>.

  [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
             2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
             May 2017, <https://www.rfc-editor.org/info/rfc8174>.

  [RFC8365]  Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R.,
             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>.

  [RFC9572]  Zhang, Z., Lin, W., Rabadan, J., Patel, K., and A.
             Sajassi, "Updates to EVPN Broadcast, Unknown Unicast, or
             Multicast (BUM) Procedures", RFC 9572,
             DOI 10.17487/RFC9572, May 2024,
             <https://www.rfc-editor.org/info/rfc9572>.

12.2.  Informative References

  [RFC4023]  Worster, T., Rekhter, Y., and E. Rosen, Ed.,
             "Encapsulating MPLS in IP or Generic Routing Encapsulation
             (GRE)", RFC 4023, DOI 10.17487/RFC4023, March 2005,
             <https://www.rfc-editor.org/info/rfc4023>.

  [RFC7348]  Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger,
             L., Sridhar, T., Bursell, M., and C. Wright, "Virtual
             eXtensible Local Area Network (VXLAN): A Framework for
             Overlaying Virtualized Layer 2 Networks over Layer 3
             Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014,
             <https://www.rfc-editor.org/info/rfc7348>.

  [RFC7637]  Garg, P., Ed. and Y. Wang, Ed., "NVGRE: Network
             Virtualization Using Generic Routing Encapsulation",
             RFC 7637, DOI 10.17487/RFC7637, September 2015,
             <https://www.rfc-editor.org/info/rfc7637>.

  [RFC9161]  Rabadan, J., Ed., Sathappan, S., Nagaraj, K., Hankins, G.,
             and T. King, "Operational Aspects of Proxy ARP/ND in
             Ethernet Virtual Private Networks", RFC 9161,
             DOI 10.17487/RFC9161, January 2022,
             <https://www.rfc-editor.org/info/rfc9161>.

Acknowledgements

  The authors would like to thank Neil Hart, David Motz, Dai Truong,
  Thomas Morin, Jeffrey Zhang, Shankar Murthy, and Krzysztof Szarkowicz
  for their valuable feedback and contributions.  Also, thanks to John
  Scudder for his thorough review, which improved the quality of the
  document significantly.

Contributors

  In addition to the authors listed on the front page, the following
  people also contributed to this document and should be considered
  coauthors:

  Wim Henderickx
  Nokia


  Kiran Nagaraj
  Nokia


  Ravi Shekhar
  Juniper Networks


  Nischal Sheth
  Juniper Networks


  Aldrin Isaac
  Juniper


  Mudassir Tufail
  Citibank


Authors' Addresses

  Jorge Rabadan (editor)
  Nokia
  777 Middlefield Road
  Mountain View, CA 94043
  United States of America
  Email: [email protected]


  Senthil Sathappan
  Nokia
  Email: [email protected]


  Wen Lin
  Juniper Networks
  Email: [email protected]


  Mukul Katiyar
  Versa Networks
  Email: [email protected]


  Ali Sajassi
  Cisco Systems
  Email: [email protected]