BESS WorkGroup

Internet Engineering Task Force (IETF)                        A. Sajassi
Internet-Draft
Request for Comments: 9251                                     S. Thoria
Intended status:
Category: Standards Track                                      M. Mishra
Expires: September 23, 2022
ISSN: 2070-1721                                            Cisco Systems
                                                                K. Patel
                                                                  Arrcus
                                                                J. Drake
                                                                  W. Lin
                                                        Juniper Networks
                                                          March 22,
                                                                May 2022

                      IGMP

    Internet Group Management Protocol (IGMP) and MLD Proxy Multicast Listener
            Discovery (MLD) Proxies for EVPN
                 draft-ietf-bess-evpn-igmp-mld-proxy-21 Ethernet VPN (EVPN)

Abstract

   This document describes how to support efficiently endpoints running
   IGMP(Internet the Internet
   Group Management Protocol) Protocol (IGMP) or MLD (Multicast Multicast Listener
   Discovery) Discovery
   (MLD) efficiently for the multicast services over an EVPN Ethernet VPN
   (EVPN) network by incorporating IGMP/MLD proxy Proxy procedures on EVPN (Ethernet VPN) PEs.
   Provider Edges (PEs).

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list  It represents the consensus of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid the IETF community.  It has
   received public review and has been approved for a maximum 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 six months this document, any errata,
   and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 23, 2022.
   https://www.rfc-editor.org/info/rfc9251.

Copyright Notice

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

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

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Specification of Requirements . . . . . . . . . . . . . . . .   4
   3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  IGMP/MLD Proxy  . . . . . . . . . . . . . . . . . . . . . . .   6
     4.1.  Proxy Reporting . . . . . . . . . . . . . . . . . . . . .   6
       4.1.1.  IGMP/MLD Membership Report Advertisement in BGP . . .   7
       4.1.2.  IGMP/MLD Leave Group Advertisement in BGP . . . . . .   9
     4.2.  Proxy Querier . . . . . . . . . . . . . . . . . . . . . .   9
   5.  Operation . . . . . . . . . . . . . . . . . . . . . . . . . .  10
     5.1.  PE with only attached hosts Only Attached Hosts for a given subnet  . . . . .  11 Given Subnet
     5.2.  PE with a mix Mix of attached hosts Attached Hosts and multicast source  . .  12 a Multicast Source
     5.3.  PE with a mix Mix of attached hosts, Attached Hosts, a multicast source Multicast Source, and a
           router  . . . . . . . . . . . . . . . . . . . . . . . . .  12
           Router
   6.  All-Active Multi-Homing . . . . . . . . . . . . . . . . . . .  12 Multihoming
     6.1.  Local IGMP/MLD Membership Report Synchronization  . . . .  12
     6.2.  Local IGMP/MLD Leave Group Synchronization  . . . . . . .  13
       6.2.1.  Remote Leave Group Synchronization  . . . . . . . . .  14
       6.2.2.  Common Leave Group Synchronization  . . . . . . . . .  14
     6.3.  Mass Withdraw of the Multicast Membership Report Sync route Synch
           Route in case Case of failure  . . . . . . . . . . . . . . . . . . .  15 Failure
   7.  Single-Active Multi-Homing  . . . . . . . . . . . . . . . . .  15 Multihoming
   8.  Selective Multicast Procedures for IR tunnels . . . . . . . .  15 Tunnels
   9.  BGP Encoding  . . . . . . . . . . . . . . . . . . . . . . . .  16
     9.1.  Selective Multicast Ethernet Tag Route  . . . . . . . . .  16
       9.1.1.  Constructing the Selective Multicast Ethernet Tag
               route . . . . . . . . . . . . . . . . . . . . . . . .  18 Route
       9.1.2.  Reconstructing IGMP / MLD IGMP/MLD Membership Reports from the
               Selective Multicast Route . . . . . . . . . . . . . .  19
       9.1.3.  Default Selective Multicast Route . . . . . . . . . .  20
     9.2.  Multicast Membership Report Synch Route . . . . . . . . .  21
       9.2.1.  Constructing the Multicast Membership Report Synch
               Route . . . . . . . . . . . . . . . . . . . . . . . .  22
       9.2.2.  Reconstructing IGMP / MLD IGMP/MLD Membership Reports from a
               Multicast Membership Report Sync Synch Route  . . . . . . .  23
     9.3.  Multicast Leave Synch Route . . . . . . . . . . . . . . .  24
       9.3.1.  Constructing the Multicast Leave Synch Route  . . . .  26
       9.3.2.  Reconstructing IGMP / MLD IGMP/MLD Leave from a Multicast Leave
               Sync
               Synch Route  . . . . . . . . . . . . . . . . . . . . .  27
     9.4.  Multicast Flags Extended Community  . . . . . . . . . . .  28
     9.5.  EVI-RT Extended Community . . . . . . . . . . . . . . . .  29
     9.6.  Rewriting of RT ECs and EVI-RT ECs by ASBRs . . . . . . .  31
     9.7.  BGP Error Handling  . . . . . . . . . . . . . . . . . . .  32
   10. IGMP Version 1 Membership Report  . . . . . . . . . . . . . .  32
   11. Security Considerations . . . . . . . . . . . . . . . . . . .  32
   12. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  32
     12.1.  EVPN Extended Community Sub-Types Registrations  . . . .  32 Registration
     12.2.  EVPN Route Type Types Registration . . . . . . . . . . . . . .  33
     12.3.  Multicast Flags Extended Community Registry  . . . . . .  33
   13. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . .  33
   14. Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  34
   15. References  . . . . . . . . . . . . . . . . . . . . . . . . .  34
     15.1.
     13.1.  Normative References . . . . . . . . . . . . . . . . . .  34
     15.2.
     13.2.  Informative References . . . . . . . . . . . . . . . . .  35
   Acknowledgements
   Contributors
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  35

1.  Introduction

   In DC data center (DC) applications, a point of delivery (POD) can
   consist of a collection of servers supported by several top of rack top-of-rack
   (ToR) and spine switches.  This collection of servers and switches
   are self
   contained self-contained and may have their own control protocol for intra-POD intra-
   POD communication and orchestration.  However, EVPN is used as a
   standard way of inter-POD communication for both intra-DC and inter-DC. inter-
   DC.  A subnet can span across multiple PODs and DCs.  EVPN provides a
   robust multi-tenant solution with extensive multi-homing multihoming capabilities
   to stretch a subnet (VLAN) across multiple PODs and DCs.  There can
   be many hosts (several hundreds) attached to a subnet that is
   stretched across several PODs and DCs.

   These hosts express their interests in multicast groups on a given
   subnet/VLAN by sending IGMP/MLD Membership Reports for their
   interested multicast group(s).  Furthermore, an IGMP/MLD router
   periodically sends membership queries Membership Queries to find out if there are hosts
   on that subnet that are still interested in receiving multicast
   traffic for that group.  The IGMP/MLD Proxy solution described in
   this document accomplishes three objectives:

   1.  Reduce flooding of IGMP/MLD messages: just Just like the ARP/ND ARP /
       Neighbor Discovery (ND) suppression mechanism in EVPN to reduce
       the flooding of ARP messages over EVPN, it is also desired to
       have a mechanism to reduce the flooding of IGMP/MLD messages
       (both Queries and Membership Reports) in EVPN.

   2.  Distributed anycast multicast proxy: it It is desirable for the EVPN
       network to act as a distributed anycast multicast router with
       respect to IGMP/MLD proxy Proxy function for all the hosts attached to
       that subnet.

   3.  Selective Multicast: to forward multicast: This describes forwarding multicast traffic
       over the EVPN network such that it only gets forwarded to the PEs
       that have
       interest interests in the multicast group(s).  This document
       shows how this objective may be achieved when Ingress Replication ingress replication
       is used to distribute the multicast traffic among the PEs.
       Procedures for supporting selective multicast using P2MP Point-to-
       Multipoint (P2MP) tunnels can be found in
       [I-D.ietf-bess-evpn-bum-procedure-updates] [EVPN-BUM].

   The first two objectives are achieved by using the IGMP/MLD proxy Proxy on
   the PE.  The third objective is achieved by setting up a multicast
   tunnel
   only among only the PEs that have interest in that the multicast
   group(s) based on the trigger from IGMP/MLD proxy Proxy processes.  The
   proposed solutions for each of these objectives are discussed in the
   following sections.

2.  Specification of Requirements

   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.

3.  Terminology

   o

   AC:  Attachment Circuit.

   o Circuit

   All-Active Redundancy Mode:  When all PEs attached to an Ethernet
      segment are allowed to forward known unicast traffic to/from that
      Ethernet segment for a given VLAN, then the Ethernet segment is
      defined to be operating in All-Active redundancy mode.

   o

   BD:  Broadcast Domain.  As per [RFC7432], an EVI EVPN instance (EVI)
      consists of a single BD or multiple BDs.  In case of VLAN-bundle a VLAN bundle
      and a VLAN-aware bundle service model, an EVI contains multiple
      BDs.  Also, in this document, BD and subnet are equivalent terms.

   o

   DC:  Data Center

   o

   ES:  Ethernet Segment (ES): When segment.  This is when a customer site (device or
      network) is connected to one or more PEs via a set of Ethernet
      links.

   o

   ESI:  Ethernet Segment Identifier (ESI): A Identifier.  This is a unique non-zero
      identifier that identifies an Ethernet Segment.

   o segment.

   Ethernet Tag:  It identifies a particular broadcast domain, e.g., a
      VLAN.  An EVPN instance consists of one or more broadcast domains.

   o

   EVI: An  EVPN instance spanning Instance.  This spans the Provider Edge (PE) devices
      participating in that EVPN

   o EVPN.

   EVPN:  Ethernet Virtual Private Network

   o

   IGMP:  Internet Group Management Protocol

   o

   IR:  Ingress Replication

   o

   MLD:  Multicast Listener Discovery

   o

   OIF:  Outgoing Interface for multicast.  It can be a physical
      interface, virtual interface interface, or tunnel.

   o

   PE:  Provider Edge.

   o Edge

   POD:  Point of Delivery

   o

   S-PMSI:  Selective P-Multicast Service Interface - Interface.  This is a
      conceptual interface for a PE to send customer multicast traffic
      to some of the PEs in the same VPN.

   o

   Single-Active Redundancy Mode:  When only a single PE, among all the
      PEs attached to an Ethernet segment, is allowed to forward traffic
      to/from that Ethernet segment for a given VLAN, then the Ethernet
      segment is defined to be operating in Single-Active redundancy
      mode.

   o

   SMET:  Selective Multicast Ethernet Tag

   o

   ToR:  Top of Rack

   This document also assumes familiarity with the terminology of
   [RFC7432], [RFC3376], [RFC2236] . Though most of the place and [RFC2236].  When this document uses the
   term IGMP "IGMP Membership Report, Report", the text applies equally
   for applies to the MLD
   Membership Report too. Report.  Similarly, text for IGMPv2 applies to
   MLDv1 MLDv1, and
   text for IGMPv3 applies to MLDv2.  IGMP / MLD  IGMP/MLD version encoding in the
   BGP update is stated in Section 9 9.

   It is important to note that when there is text considering whether a
   PE indicates support for IGMP proxying, the corresponding behavior
   has a natural analogue analog for indication of indicating support for MLD proxying, and the
   analogous requirements apply as well.

4.  IGMP/MLD Proxy

   The IGMP Proxy mechanism is used to reduce the flooding of IGMP
   messages over an EVPN network network, similar to the ARP proxy used in
   reducing the flooding of ARP messages over EVPN.  It also provides a
   triggering mechanism for the PEs to setup set up their underlay multicast
   tunnels.  The IGMP Proxy mechanism consists of two components:

   1.  Proxy for IGMP Membership Reports. Reports

   2.  Proxy for IGMP Membership Queries. Queries

   The goal of IGMP and MLD proxying is to make the EVPN behave
   seamlessly for the tenant systems with respect to multicast
   operations,
   operations while using a more efficient delivery system for signaling
   and delivery across the VPN.  Accordingly, group state must be
   tracked synchronously among the PEs serving the VPN, with join and
   leave events propagated to the peer PEs, PEs and each PE tracking the
   state of each of its peer PEs with respect to whether there are
   locally attached group members (and in some cases, senders), what
   version(s) of IGMP/MLD are in use for those locally attached group
   members, etc.  In order to perform this translation, each PE acts as
   an IGMP router for the locally attached domain, and maintains the
   requisite state on locally attached nodes, sends periodic membership queries, Membership
   Queries, etc.  The role of EVPN SMET Selective Multicast Ethernet Tag
   (SMET) route propagation is to ensure that each PE's local state is
   propagated to the other PEs so that they share a consistent view of
   the overall IGMP Membership Request and Leave Group state.  It is
   important to note that the need to keep such local state can be
   triggered by either local IGMP traffic or BGP EVPN signaling.  In
   most cases cases, a local IGMP event will need to be signaled over EVPN,
   though state initiated by received EVPN traffic will not always need
   to be relayed to the locally attached domain.

4.1.  Proxy Reporting

   When IGMP protocol is used between hosts and their first hop EVPN router (EVPN
   PE), Proxy-reporting proxy reporting is used by the EVPN PE to summarize (when
   possible) reports received from downstream hosts and propagate them
   in BGP to other PEs that are interested in the information.  This is
   done by terminating the IGMP Membership Reports in the first hop PE, PE
   and translating and exchanging the relevant information among EVPN
   BGP speakers.  The information is again translated back to an IGMP
   message at the recipient EVPN speaker.  Thus  Thus, it helps create an IGMP
   overlay subnet using BGP.  In order to facilitate such an overlay,
   this document also defines a new EVPN route type NLRI, Network Layer
   Reachability Information (NLRI) and the EVPN Selective
   Multicast Ethernet Tag SMET route, along with
   its procedures to help exchange and register IGMP multicast groups groups;
   see Section 9.

4.1.1.  IGMP/MLD Membership Report Advertisement in BGP

   When a PE wants to advertise an IGMP Membership Report using the BGP
   EVPN route, it follows the following proceeding rules (BGP encoding is stated
   in Section 9).  Where  The first four rules are applicable to the originator PE
   PE, and the last three rules are applicable to remote PE processing
   SMET routes:

   Processing at the BGP route originator:

   1.  When the first hop PE receives IGMP Membership Reports , belonging
       to the same IGMP version, version from different attached hosts for the
       same (*,G) or (S,G), it SHOULD send a single BGP message
       corresponding to the very first IGMP Membership Request (BGP
       update as soon as possible) for that (*,G) or (S,G).  This is
       because BGP is a stateful protocol protocol, and no further transmission
       of the same report is needed.  If the IGMP Membership Request is
       for (*,G), then multicast group address the Multicast Group Address MUST be sent along
       with the corresponding version flag (v2 or v3) set.  In case of
       IGMPv3, the exclude flag MUST also be set to indicate that no
       source IP address must be excluded (include all sources "*").  If
       the IGMP Membership Report is for (S,G), then besides setting multicast
       group address the
       Multicast Group Address along with the version flag v3, v3 flag, the source IP
       address and the IE Include/Exclude (IE) flag MUST be set.  It should
       be noted that that, when advertising the EVPN route for (S,G), the
       only valid version flag is v3 (v2 flags MUST be set to zero). 0).

   2.  When the first hop PE receives an IGMPv3 Membership Report for
       (S,G) on a given BD, it MUST advertise the corresponding EVPN
       Selective Multicast Ethernet Tag (SMET) route
       SMET route, regardless of whether the source (S) is attached to
       itself or not not, in order to facilitate the source move in the
       future.

   3.  When the first hop PE receives an IGMP version-X Membership
       Report first for (*,G) and then later it receives an IGMP version-Y
       Membership Report for the same (*,G), then it MUST re-
       advertise re-advertise
       the same EVPN SMET route with the flag for version-Y set in
       addition to any previously-set previously set version flag(s).  In other words,
       the first hop PE MUST NOT withdraw the EVPN route before sending
       the new route because the flag Flags field is not part of BGP route
       key processing.

   4.  When the first hop PE receives an IGMP version-X Membership
       Report first for (*,G) and then later it receives an IGMPv3
       Membership Report for the same multicast group address Multicast Group Address but for a
       specific source address S, then the PE MUST advertise a new EVPN
       SMET route with the v3 flag set (and v2 reset).  The IE flag also
       need
       needs to be set accordingly.  Since the source IP address is used
       as part of BGP route key processing processing, it is considered as to be a new
       BGP route advertisement.  When different version versions of IGMP
       Membership Report are received, the final state MUST be as per section
       Section 5.1 of [RFC3376].  At the end of the route processing processing,
       local and remote group record state MUST be as per section Section 5.1 of
       [RFC3376].

   Processing at the BGP route receiver:

   1.  When a PE receives an EVPN SMET route with more than one version
       flag set, it will generate the corresponding IGMP report Report for
       (*,G) for each version specified in the flags Flags field.  With
       multiple version flags set, there must not be a source IP address
       in the received EVPN route.  If there is, then an error SHOULD be
       logged.  If the v3 flag is set (in addition to v2), then the IE
       flag MUST indicate "exclude".  If not, then an error SHOULD be
       logged.  The PE MUST generate an IGMP Membership Report for that
       (*,G) and each IGMP version in the version flag.

   2.  When a PE receives a list of EVPN SMET NLRIs in its BGP update
       message, each with a different source IP address and the same
       multicast group address,
       Multicast Group Address, and the version flag is set to v3, then
       the PE generates an IGMPv3 Membership Report with a record
       corresponding to the list of source IP addresses and the group
       address
       address, along with the proper indication of inclusion/exclusion.

   3.  Upon receiving an EVPN SMET route(s) and before generating the
       corresponding IGMP Membership Request(s), the PE checks to see
       whether it has any CE a Customer Edge (CE) multicast router for that BD
       on any of its
       ES's ESs . The PE provides such a check by listening for
       PIM Hello messages on that AC (i.e, ES,BD). AC, i.e., (ES,BD).  If the PE does
       have the router's ACs, then the generated IGMP Membership
       Request(s) are is sent to those ACs.  If it doesn't have any of the
       router's AC, ACs, then no IGMP Membership Request(s) needs to be
       generated.  This is because sending IGMP Membership Requests to
       other hosts can result in unintentionally preventing a host from
       joining a specific multicast group using IGMPv2 - IGMPv2, i.e., if the PE
       does not receive a Membership Report from the host host, it will not
       forward multicast data to it.  Per [RFC4541] , when an IGMPv2
       host receives a Membership Report for a group address that it
       intends to join, the host will suppress its own membership report Membership Report
       for the same group, and if the PE does not receive an IGMP
       Membership Report from the host host, it will not forward multicast
       data to it.  In other words, an IGMPv2 Membership Report MUST NOT
       be sent on an AC that does not lead to a CE multicast router.
       This message suppression is a requirement for IGMPv2 hosts.  This
       is not a problem for hosts running IGMPv3 IGMPv3, because there is no
       suppression of IGMP Membership Reports.

4.1.2.  IGMP/MLD Leave Group Advertisement in BGP

   When a PE wants to withdraw an EVPN SMET route corresponding to an
   IGMPv2 Leave Group or IGMPv3 "Leave" equivalent message, it follows
   the following rules, where rules below.  The first rule defines the procedure at the
   originator PE PE, and the last two rules talk about procedures at the
   remote PE:

   Processing at the BGP route originator:

   1.  When a PE receives an IGMPv2 Leave Group or its "Leave"
       equivalent message for IGMPv3 from its attached host, it checks
       to see if this host is the last host that is interested in this
       multicast group by sending a query for the multicast group.  If
       the host was indeed the last one (i.e. (i.e., no responses are received
       for the query), then the PE MUST re-advertises re-advertise the EVPN SMET
       Multicast route
       with the corresponding version flag reset.  If this is the last
       version flag to be reset, then instead of re-
       advertising re-advertising the EVPN
       route with all version flags reset, the PE MUST withdraw the EVPN
       route for that (*,G).

   Processing at the BGP route receiver:

   1.  When a PE receives an EVPN SMET route for a given (*,G), it
       compares the received version flags from the route with its per-
       PE stored version flags.  If the PE finds that a version flag
       associated with the (*,G) for the remote PE is reset, then the PE
       MUST generate IGMP Leave for that (*,G) toward its local
       interface (if any) any), which is attached to the multicast router for
       that multicast group.  It should be noted that the received EVPN
       route MUST have at least have one version flag set.  If all version
       flags are reset, it is an error because the PE should have
       received an EVPN route withdraw for the last version flag.  Error  An
       error MUST be considered as a BGP error error, and the PE MUST apply
       the "treat-as-
       withdraw" "treat-as-withdraw" procedure of per [RFC7606].

   2.  When a PE receives an EVPN SMET route withdraw, it removes the
       remote PE from its OIF list for that multicast group group, and if
       there are no more OIF entries for that multicast group (either
       locally or remotely), then the PE MUST stop responding to
       Membership Queries from the locally attached router (if any).  If
       there is a source for that multicast group, the PE stops sending
       multicast traffic for that source.

4.2.  Proxy Querier

   As mentioned in the previous sections, each PE MUST have proxy
   querier functionality for the following reasons:

   1.  To  to enable the collection of EVPN PEs providing L2VPN Layer 2 Virtual
       Private Network (L2VPN) service to act as a distributed multicast
       router with Anycast an anycast IP address for all attached hosts in that subnet.
       subnet

   2.  To  to enable suppression of IGMP Membership Reports and Membership
       Queries over MPLS/IP core. core

5.  Operation

   Consider the EVPN network of Figure-1, in Figure 1, where there is an EVPN
   instance configured across the PEs shown in this figure (namely PE1, PE2, and PE3).  Let's
   consider that this EVPN instance consists of a single bridge domain
   (single subnet) with all the hosts, sources, hosts and sources and the multicast
   router connected to this subnet.  PE1 only has
   hosts(host hosts (host denoted by
   Hx) connected to it.  PE2 has a mix of hosts and a multicast source.
   PE3 has a mix of hosts, a multicast source (source denoted by Sx),
   and a multicast router (router denoted by Rx).  Furthermore, let's
   consider that for (S1,G1), R1 is used as the multicast router.  The
   following subsections describe the IGMP proxy Proxy operation in different
   PEs with regard to whether the locally attached devices for that
   subnet are:

   o

   *  only hosts

   o hosts,

   *  a mix of hosts and a multicast source

   o source, or

   *  a mix of hosts, a multicast source, and a multicast router router.

                             +--------------+
                             |              |
                             |              |
                      +----+ |              | +----+
       H1:(*,G1)v2 ---|    | |              | |    |---- H6(*,G1)v2
       H2:(*,G1)v2 ---| PE1| |   IP/MPLS    | | PE2|---- H7(S2,G2)v3
       H3:(*,G1)v3 ---|    | |   Network    | |    |---- S2
       H4:(S2,G2)v3 --|    | |              | |    |
                      +----+ |              | +----+
                             |              |
                      +----+ |              |
       H5:(S1,G1)v3 --|    | |              |
                S1 ---| PE3| |              |
                R1 ---|    | |              |
                      +----+ |              |
                             |              |
                             +--------------+

                           Figure 1: EVPN network Network

5.1.  PE with only attached hosts Only Attached Hosts for a given subnet Given Subnet

   When PE1 receives an IGMPv2 Membership Report from H1, it does not
   forward this Membership Report to any of its other ports (for this
   subnet) because all these local ports are associated with the hosts.
   PE1 sends an EVPN Multicast Group SMET route corresponding to this Membership Report
   for (*,G1) and setting sets the v2 flag.  This EVPN route is received by PE2
   and PE3 that PE3, which are the members of the same BD (i.e., same EVI in case
   of a VLAN-based service or EVI,VLAN EVI and VLAN in case of VLAN-
   aware a VLAN-aware
   bundle service).  PE3 reconstructs the IGMPv2 Membership Report from
   this EVPN BGP route and only sends it to the port(s) with multicast
   routers attached to it (for that subnet).  In this example, PE3 sends
   the reconstructed IGMPv2 Membership Report for (*,G1) only to R1.
   Furthermore, even though PE2 receives the EVPN BGP route, it does not
   send it to any of its ports for that subnet; viz, subnet (viz., ports associated
   with H6 and H7. H7).

   When PE1 receives the second IGMPv2 Membership Report from H2 for the
   same multicast group (*,G1), it only adds that port to its OIF list list,
   but it doesn't send any EVPN BGP route routes because there is no change in
   information.  However, when it receives the IGMPv3 Membership Report
   from H3 for the same (*,G1).  Besides (*,G1), besides adding the corresponding port to
   its OIF list, it re-advertises the previously sent EVPN SMET route
   with the v3 and exclude flag set.

   Finally

   Finally, when PE1 receives the IGMPv3 Membership Report from H4 for
   (S2,G2), it advertises a new EVPN SMET route corresponding to it.

5.2.  PE with a mix Mix of attached hosts Attached Hosts and multicast source a Multicast Source

   The main difference in this case is that when PE2 receives the IGMPv3
   Membership Report from H7 for (S2,G2), it does advertise advertises it in BGP to
   support the source move moving, even though PE2 knows that S2 is attached
   to its local AC.  PE2 adds the port associated with H7 to its OIF
   list for (S2,G2).  The processing for IGMPv2 received from H6 is the
   same as the IGMPv2 Membership Report described in the previous
   section.

5.3.  PE with a mix Mix of attached hosts, Attached Hosts, a multicast source Multicast Source, and a router Router

   The main difference in this case relative to the previous two
   sections is that IGMP v2/v3 IGMPv2/v3 Membership Report messages received
   locally need to be sent to the port associated with router R1.
   Furthermore, the Membership Reports received via BGP (SMET) need to
   be passed to the R1 port but filtered for all other ports.

6.  All-Active Multi-Homing Multihoming

   Because the LAG Link Aggregation Group (LAG) flow hashing algorithm used
   by the CE is unknown at the PE, in an All-Active redundancy mode mode, it
   must be assumed that the CE can send a given IGMP message to any one
   of the multi-homed multihomed PEs, either DF Designated Forwarder (DF) or non-DF; non-DF,
   i.e., different IGMP Membership Request messages can arrive at
   different PEs in the redundancy group and furthermore group.  Furthermore, their
   corresponding Leave messages can arrive at PEs that are different
   from the ones that received the Membership Report.  Therefore, all
   PEs attached to a given ES Ethernet segment (ES) must coordinate the
   IGMP Membership Request and Leave Group (x,G) state, where x may be
   either
   '*' "*" or a particular source S, S for each BD on that ES.  Each PE
   has a local copy of that state state, and the EVPN signaling serves to
   synchronize that state across PEs.  This allows the DF for that
   (ES,BD) to correctly advertise or withdraw a Selective Multicast Ethernet Tag (SMET) SMET route for that
   (x,G) group in that BD when needed.  All-Active multihoming PEs for a
   given ES MUST support IGMP synchronization procedures described in
   this section if they need to perform IGMP proxy Proxy for hosts connected
   to that ES.

6.1.  Local IGMP/MLD Membership Report Synchronization

   When a PE, either DF or non-DF, receives an IGMP Membership Report
   for (x,G) on a given multihomed ES operating in All-Active redundancy
   mode, an IGMP Membership Report
   for (x,G), it determines the BD to which the IGMP Membership Report
   belongs.  If the PE doesn't already have the local IGMP Membership
   Request (x,G) state for that BD on that ES, it MUST instantiate that
   local IGMP Membership Request (x,G) state and MUST advertise a BGP
   IGMP Membership Report Synch route for that (ES,BD).  Local  The local IGMP
   Membership Request (x,G) state refers to the IGMP Membership Request
   (x,G) state that is created as a result of processing an IGMP
   Membership Report for (x,G).

   The IGMP Membership Report Synch route MUST carry the ES-Import RT Route
   Target (RT) for the ES on which the IGMP Membership Report was
   received.  Thus  Thus, it MUST only be imported by the PEs attached to that
   ES and not any other PEs.

   When a PE, either DF or non-DF, receives an IGMP Membership Report
   Synch route route, it installs that route route, and if it doesn't already have
   the IGMP Membership Request (x,G) state for that (ES,BD), it MUST
   instantiate that IGMP Membership Request (x,G) state - state, i.e., the IGMP
   Membership Request (x,G) state is the union of the local IGMP
   Membership Report (x,G) state and the installed IGMP Membership
   Report Synch route.  If the DF did not already advertise (originate)
   a SMET route for that (x,G) group in that BD, it MUST do so now.

   When a PE, either DF or non-DF, deletes its local IGMP Membership
   Request (x,G) state for that (ES,BD), it MUST withdraw its BGP IGMP
   Membership Report Synch route for that (ES,BD).

   When a PE, either DF or non-DF, receives the withdrawal of an IGMP
   Membership Report Synch route from another PE PE, it MUST remove that
   route.  When a PE has no local IGMP Membership Request (x,G) state
   and it has no installed IGMP Membership Report Synch routes, it MUST
   remove that IGMP Membership Request (x,G) state for that (ES,BD).  If
   the DF no longer has the IGMP Membership Request (x,G) state for that
   BD on any ES for which it is the DF, it MUST withdraw its SMET route
   for that (x,G) group in that BD.

   In other words, a PE advertises an a SMET route for that (x,G) group in
   that BD when it has the IGMP Membership Request (x,G) state in that BD on at
   least one ES for which it is DF the DF, and it withdraws that SMET route
   when it does not have an IGMP Membership Request (x,G) state in that
   BD on any ES for which it is the DF.

6.2.  Local IGMP/MLD Leave Group Synchronization

   When a PE, either DF or non-DF, receives, on a given multihomed ES
   operating in All-Active redundancy mode, receives an IGMP Leave Group message
   for (x,G) from the attached CE, CE on a given multihomed ES operating in
   All-Active redundancy mode, it determines the BD to which the IGMPv2
   Leave Group belongs.  Regardless of whether it has the IGMP
   Membership Request (x,G) state for that (ES,BD), it initiates the
   (x,G) leave group synchronization procedure, which consists of the
   following steps:

   1.  It computes the Maximum Response Time, which is the duration of
       the (x,G) leave group synchronization procedure.  This is the
       product of two locally configured values, Last Member Query Count
       and Last Member Query Interval (described in Section 3 of
       [RFC2236]), plus a delta corresponding to the time it takes for a
       BGP advertisement to propagate between the PEs attached to the
       multihomed ES (delta is a consistently configured value on all
       PEs attached to the multihomed ES).

   2.  It starts the Maximum Response Time timer.  Note that the receipt
       of subsequent IGMP Leave Group messages or BGP Leave Synch routes
       for (x,G) do not change the value of a currently running Maximum
       Response Time timer and are ignored by the PE.

   3.  It initiates the Last Member Query procedure described in
       Section 3 of [RFC2236]; viz, viz., it sends a number of Group-Specific
       Query (x,G) messages (Last Member Query Count) at a fixed
       interval (Last Member Query Interval) to the attached CE.

   4.  It advertises an IGMP Leave Synch route for that that (ES,BD).  This
       route notifies the other multihomed PEs attached to the given
       multihomed ES that it has initiated an (x,G) leave group
       synchronization procedure; procedure, i.e., it carries the ES-Import RT for
       the ES on which the IGMP Leave Group was received.  It also
       contains the Maximum Response Time.

   5.  When the Maximum Response Timer Time timer expires, the PE that has
       advertised the IGMP Leave Synch route withdraws it.

6.2.1.  Remote Leave Group Synchronization

   When a PE, either DF or non-DF, receives an IGMP Leave Synch route route,
   it installs that route and it starts a timer for (x,G) on the
   specified
   (ES,BD) (ES,BD), whose value is set to the Maximum Response Time in
   the received IGMP Leave Synch route.  Note that the receipt of
   subsequent IGMPv2 Leave Group messages or BGP Leave Synch routes for
   (x,G) do not change the value of a currently running Maximum Response
   Time timer and are ignored by the PE.

6.2.2.  Common Leave Group Synchronization

   If a PE attached to the multihomed ES receives an IGMP Membership
   Report for (x,G) before the Maximum Response Time timer expires, it
   advertises a BGP IGMP Membership Report Synch route for that (ES,BD).
   If it doesn't already have the local IGMP Membership Request (x,G)
   state for that (ES,BD), it instantiates that local IGMP Membership
   Request (x,G) state.  If the DF is not currently advertising
   (originating) a SMET route for that (x,G) group in that BD, it does
   so now.

   If a PE attached to the multihomed ES receives an IGMP Membership
   Report Synch route for (x,G) before the Maximum Response Time timer
   expires, it installs that route route, and if it doesn't already have the
   IGMP Membership Request (x,G) state for that BD on that ES, it
   instantiates that IGMP Membership Request (x,G) state.  If the DF has
   not already advertised (originated) a SMET route for that (x,G) group
   in that BD, it does so now.

   When the Maximum Response Timer expires Time timer expires, a PE that has
   advertised an IGMP Leave Synch route, route withdraws it.  Any PE attached
   to the multihomed ES, that which started the Maximum Response Time and has
   no local IGMP Membership Request (x,G) state and no installed IGMP
   Membership Report Synch routes, it removes the IGMP Membership Request
   (x,G) state for that (ES,BD).  If the DF no longer has the IGMP
   Membership Request (x,G) state for that BD on any ES for which it is
   the DF, it withdraws its SMET route for that (x,G) group in that BD.

6.3.  Mass Withdraw of the Multicast Membership Report Sync route Synch Route in case
      Case of
      failure Failure

   A PE which that has received an IGMP Membership Request would have synced
   the IGMP Membership Report by the procedure defined in section Section 6.1.
   If a PE with the local Membership Report state goes down or the PE to
   CE link goes down, it would lead to a mass withdraw of multicast
   routes.  Remote PEs (PEs where these routes were remote IGMP
   Membership Reports) SHOULD NOT remove the state immediately; instead instead,
   General Query SHOULD be generated to refresh the states.  There are
   several ways to detect failure at a peer, e.g. e.g., using IGP next hop next-hop
   tracking or ES route withdraw.

7.  Single-Active Multi-Homing Multihoming

   Note that to facilitate state synchronization after failover, the PEs
   attached to a multihomed ES operating in Single-Active redundancy
   mode SHOULD also coordinate the IGMP Membership Report (x,G) state.
   In this case case, all IGMP Membership Report messages are received by the
   DF and distributed to the non-DF PEs using the procedures described
   above.

8.  Selective Multicast Procedures for IR tunnels Tunnels

   If an ingress PE uses ingress replication, then for a given (x,G)
   group in a given BD:

   1.  It sends (x,G) traffic to the set of PEs not supporting IGMP or
       MLD Proxy. Proxies.  This set consists of any PE that has advertised an
       IMET
       Inclusive Multicast Ethernet Tag (IMET) route for the BD without
       a Multicast Flags extended
       community Extended Community or with a Multicast Flags extended community
       Extended Community in which neither the IGMP Proxy support nor
       the MLD Proxy support flags are set.

   2.  It sends (x,G) traffic to the set of PEs supporting IGMP or MLD
       Proxy
       Proxies and having has listeners for that (x,G) group in that BD.  This
       set consists of any PE that has advertised an IMET route for the
       BD with a Multicast Flags extended community Extended Community in which the IGMP
       Proxy support and/or the MLD Proxy support flags are set and that
       has advertised a SMET route for that (x,G) group in that BD.

9.  BGP Encoding

   This document defines three new BGP EVPN routes to carry IGMP
   Membership Reports.  The route types are known as:

   +

   6 -  Selective Multicast Ethernet Tag Route

   +

   7 -  Multicast Membership Report Synch Route

   +

   8 -  Multicast Leave Synch Route

   The detailed encoding and procedures for these route types are
   described in subsequent sections.

9.1.  Selective Multicast Ethernet Tag Route

   A Selective Multicast Ethernet Tag route type specific SMET route-type-specific EVPN NLRI consists of the following:

                 +---------------------------------------+
                 |  RD (8 octets)                        |
                 +---------------------------------------+
                 |  Ethernet Tag ID (4 octets)           |
                 +---------------------------------------+
                 |  Multicast Source Length (1 octet)    |
                 +---------------------------------------+
                 |  Multicast Source Address (variable)  |
                 +---------------------------------------+
                 |  Multicast Group Length (1 octet)     |
                 +---------------------------------------+
                 |  Multicast Group Address (Variable)   |
                 +---------------------------------------+
                 |  Originator Router Length (1 octet)   |
                 +---------------------------------------+
                 |  Originator Router Address (variable) |
                 +---------------------------------------+
                 |  Flags (1 octet)                      |
                 +---------------------------------------+

   For the purpose of BGP route key processing, all the fields are
   considered to be part of the prefix in the NLRI NLRI, except for the one-
   octet flag
   1-octet Flags field.  The Flags fields are defined as follows:

                           0  1  2  3  4  5  6  7
                         +--+--+--+--+--+--+--+--+
                         | reserved  |IE|v3|v2|v1|
                         +--+--+--+--+--+--+--+--+

   o

   *  The least significant bit, bit 7 (bit 7) indicates support for IGMP
      version 1.  Since IGMP V1 IGMPv1 is being deprecated deprecated, the sender MUST set
      it
      as to 0 for IGMP and the receiver MUST ignore it.

   o

   *  The second least significant bit, bit 6 (bit 6) indicates support for
      IGMP version 2.

   o

   *  The third least significant bit, bit 5 (bit 5) indicates support for IGMP
      version 3.

   o

   *  The fourth least significant bit, bit 4 (bit 4) indicates whether the
      (S,G) information carried within the route-type route type is of an Include
      Group type (bit value 0) or an Exclude Group type (bit value 1).
      The Exclude Group type bit MUST be ignored if bit 5 is not set.

   o

   *  This EVPN route type is used to carry tenant IGMP multicast group
      information.  The flag Flags field assists in distributing the IGMP
      Membership Report of a given host for a given multicast route.
      The version bits help associate the IGMP version of receivers
      participating within the EVPN domain.

   o

   *  The include/exclude (IE) IE bit helps in creating filters for a given multicast route.

   o

   *  If the route is used for IPv6 (MLD) (MLD), then bit 7 indicates support
      for MLD version 1.  The second least significant bit, bit 6 (bit 6)
      indicates support for MLD version 2.  Since there is no MLD
      version 3, in case of IPv6 route routes, the third least significant bit
      MUST be 0.  In case of IPv6 routes, the fourth least significant
      bit MUST be ignored if bit 6 is not set.

   o

   *  Reserved bits MUST be set to 0 by sender.  And the sender, and the receiver
      MUST ignore the Reserved bits.

9.1.1.  Constructing the Selective Multicast Ethernet Tag route Route

   This section describes the procedures used to construct the Selective
   Multicast Ethernet Tag (SMET) SMET
   route.

   The Route Distinguisher (RD) SHOULD be a Type 1 RD [RFC4364].  The
   value field comprises an IP address of the PE (typically, the
   loopback address) address), followed by a number unique to the PE.

   The Ethernet Tag ID MUST be set set, as per the procedure defined in
   [RFC7432].

   The Multicast Source Length MUST be set to the length of the multicast
   Multicast Source address Address in bits.  If the Multicast Source Address
   field contains an IPv4 address, then the value of the Multicast
   Source Length field is 32.  If the Multicast Source Address field
   contains an IPv6 address, then the value of the Multicast Source
   Length field is 128.  In case of a (*,G) Membership Report, the
   Multicast Source Length is set to 0.

   The Multicast Source Address is the source IP address from the IGMP
   Membership Report.  In case of a (*,G), (*,G) Membership Report, this field
   is not used.

   The Multicast Group Length MUST be set to the length of multicast group
   address the Multicast
   Group Address in bits.  If the Multicast Group Address field contains
   an IPv4 address, then the value of the Multicast Group Length field
   is 32.  If the Multicast Group Address field contains an IPv6
   address, then the value of the Multicast Group Length field is 128.

   The Multicast Group Address is the Group group address from the IGMP or MLD
   Membership Report.

   The Originator Router Length is the length of the Originator Router
   Address in bits.

   The Originator Router Address is the IP address of the router
   originating this route.  The SMET Originator Router IP address MUST
   match that of the IMET (or S-PMSI AD) Authentic Data (AD)) route
   originated for the same EVI by the same downstream PE.

   The Flags field indicates the version of IGMP protocol from which the
   Membership Report was received.  It also indicates whether the
   multicast group had the INCLUDE or EXCLUDE Include/Exclude bit set.

   Reserved bits MUST be set to 0.  They can be defined in future by other document.
   documents in the future.

   IGMP is used to receive group membership information from hosts by
   TORs.
   Top-of-the-Rack (ToR) switches.  Upon receiving the hosts host's expression
   of interest of in a particular group membership, this information is
   then forwarded using the SMET route.  The NLRI also keeps track of
   the receiver's IGMP protocol version and any source filtering for a given
   group membership.  All EVPN SMET routes are announced with per- per EVI Route
   Target extended
   communities. communities (EVI-RT ECs).

9.1.2.  Reconstructing IGMP / MLD IGMP/MLD Membership Reports from the Selective
        Multicast Route

   This section describes the procedures used to reconstruct IGMP / MLD IGMP/MLD
   Membership Reports from the SMET route.

   o

   *  If multicast group length the Multicast Group Length is 32, the route would be is translated to
      the IGMP
      membership request. Membership Request.  If multicast group length the Multicast Group Length is
      128, the route would
      be is translated to an MLD membership request.

   o Membership Request.

   *  The Multicast group address Group Address field would be is translated to IGMP / MLD the IGMP/MLD
      group address.

   o

   *  If the Multicast source length Source Length is set to zero 0, it would be is translated to
      any source (*).  If multicast source length the Multicast Source Length is non zero, non-zero, the
      Multicast source address Source Address field would be is translated to IGMP / MLD the IGMP/MLD
      source address.

   o

   *  If flag bit 7 is set, it translates the Membership report Report to be IGMP
      V1
      IGMPv1 or MLD V1.

   o MLDv1.

   *  If flag bit 6 is set, it translates the Membership report Report to be IGMP
      V2
      IGMPv2 or MLD V2.

   o MLDv2.

   *  Flag bit 5 is only valid for the IGMP Membership report and Report; if it is
      set, it translates to IGMP V3 the IGMPv3 report.

   o

   *  If the IE flag is set, it translate translates to IGMP / MLD the IGMP/MLD Exclude mode
      membership report.
      Membership Report.  If the IE flag is not set (zero), (0), it translates
      to the Include mode membership report. Membership Report.

9.1.3.  Default Selective Multicast Route

   If there is a multicast router connected behind the EVPN domain, the
   PE MAY originate a default SMET (*,*) to get all multicast traffic in
   the domain.

                             +--------------+
                             |              |
                             |              |
                             |              | +----+
                             |              | |    |---- H1(*,G1)v2
                             |   IP/MPLS    | | PE1|---- H2(S2,G2)v3
                             |   Network    | |    |---- S2
                             |              | |    |
                             |              | +----+
                             |              |
                      +----+ |              |
      +----+          |    | |              |
      |    |    S1 ---| PE2| |              |
      |PIM |----R1 ---|    | |              |
      |ASM |          +----+ |              |
      |    |                 |              |
      +----+                 +--------------+

             Figure 2: Multicast Router behind the EVPN domain Domain

   Consider the EVPN network of Figure-2, in Figure 2, where there is an EVPN
   instance configured across the PEs.  Let's consider that PE2 is
   connected to multicast router R1 and there is a network running PIM
   ASM behind R1.  If there are receivers behind the PIM ASM network network,
   the PIM Join would be forwarded to the PIM RP (Rendezvous Point). Rendezvous Point (RP).  If
   receivers behind the PIM ASM network are interested in a multicast
   flow originated by multicast source S2 (behind PE1), it is necessary
   for PE2 to receive multicast traffic.  In this case case, PE2 MUST
   originate a (*,*) SMET route to receive all of the multicast traffic
   in the EVPN domain.  To generate Wildcards wildcard (*,*) routes, the procedure
   from [RFC6625] MUST be used.

9.2.  Multicast Membership Report Synch Route

   This EVPN route type is used to coordinate the IGMP Membership Report
   (x,G) state for a given BD between the PEs attached to a given ES
   operating in All- Active All-Active (or Single-Active) redundancy mode mode, and it
   consists of the following:

           +--------------------------------------------------+
           |  RD (8 octets)                                   |
           +--------------------------------------------------+
           |  Ethernet Segment Identifier (10 octets)         |
           +--------------------------------------------------+
           |  Ethernet Tag ID  (4 octets)                     |
           +--------------------------------------------------+
           |  Multicast Source Length (1 octet)               |
           +--------------------------------------------------+
           |  Multicast Source Address (variable)             |
           +--------------------------------------------------+
           |  Multicast Group Length (1 octet)                |
           +--------------------------------------------------+
           |  Multicast Group Address (Variable)              |
           +--------------------------------------------------+
           |  Originator Router Length (1 octet)              |
           +--------------------------------------------------+
           |  Originator Router Address (variable)            |
           +--------------------------------------------------+
           |  Flags (1 octet)                                 |
           +--------------------------------------------------+

   For the purpose of BGP route key processing, all the fields are
   considered to be part of the prefix in the NLRI NLRI, except for the one-
   octet
   1-octet Flags field, whose fields are defined as follows:

                           0  1  2  3  4  5  6  7
                         +--+--+--+--+--+--+--+--+
                         | reserved  |IE|v3|v2|v1|
                         +--+--+--+--+--+--+--+--+

   o

   *  The least significant bit, bit 7 (bit 7) indicates support for IGMP
      version 1.

   o

   *  The second least significant bit, bit 6 (bit 6) indicates support for
      IGMP version 2.

   o

   *  The third least significant bit, bit 5 (bit 5) indicates support for IGMP
      version 3.

   o

   *  The fourth least significant bit, bit 4 (bit 4) indicates whether the (S,
      G) information carried within the route-type route type is of an Include
      Group type (bit value 0) or an Exclude Group type (bit value 1).
      The Exclude Group type bit MUST be ignored if bit 5 is not set.

   o

   *  Reserved bits MUST be set to 0.

   The Flags field assists in distributing the IGMP Membership Report of
   a given host for a given multicast route.  The version bits help
   associate the IGMP version of receivers participating within the EVPN
   domain.  The include/exclude Include/Exclude bit helps in creating filters for a
   given multicast route.

   If the route is being prepared for IPv6 (MLD) (MLD), then bit 7 indicates
   support for MLD version 1.  The second least significant bit, bit 6 (bit 6)
   indicates support for MLD version 2.  Since there is no MLD version
   3, in case of the IPv6 route route, the third least significant bit MUST be
   0.  In case of the IPv6 route, the fourth least significant bit MUST
   be ignored if bit 6 is not set.

9.2.1.  Constructing the Multicast Membership Report Synch Route

   This section describes the procedures used to construct the IGMP
   Membership Report Synch route.  Support for these route types is
   optional.  If a PE does not support this route, then it MUST NOT
   indicate that it supports 'IGMP proxy' "IGMP Proxy" in the Multicast Flag extended
   community Flags
   Extended Community for the EVIs corresponding to its multi-homed Ethernet
   Segments (ESs). multihomed ESs.

   An IGMP Membership Report Synch route MUST carry exactly one ES-
   Import Route Target extended community, i.e., the one that
   corresponds to the ES on which the IGMP Membership Report was
   received.  It MUST also carry exactly one EVI-RT EC, i.e., the one
   that corresponds to the EVI on which the IGMP Membership Report was
   received.  See Section 9.5 for details on how to encode and construct
   the EVI-RT EC.

   The Route Distinguisher (RD) RD SHOULD be a Type 1 RD [RFC4364].  The value field comprises an IP
   address of the PE (typically, the loopback address) address), followed by a
   number unique to the PE.

   The Ethernet Segment Identifier (ESI) MUST be set to the 10-octet
   value defined for the ES.

   The Ethernet Tag ID MUST be set set, as per the procedure defined in
   [RFC7432].

   The Multicast Source length Length MUST be set to the length of the
   Multicast Source
   address Address in bits.  If the Multicast Source field
   contains an IPv4 address, then the value of the Multicast Source
   Length field is 32.  If the Multicast Source field contains an IPv6
   address, then the value of the Multicast Source Length field is 128.
   In case of a (*,G) Membership Report, the Multicast Source Length is
   set to 0.

   The Multicast Source is the Source source IP address of the IGMP Membership
   Report.  In case of a (*,G) Membership Report, this field does not
   exist.

   The Multicast Group length Length MUST be set to the length of multicast group
   address the Multicast
   Group Address in bits.  If the Multicast Group field contains an IPv4
   address, then the value of the Multicast Group Length field is 32.
   If the Multicast Group field contains an IPv6 address, then the value
   of the Multicast Group Length field is 128.

   The Multicast Group is the Group group address of the IGMP Membership
   Report.

   The Originator Router Length is the length of the Originator Router
   address
   Address in bits.

   The Originator Router Address is the IP address of Router Originating the router
   originating the prefix.

   The Flags field indicates the version of IGMP protocol from which the
   Membership Report was received.  It also indicates whether the
   multicast group had INCLUDE or EXCLUDE the Include/Exclude bit set.

   Reserved bits MUST be set to 0.

9.2.2.  Reconstructing IGMP / MLD IGMP/MLD Membership Reports from a Multicast
        Membership Report Sync Synch Route

   This section describes the procedures used to reconstruct IGMP / MLD IGMP/MLD
   Membership Reports from the Multicast Membership Report Sync Synch route.

   o

   *  If multicast group length the Multicast Group Length is 32, the route would be is translated to
      the IGMP
      membership request. Membership Request.  If multicast group length the Multicast Group Length is
      128, the route would
      be is translated to an MLD membership request.

   o Membership Request.

   *  The Multicast group address Group Address field would be is translated to IGMP / MLD the IGMP/MLD
      group address.

   o

   *  If the Multicast source length Source Length is set to zero 0, it would be is translated to
      any source (*).  If multicast source length the Multicast Source Length is non zero, non-zero, the
      Multicast source address Source Address field would be is translated to IGMP / MLD the IGMP/MLD
      source address.

   o

   *  If flag bit 7 is set, it translates the Membership report Report to be IGMP
      V1
      IGMPv1 or MLD V1.

   o MLDv1.

   *  If flag bit 6 is set, it translates the Membership report Report to be IGMP
      V2
      IGMPv2 or MLD V2.

   o MLDv2.

   *  Flag bit 5 is only valid for the IGMP Membership report and Report; if it is
      set, it translates to IGMP V3 the IGMPv3 report.

   o

   *  If the IE flag is set, it translate translates to IGMP / MLD the IGMP/MLD Exclude mode
      membership report.
      Membership Report.  If the IE flag is not set (zero), (0), it translates
      to the Include mode membership report. Membership Report.

9.3.  Multicast Leave Synch Route

   This EVPN route type is used to coordinate the IGMP Leave Group (x,G)
   state for a given BD between the PEs attached to a given ES operating
   in an All-Active (or Single-Active) redundancy mode mode, and it consists
   of the following:

           +--------------------------------------------------+
           |  RD (8 octets)                                   |
           +--------------------------------------------------+
           |  Ethernet Segment Identifier (10 octets)         |
           +--------------------------------------------------+
           |  Ethernet Tag ID  (4 octets)                     |
           +--------------------------------------------------+
           |  Multicast Source Length (1 octet)               |
           +--------------------------------------------------+
           |  Multicast Source Address (variable)             |
           +--------------------------------------------------+
           |  Multicast Group Length (1 octet)                |
           +--------------------------------------------------+
           |  Multicast Group Address (Variable)              |
           +--------------------------------------------------+
           |  Originator Router Length (1 octet)              |
           +--------------------------------------------------+
           |  Originator Router Address (variable)            |
           +--------------------------------------------------+
           |  Reserved (4 octet) octets)                              |
           +--------------------------------------------------+
           |  Maximum Response Time (1 octet)                 |
           +--------------------------------------------------+
           |  Flags (1 octet)                                 |
           +--------------------------------------------------+

   For the purpose of BGP route key processing, all the fields are
   considered to be part of the prefix in the NLRI NLRI, except for the
   Reserved, Maximum Response Time Time, and the one-octet 1-octet Flags field, whose
   fields fields, which are
   defined as follows:

                           0  1  2  3  4  5  6  7
                         +--+--+--+--+--+--+--+--+
                         | reserved  |IE|v3|v2|v1|
                         +--+--+--+--+--+--+--+--+

   o

   *  The least significant bit, bit 7 (bit 7) indicates support for IGMP
      version 1.

   o

   *  The second least significant bit, bit 6 (bit 6) indicates support for
      IGMP version 2.

   o

   *  The third least significant bit, bit 5 (bit 5) indicates support for IGMP
      version 3.

   o

   *  The fourth least significant bit, bit 4 (bit 4) indicates whether the (S,
      G) information carried within the route-type route type is of an Include
      Group type (bit value 0) or an Exclude Group type (bit value 1).
      The Exclude Group type bit MUST be ignored if bit 5 is not set.

   o

   *  Reserved bits MUST be set to 0.  They can be defined in future by other document.
      documents in the future.

   The Flags field assists in distributing the IGMP Membership Report of
   a given host for a given multicast route.  The version bits help
   associate the IGMP version of the receivers participating within the
   EVPN domain.  The include/exclude Include/Exclude bit helps in creating filters for a
   given multicast route.

   If the route is being prepared for IPv6 (MLD) (MLD), then bit 7 indicates
   support for MLD version 1.  The second least significant bit, bit 6 (bit 6)
   indicates support for MLD version 2.  Since there is no MLD version
   3, in case of the IPv6 route route, the third least significant bit MUST be
   0.  In case of the IPv6 route, the fourth least significant bit MUST
   be ignored if bit 6 is not set.

   Reserved bits in the flag MUST be set to 0.  They can be defined in
   future by
   other document. documents in the future.

9.3.1.  Constructing the Multicast Leave Synch Route

   This section describes the procedures used to construct the IGMP
   Leave Synch route.  Support for these route types is optional.  If a
   PE does not support this route, then it MUST NOT indicate that it
   supports 'IGMP proxy' "IGMP Proxy" in the Multicast Flag extended community Flags Extended Community for
   the EVIs corresponding to its multi-homed multihomed Ethernet Segments. segments.

   An IGMP Leave Synch route MUST carry exactly one ES-Import Route
   Target extended community, i.e., the one that corresponds to the ES
   on which the IGMP Leave was received.  It MUST also carry exactly one
   EVI-RT EC, i.e., the one that corresponds to the EVI on which the
   IGMP Leave was received.  See Section 9.5 for details on how to form
   the EVI-RT EC.

   The Route Distinguisher (RD) RD SHOULD be a Type 1 RD [RFC4364].  The value field comprises an IP
   address of the PE (typically, the loopback address) address), followed by a
   number unique to the PE.

   The Ethernet Segment Identifier (ESI) ESI MUST be set to the 10-octet value defined for the ES.

   The Ethernet Tag ID MUST be set set, as per the procedure defined in
   [RFC7432].

   The Multicast Source length Length MUST be set to the length of multicast source
   address the
   Multicast Source Address in bits.  If the Multicast Source field
   contains an IPv4 address, then the value of the Multicast Source
   Length field is 32.  If the Multicast Source field contains an IPv6
   address, then the value of the Multicast Source Length field is 128.
   In case of a (*,G) Membership Report, the Multicast Source Length is
   set to 0.

   The Multicast Source is the Source source IP address of the IGMP Membership
   Report.  In case of a (*,G) Membership Report, this field does not
   exist.

   The Multicast Group length Length MUST be set to the length of multicast group
   address the Multicast
   Group Address in bits.  If the Multicast Group field contains an IPv4
   address, then the value of the Multicast Group Length field is 32.
   If the Multicast Group field contains an IPv6 address, then the value
   of the Multicast Group Length field is 128.

   The Multicast Group is the Group group address of the IGMP Membership
   Report.

   The Originator Router Length is the length of the Originator Router
   address
   Address in bits.

   The Originator Router Address is the IP address of Router Originating the router
   originating the prefix.

   The Reserved field is not part of the route key.  The originator MUST
   set the reserved Reserved field to Zero , 0; the receiver SHOULD ignore it it, and if it
   needs to be propagated, it MUST propagate it unchanged unchanged.

   The Maximum Response Time is the value to be used while sending query a
   query, as defined in [RFC2236] [RFC2236].

   The Flags field indicates the version of IGMP protocol from which the
   Membership Report was received.  It also indicates whether the
   multicast group had INCLUDE or EXCLUDE an Include/Exclude bit set.

9.3.2.  Reconstructing IGMP / MLD IGMP/MLD Leave from a Multicast Leave Sync Synch Route

   This section describes the procedures used to reconstruct IGMP / MLD IGMP/MLD
   Leave from the Multicast Leave Sync Synch route.

   o

   *  If multicast group length the Multicast Group Length is 32, the route would be is translated to
      IGMP Leave.  If multicast group length the Multicast Group Length is 128, the route would be is
      translated to MLD Leave.

   o

   *  The Multicast group address Group Address field would be is translated to IGMP / MLD an IGMP/MLD
      group address.

   o

   *  If the Multicast source length Source Length is set to zero 0, it would be is translated to
      any source (*).  If multicast source length the Multicast Source Length is non zero, non-zero, the
      Multicast source address Source Address field would be is translated to IGMP / MLD the IGMP/MLD
      source address.

   o

   *  If flag bit 7 is set, it translates the Membership report Report to be IGMP
      V1
      IGMPv1 or MLD V1.

   o MLDv1.

   *  If flag bit 6 is set, it translates the Membership report Report to be IGMP
      V2
      IGMPv2 or MLD V2.

   o MLDv2.

   *  Flag bit 5 is only valid for the IGMP Membership report and Report; if it is
      set, it translates to IGMP V3 the IGMPv3 report.

   o

   *  If the IE flag is set, it translate translates to IGMP / MLD the IGMP/MLD Exclude mode
      Leave.  If the IE flag is not set (zero), (0), it translates to the
      Include mode Leave.

   o

9.4.  Multicast Flags Extended Community

   The 'Multicast Flags' extended community Multicast Flags Extended Community is a new EVPN extended
   community. Extended
   Community.  EVPN extended communities Extended Communities are transitive extended
   communities with a Type field value Value of 6. 0x06.  IANA will assign a Sub-
   Type from has assigned 0x09 to
   Multicast Flags Extended Community in the 'EVPN "EVPN Extended Community Sub-Types' registry.
   Sub-Types" subregistry.

   A PE that supports IGMP and/or the MLD Proxy on a given BD MUST
   attach this extended community to the IMET route it advertises advertises for
   that BD BD, and it MUST set the IGMP and/or MLD Proxy Support flags to
   1.  Note that an [RFC7432] compliant a PE compliant with [RFC7432] will not advertise this
   extended community community, so its absence indicates that the advertising PE
   does not support either IGMP or MLD Proxy. Proxies.

   The advertisement of this extended community enables a more efficient
   multicast tunnel setup from the source PE specially for ingress
   replication -
   replication, i.e., if an egress PE supports the IGMP proxy Proxy but
   doesn't have any interest in a given (x,G), it advertises its IGMP proxy
   Proxy capability using this extended community community, but it does not
   advertise any SMET route for that (x,G).  When the source PE (ingress
   PE) receives such advertisements from the egress PE, it does not
   replicate the multicast traffic to that egress PE; however, it does
   replicate the multicast traffic to the egress PEs that don't
   advertise such capability capability, even if they don't have any interests in
   that (x,G).

   A Multicast Flags extended community Extended Community is encoded as an 8-octet value, value
   as follows:

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Type=0x06     |Sub-Type=0x09  |     Flags (2 Octets)      |M|I|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Reserved=0                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The low-order (lease (least significant) two 2 bits are defined as the "IGMP
   Proxy Support Support" and MLD "MLD Proxy Support" bit. bits (see Section 12.3.  The
   absence of this extended community also means that the PE does not
   support the IGMP
   proxy. Proxy, where:

   o

   *  The Type is 0x06 0x06, as registered with IANA for EVPN Extended
      Communities.

   o

   *  The Sub-Type : 0x09

   o is 0x09.

   *  Flags are two Octets value.

      * 2-octet values.

      -  Bit 15 (shown as I) defines IGMP Proxy Support.  Value  The value of 1
         for bit 15 means that the PE supports the IGMP Proxy.  Value  The
         value of 0 for bit 15 means that the PE does not supports support the
         IGMP Proxy.

      *

      -  Bit 14 (shown as M) defines MLD Proxy Support.  Value  The value of 1
         for bit 14 means that the PE supports the MLD Proxy.  Value  The value
         of 0 for bit 14 means that the PE does not support the MLD proxy.

      *  Bit
         Proxy.

      -  Bits 0 to 13 are reserved for the future.  Sender  The sender MUST set
         it 0 to 0, and the receiver MUST ignore it.

   o

   *  Reserved bits are set to 0.  Sender  The sender MUST set it to 0 0, and the
      receiver MUST ignore it.

   If a router does not support this specification, it MUST NOT add the
   Multicast Flags Extended Community in the BGP route.  A  When a router receiving
   receives a BGP update, if both M and I both flag flags are zero (0), 0, the router MUST
   treat this Update update as malformed.  Receiver  The receiver of such an update MUST
   ignore the extended community.

9.5.  EVI-RT Extended Community

   In EVPN, every EVI is associated with one or more Route Targets
   (RTs). Targets.
   These Route Targets RTs serve two functions:

   1.  Distribution control: RTs control the distribution of the routes.
       If a route carries the RT associated with a particular EVI, it
       will be distributed to all the PEs on which that EVI exists.

   2.  EVI identification: Once a route has been received by a
       particular PE, the RT is used to identify the EVI to which it
       applies.

   An IGMP Membership Report Synch or IGMP Leave Synch route is
   associated with a particular combination of ES and EVI.  These routes
   need to be distributed only to PEs that are attached to the
   associated ES.  Therefore  Therefore, these routes carry the ES-Import RT for
   that ES.

   Since an IGMP Membership Report Synch or IGMP Leave Synch route does
   not need to be distributed to all the PEs on which the associated EVI
   exists, these routes cannot carry the RT associated with that EVI.
   Therefore, when such a route arrives at a particular PE, the route's
   RTs cannot be used to identify the EVI to which the route applies.
   Some other means of associating the route with an EVI must be used.

   This document specifies four new Extended Communities (EC) ECs that can be used to identify the
   EVI with which a route is associated, associated but
   which do not have any effect on
   the distribution of the route.  These new ECs are known as the "Type 0
   EVI-RT EC", the "Type 1 EVI-RT EC",
   the "Type 2 EVI-RT EC", and the "Type 3 EVI-RT EVI-
   RT EC".

   1.  A Type 0 EVI-RT EC is an EVPN EC (type 6) of sub-type 0xA.

   2.  A Type 1 EVI-RT EC is an EVPN EC (type 6) of sub-type 0xB.

   3.  A Type 2 EVI-RT EC is an EVPN EC (type 6) of sub-type 0xC.

   4.  A Type 3 EVI-RT EC is an EVPN EC (type 6) of sub-type 0xD

   Each IGMP Membership Report Synch or IGMP Leave Synch route MUST
   carry exactly one EVI-RT EC.  The EVI-RT EC carried by a particular
   route is constructed as follows.  Each such route is the result of
   having received an IGMP Membership Report or an IGMP Leave message
   from a particular BD.  The route is said to be associated with that
   BD.  For each BD, there is a corresponding RT that is used to ensure
   that routes "about" that BD are distributed to all PEs attached to
   that BD.  So suppose a given IGMP Membership Report Synch or Leave
   Synch route is associated with a given BD, say BD1, and suppose that
   the corresponding RT for BD1 is RT1.  Then:

   o  0.

   *  If RT1 is a Transitive Two-Octet AS-specific EC, then the EVI-
      RT EVI-RT
      EC carried by the route is a Type 0 EVI-RT EC.  The value field of
      the Type 0 EVI-RT EC is identical to the value field of RT1.

   o  1.

   *  If RT1 is a Transitive IPv4-Address-specific EC, then the EVI-
      RT EVI-RT
      EC carried by the route is a Type 1 EVI-RT EC.  The value field of
      the Type 1 EVI-RT EC is identical to the value field of RT1.

   o  2.

   *  If RT1 is a Transitive Four-Octet-specific Four-Octet AS-specific EC, then the EVI-RT
      EC carried by the route is a Type 2 EVI-RT EC.  The value field of
      the Type 2 EVI-RT EC is identical to the value field of RT1.

   o  3.

   *  If RT1 is a Transitive IPv6-Address-specific EC, then the EVI-
      RT EVI-RT
      EC carried by the route is a Type 3 EVI-RT EC.  The value field of
      the Type 3 EVI-RT EC is identical to the value field of RT1.

   An IGMP Membership Report Synch or Leave Synch route MUST carry
   exactly one EVI-RT EC.

   Suppose a PE receives a particular IGMP Membership Report Synch or
   IGMP Leave Synch route, say R1, and suppose that R1 carries an ES-
   Import RT that is one of the PE's Import RTs.  If R1 has no EVI-RT
   EC, EC
   or has more than one EVI-RT EC, the PE MUST apply the "treat-as-
   withdraw" procedure of per [RFC7606].

   Note that an EVI-RT EC is not a Route Target Extended Community, extended community, is
   not visible to the RT Constrain mechanism [RFC4684], and is not
   intended to influence the propagation of routes by BGP.

                          1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Type=0x06     |  Sub-Type=n   |       RT associated with EVI  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             RT associated with the EVI  (cont.)               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Where the

   The value of 'n' "n" is 0x0A, 0x0B, 0x0C, or 0x0D 0x0D, corresponding to
   EVI-RT type EVI-
   RT types 0, 1, 2, or 3 3, respectively.

9.6.  Rewriting of RT ECs and EVI-RT ECs by ASBRs

   There are certain situations in which an ES is attached to a set of
   PEs that are not all in the same AS, or not all operated by the same
   provider.  In some such situations, this situation, the RT that corresponds to a particular
   EVI may be different in each AS.  If a route is propagated from AS1
   to AS2, an ASBR at the AS1/AS2 border may be provisioned configured with a policy
   that removes replaces the EVI RTs that are meaningful in for AS1 and
   replaces them with the corresponding (i.e., RTs corresponding to the
   same EVIs) EVI RTs that are meaningful in for
   AS2.  This is known as RT-
   rewriting.

   Note that if a given route's RTs are rewritten, and the route carries RT-rewriting.

   If an EVI-RT EC, the EVI-RT EC needs ASBR is configured to perform RT-rewriting of the EVI RTs in
   EVPN routes, it MUST be rewritten as well. configured to perform RT-rewriting of the
   corresponding EVI-RT extended communities in IGMP Join Synch and IGMP
   Leave Synch Routes.

9.7.  BGP Error Handling

   If a received BGP update contains Flags not in accordance with IGMP/
   MLD the
   IGMP/MLD version-X expectation, the PE MUST apply the "treat-as-withdraw" "treat-as-
   withdraw" procedure as per [RFC7606] [RFC7606].

   If a received BGP update is malformed such that BGP route keys cannot
   be extracted, then the BGP update MUST be considered as invalid.
   Receiving  The
   receiving PE MUST apply the "Session "session reset" procedure of per [RFC7606].

10.  IGMP Version 1 Membership Report

   This document does not provide any detail about IGMPv1 processing.
   Implementations are expected to only use IGMPv2 and above for IPv4
   and MLDv1 and above for IPv6.  IGMPv1 routes are considered invalid invalid,
   and the PE MUST apply the "treat-as-withdraw" procedure as per
   [RFC7606].

11.  Security Considerations

   This document describes a means to efficiently operate IGMP and MLD
   on a subnet constructed across multiple PODs or DCs via an EVPN
   solution.  The security considerations for the operation of the
   underlying EVPN and BGP substrate substrates are described in [RFC7432], and
   specific multicast considerations are outlined in [RFC6513] and
   [RFC6514].  The EVPN and associated IGMP proxy Proxy provides a single
   broadcast domain so the same security considerations of IGMPv2
   [RFC2236], IGMPv3 [RFC3376], MLD [RFC2710], or MLDv2 [RFC3810] apply.

12.  IANA Considerations

12.1.  EVPN Extended Community Sub-Types Registrations Registration

   IANA has allocated the following codepoints from in the EVPN "EVPN Extended
   Community Sub-Types sub-registry of Sub-Types" subregistry under the BGP "Border Gateway Protocol
   (BGP) Extended Communities Communities" registry.

    +================+====================================+===========+
    | Sub-Type Value | Name                               | Reference |
    +================+====================================+===========+
    | 0x09           | Multicast Flags Extended Community   [this document] | RFC 9251  |
    +----------------+------------------------------------+-----------+
    | 0x0A           | EVI-RT Type 0                        [this document]                      | RFC 9251  |
    +----------------+------------------------------------+-----------+
    | 0x0B           | EVI-RT Type 1                        [this document]                      | RFC 9251  |
    +----------------+------------------------------------+-----------+
    | 0x0C           | EVI-RT Type 2                        [this document]

   IANA is requested to allocate a new codepoint from the EVPN Extended
   Community sub-types registry for the following.                      | RFC 9251  |
    +----------------+------------------------------------+-----------+
    | 0x0D           | EVI-RT Type 3                        [this document]                      | RFC 9251  |
    +----------------+------------------------------------+-----------+

           Table 1: EVPN Extended Community Sub-Types Subregistry
                            Allocated Codepoints

12.2.  EVPN Route Type Types Registration

   IANA has allocated the following EVPN route types from in the EVPN "EVPN Route
   Type registry.
   Types" subregistry.

   6 -  Selective Multicast Ethernet Tag Route

   7 -  Multicast Membership Report Synch Route

   8 -  Multicast Leave Synch Route

12.3.  Multicast Flags Extended Community Registry

   The Multicast

   IANA has created and now maintains a new subregistry called
   "Multicast Flags Extended Community contains a Community" under the "Border Gateway
   Protocol (BGP) Extended Communities" registry.  The registration
   procedure is First Come First Served [RFC8126].  For the 16-bit Flags field.
   The
   field, the bits are numbered 0-15, from high-order high order to low-order. low order.  The
   registry should be was initialized as follows:

       +======+====================+===========+===================+
       | Bit  | Name               | Reference | Change Controller
       ----        --------------                   -------------        ------------------
       0 - 13 |
       +======+====================+===========+===================+
       | 0-13 | Unassigned         |           |                   |
       +------+--------------------+-----------+-------------------+
       | 14   | MLD Proxy Support                This document.  | RFC 9251  | IETF              |
       +------+--------------------+-----------+-------------------+
       | 15   | IGMP Proxy Support               This document | RFC 9251  | IETF

       The registration policy should be "First Come First Served".              |
       +------+--------------------+-----------+-------------------+

                Table 2: Multicast Flags Extended Community

13.  Acknowledgement

   The authors would like to thank Stephane Litkowski, Jorge Rabadan,
   Anoop Ghanwani, Jeffrey Haas, Krishna Muddenahally Ananthamurthy,
   Swadesh Agrawal for reviewing and providing valuable comment.

14.  Contributors

   Derek Yeung

   Arrcus

   Email: derek@arrcus.com

15.  References

15.1.

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

   [RFC2236]  Fenner, W., "Internet Group Management Protocol, Version
              2", RFC 2236, DOI 10.17487/RFC2236, November 1997,
              <https://www.rfc-editor.org/info/rfc2236>.

   [RFC2710]  Deering, S., Fenner, W., and B. Haberman, "Multicast
              Listener Discovery (MLD) for IPv6", RFC 2710,
              DOI 10.17487/RFC2710, October 1999,
              <https://www.rfc-editor.org/info/rfc2710>.

   [RFC3376]  Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
              Thyagarajan, "Internet Group Management Protocol, Version
              3", RFC 3376, DOI 10.17487/RFC3376, October 2002,
              <https://www.rfc-editor.org/info/rfc3376>.

   [RFC3810]  Vida, R., Ed. and L. Costa, Ed., "Multicast Listener
              Discovery Version 2 (MLDv2) for IPv6", RFC 3810,
              DOI 10.17487/RFC3810, June 2004,
              <https://www.rfc-editor.org/info/rfc3810>.

   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
              2006, <https://www.rfc-editor.org/info/rfc4364>.

   [RFC4684]  Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk,
              R., Patel, K., and J. Guichard, "Constrained Route
              Distribution for Border Gateway Protocol/MultiProtocol
              Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual
              Private Networks (VPNs)", RFC 4684, DOI 10.17487/RFC4684,
              November 2006, <https://www.rfc-editor.org/info/rfc4684>.

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

   [RFC6625]  Rosen, E., Ed., Rekhter, Y., Ed., Hendrickx, W., and R.
              Qiu, "Wildcards in Multicast VPN Auto-Discovery Routes",
              RFC 6625, DOI 10.17487/RFC6625, May 2012,
              <https://www.rfc-editor.org/info/rfc6625>.

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

   [RFC7606]  Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K.
              Patel, "Revised Error Handling for BGP UPDATE Messages",
              RFC 7606, DOI 10.17487/RFC7606, August 2015,
              <https://www.rfc-editor.org/info/rfc7606>.

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

15.2.

13.2.  Informative References

   [I-D.ietf-bess-evpn-bum-procedure-updates]

   [EVPN-BUM] Zhang, Z., Lin, W., Rabadan, J., Patel, K., and A.
              Sajassi, "Updates on EVPN BUM Procedures", draft-ietf-
              bess-evpn-bum-procedure-updates-14 (work Work in progress),
              Progress, Internet-Draft, draft-ietf-bess-evpn-bum-
              procedure-updates-14, 18 November 2021. 2021,
              <https://datatracker.ietf.org/doc/html/draft-ietf-bess-
              evpn-bum-procedure-updates-14>.

   [RFC4541]  Christensen, M., Kimball, K., and F. Solensky,
              "Considerations for Internet Group Management Protocol
              (IGMP) and Multicast Listener Discovery (MLD) Snooping
              Switches", RFC 4541, DOI 10.17487/RFC4541, May 2006,
              <https://www.rfc-editor.org/info/rfc4541>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

Acknowledgements

   The authors would like to thank Stephane Litkowski, Jorge Rabadan,
   Anoop Ghanwani, Jeffrey Haas, Krishna Muddenahally Ananthamurthy, and
   Swadesh Agrawal for their reviews and valuable comments.

Contributors

   Derek Yeung
   Arrcus
   Email: derek@arrcus.com

Authors' Addresses

   Ali Sajassi
   Cisco Systems
   821 Alder Drive,
   MILPITAS, CALIFORNIA Drive
   Milpitas, CA 95035
   UNITED STATES
   United States of America
   Email: sajassi@cisco.com

   Samir Thoria
   Cisco Systems
   821 Alder Drive,
   MILPITAS, CALIFORNIA Drive
   Milpitas, CA 95035
   UNITED STATES
   United States of America
   Email: sthoria@cisco.com

   Mankamana Mishra
   Cisco Systems
   821 Alder Drive,
   MILPITAS, CALIFORNIA Drive
   Milpitas, CA 95035
   UNITED STATES
   United States of America
   Email: mankamis@cisco.com

   Keyur PAtel Patel
   Arrcus
   UNITED STATES
   United States of America
   Email: keyur@arrcus.com

   John Drake
   Juniper Networks
   Email: jdrake@juniper.net

   Wen Lin
   Juniper Networks
   Email: wlin@juniper.net