<?xml version='1.0' encoding='ascii'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<rfc category="std" docName="draft-ietf-bess-evpn-redundant-mcast-source-03" ipr="trust200902" submissionType="IETF" obsoletes="" updates="" xml:lang="en">
  <!-- Generated by id2xml 1.5.0 on 2020-10-30T09:57:27Z -->

  <?rfc strict="yes"?>

  <?rfc compact="yes"?>

  <?rfc subcompact="no"?>

  <?rfc symrefs="yes"?>

  <?rfc sortrefs="no"?>

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

  <?rfc toc="yes"?>

  <front>
    <title abbrev="EVPN Redundant Sources">Multicast Source Redundancy in EVPN
    Networks</title>

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

      <address>
        <postal>
          <street>777 Middlefield Road</street>

          <city>Mountain View</city>

          <region>CA</region>

          <code>94043</code>

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

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

    <author fullname="Jayant Kotalwar" initials="J." surname="Kotalwar">
      <organization>Nokia</organization>

      <address>
        <postal>
          <street>701 E. Middlefield Road</street>

          <street>Mountain View, CA 94043 USA</street>
        </postal>

        <email>jayant.kotalwar@nokia.com</email>
      </address>
    </author>

    <author fullname="Senthil Sathappan" initials="S." surname="Sathappan">
      <organization>Nokia</organization>

      <address>
        <postal>
          <street>701 E. Middlefield Road</street>

          <street>Mountain View, CA 94043 USA</street>
        </postal>

        <email>senthil.sathappan@nokia.com</email>
      </address>
    </author>

    <author fullname="Zhaohui Zhang" initials="Z." surname="Zhang">
      <organization abbrev="Juniper">Juniper Networks</organization>

      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>

    <author fullname="Wen Lin" initials="W." surname="Lin">
      <organization abbrev="Juniper">Juniper Networks</organization>

      <address>
        <email>wlin@juniper.net</email>
      </address>
    </author>

    <author fullname="Eric C. Rosen" initials="E." surname="Rosen">
      <organization abbrev="Individual">Individual</organization>

      <address>
        <email>erosen52@gmail.com</email>
      </address>
    </author>

    <date day="6" month="February" year="2022"/>

    <workgroup>BESS Workgroup</workgroup>

    <abstract>
      <t>EVPN supports intra and inter-subnet IP multicast forwarding.
      However, EVPN (or conventional IP multicast techniques for that matter)
      do not have a solution for the case where: a) a given multicast group
      carries more than one flow (i.e., more than one source), and b) it is
      desired that each receiver gets only one of the several flows. Existing
      multicast techniques assume there are no redundant sources sending the
      same flow to the same IP multicast group, and, in case there were
      redundant sources, the receiver's application would deal with the
      received duplicated packets. This document extends the existing EVPN
      specifications and assumes that IP Multicast source redundancy may
      exist. It also assumes that, in case two or more sources send the same
      IP Multicast flows into the tenant domain, the EVPN PEs need to avoid
      that the receivers get packet duplication by following the described
      procedures.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="sect-1" title="Introduction" numbered="true" toc="default">
      <t>Intra and Inter-subnet IP Multicast forwarding are supported in EVPN
      networks. <xref target="I-D.ietf-bess-evpn-igmp-mld-proxy" pageno="false" format="default"/> describes
      the procedures required to optimize the delivery of IP Multicast flows
      when Sources and Receivers are connected to the same EVPN BD (Broadcast
      Domain), whereas <xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/> specifies
      the procedures to support Inter-subnet IP Multicast in a tenant network.
      Inter-subnet IP Multicast means that IP Multicast Source and Receivers
      of the same multicast flow are connected to different BDs of the same
      tenant.</t>

      <t><xref target="I-D.ietf-bess-evpn-igmp-mld-proxy" pageno="false" format="default"/>, <xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/> or conventional IP multicast
      techniques do not have a solution for the case where a given multicast
      group carries more than one flow (i.e., more than one source) and it is
      desired that each receiver gets only one of the several flows. Multicast
      techniques assume there are no redundant sources sending the same flows
      to the same IP multicast group, and, in case there were redundant
      sources, the receiver's application would deal with the received
      duplicated packets.</t>

      <t>As a workaround in conventional IP multicast (PIM or MVPN networks),
      if all the redundant sources are given the same IP address, each
      receiver will get only one flow. The reason is that, in conventional IP
      multicast, (S,G) state is always created by the RP (Rendezvous Point),
      and sometimes by the Last Hop Router (LHR). The (S,G) state always binds
      the (S,G) flow to a source-specific tree, rooted at the source IP
      address. If multiple sources have the same IP address, one may end up
      with multiple (S,G) trees. However, the way the trees are constructed
      ensures that any given LHR or RP is on at most one of them. The use of
      an anycast address assigned to multiple sources may be useful for warm
      standby redundancy solutions. However, on one hand, it's not really
      helpful for hot standby redundancy solutions and on the other hand,
      configuring the same IP address (in particular IPv4 address) in multiple
      sources may bring issues if the sources need to be reached by IP unicast
      traffic or if the sources are attached to the same Broadcast Domain.</t>

      <t>In addition, in the scenario where several G-sources are attached via
      EVPN/OISM, there is not necessarily any (S,G) state created for the
      redundant sources. The LHRs may have only (*,G) state, and there may not
      be an RP (creating (S,G) state) either. Therefore, this document extends
      the above two specifications and assumes that IP Multicast source
      redundancy may exist. It also assumes that, in case two or more sources
      send the same IP Multicast flows into the tenant domain, the EVPN PEs
      need to avoid that the receivers get packet duplication.</t>

      <t>The solution provides support for Warm Standby (WS) and Hot Standby
      (HS) redundancy. WS is defined as the redundancy scenario in which the
      upstream PEs attached to the redundant sources of the same tenant, make
      sure that only one source of the same flow can send multicast to the
      interested downstream PEs at the same time. In HS the upstream PEs
      forward the redundant multicast flows to the downstream PEs, and the
      downstream PEs make sure only one flow is forwarded to the interested
      attached receivers.</t>

      <section anchor="sect-1.1" title="Terminology" numbered="true" toc="default">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
        "OPTIONAL" in this document are to be interpreted as described in BCP
        14 <xref target="RFC2119" pageno="false" format="default"/> <xref target="RFC8174" pageno="false" format="default"/> when, and only
        when, they appear in all capitals, as shown here.</t>

        <t><list style="symbols">
            <t>PIM: Protocol Independent Multicast.</t>

            <t>MVPN: Multicast Virtual Private Networks.</t>

            <t>OISM: Optimized Inter-Subnet Multicast, as in <xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/>.</t>

            <t>Broadcast Domain (BD): an emulated ethernet, such that two
            systems on the same BD will receive each other's link-local
            broadcasts. In this document, BD also refers to the instantiation
            of a Broadcast Domain on an EVPN PE. An EVPN PE can be attached to
            one or multiple BDs of the same tenant.</t>

            <t>Designated Forwarder (DF): as defined in <xref target="RFC7432" pageno="false" format="default"/>, an ethernet segment may be multi-homed
            (attached to more than one PE). An ethernet segment may also
            contain multiple BDs, of one or more EVIs. For each such EVI, one
            of the PEs attached to the segment becomes that EVI's DF for that
            segment. Since a BD may belong to only one EVI, we can speak
            unambiguously of the BD's DF for a given segment.</t>

            <t>Upstream PE: in this document an Upstream PE is referred to as
            the EVPN PE that is connected to the IP Multicast source or
            closest to it. It receives the IP Multicast flows on local ACs
            (Attachment Circuits).</t>

            <t>Downstream PE: in this document a Downstream PE is referred to
            as the EVPN PE that is connected to the IP Multicast receivers and
            gets the IP Multicast flows from remote EVPN PEs.</t>

            <t>G-traffic: any frame with an IP payload whose IP Destination
            Address (IP DA) is a multicast group G.</t>

            <t>G-source: any system sourcing IP multicast traffic to G.</t>

            <t>SFG: Single Flow Group, i.e., a multicast group address G which
            represents traffic that contains only a single flow. However,
            multiple sources - with the same or different IP - may be
            transmitting an SFG.</t>

            <t>Redundant G-source: a host or router that transmits an SFG in a
            tenant network where there are more hosts or routers transmitting
            the same SFG. Redundant G-sources for the same SFG SHOULD have
            different IP addresses, although they MAY have the same IP address
            when in different BDs of the same tenant network. Redundant
            G-sources are assumed NOT to be "bursty" in this document (typical
            example are Broadcast TV G-sources or similar).</t>

            <t>P-tunnel: Provider tunnel refers to the type of tree a given
            upstream EVPN PE uses to forward multicast traffic to downstream
            PEs. Examples of P-tunnels supported in this document are Ingress
            Replication (IR), Assisted Replication (AR), Bit Indexed Explicit
            Replication (BIER), multicast Label Distribution Protocol (mLDP)
            or Point to Multi-Point Resource Reservation protocol with Traffic
            Engineering extensions (P2MP RSVP-TE).</t>

            <t>Inclusive Multicast Tree or Inclusive Provider Multicast
            Service Interface (I-PMSI): defined in <xref target="RFC6513" pageno="false" format="default"/>,
            in this document it is applicable only to EVPN and refers to the
            default multicast tree for a given BD. All the EVPN PEs that are
            attached to a specific BD belong to the I-PMSI for the BD. The
            I-PMSI trees are signaled by EVPN Inclusive Multicast Ethernet Tag
            (IMET) routes.</t>

            <t>Selective Multicast Tree or Selective Provider Multicast
            Service Interface (S-PMSI): defined in <xref target="RFC6513" pageno="false" format="default"/>,
            in this document it is applicable only to EVPN and refers to the
            multicast tree to which only the interested PEs of a given BD
            belong to. There are two types of EVPN S-PMSIs:<list style="symbols">
                <t>EVPN S-PMSIs that require the advertisement of S-PMSI AD
                routes from the upstream PE, as in <xref target="EVPN-BUM" pageno="false" format="default"/>.
                The interested downstream PEs join the S-PMSI tree as in <xref target="EVPN-BUM" pageno="false" format="default"/>.</t>

                <t>EVPN S-PMSIs that don't require the advertisement of S-PMSI
                AD routes. They use the forwarding information of the IMET
                routes, but upstream PEs send IP Multicast flows only to
                downstream PEs issuing Selective Multicast Ethernet Tag (SMET)
                routes for the flow. These S-PMSIs are only supported with the
                following P-tunnels: Ingress Replication (IR), Assisted
                Replication (AR) and BIER.</t>
              </list></t>
          </list></t>

        <t>This document also assumes familiarity with the terminology of
        <xref target="RFC7432" pageno="false" format="default"/>, <xref target="RFC4364" pageno="false" format="default"/>, <xref target="RFC6513" pageno="false" format="default"/>, <xref target="RFC6514" pageno="false" format="default"/>, <xref target="I-D.ietf-bess-evpn-igmp-mld-proxy" pageno="false" format="default"/>, <xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/>, <xref target="EVPN-RT5" pageno="false" format="default"/> and
        <xref target="EVPN-BUM" pageno="false" format="default"/>.</t>
      </section>

      <section anchor="sect-1.2" title="Background on IP Multicast Delivery in EVPN Networks" numbered="true" toc="default">
        <t>IP Multicast is all about forwarding a single copy of a packet from
        a source S to a group of receivers G along a multicast tree. That
        multicast tree can be created in an EVPN tenant domain where S and the
        receivers for G are connected to the same BD or different BD. In the
        former case, we refer to Intra-subnet IP Multicast forwarding, whereas
        the latter case will be referred to as Inter-subnet IP Multicast
        forwarding.</t>

        <section anchor="sect-1.2.1" title="Intra-subnet IP Multicast Forwarding" numbered="true" toc="default">
          <t>When the source S1 and receivers interested in G1 are attached to
          the same BD, the EVPN network can deliver the IP Multicast traffic
          to the receivers in two different ways (<xref target="ure-intra-subnet-ip-multicast" pageno="false" format="default"/>):</t>

          <figure anchor="ure-intra-subnet-ip-multicast" title="Intra-subnet IP Multicast" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
                  S1  +                        S1  +
        (a)       +   |              (b)       +   |
                  |   | (S1,G1)                |   | (S1,G1)
              PE1 |   |                    PE1 |   |
              +-----+ v                    +-----+ v
              |+---+|                      |+---+|
              ||BD1||                      ||BD1||
              |+---+|                      |+---+|
              +-----+                      +-----+
         +-------|-------+            +-------|
         |       |       |            |       |
         v       v       v            v       v
      +-----+ +-----+ +-----+      +-----+ +-----+ +-----+
      |+---+| |-----| |-----|      |+---+| |+---+| |+---+|
      ||BD1|| ||BD1|| ||BD1||      ||BD1|| ||BD1|| ||BD1||
      |+---+| |-----| |-----|      |+---+| |+---+| |+---+|
      +-----+ +-----+ +-----+      +-----+ +-----+ +-----+
      PE2|    PE3|    PE4|         PE2|    PE3|    PE4
       - | - - - | -     |          - | - - - | -
      |  |       |  |    |         |  |       |  |
         v       v       v            v       v
      |  R1      R2 |    R3        |  R1      R2 |    R3
       - - - G1- - -                - - - G1- - -
</artwork>
          </figure>

          <t>Model (a) illustrated in <xref target="ure-intra-subnet-ip-multicast" pageno="false" format="default"/> is referred to as "IP
          Multicast delivery as BUM traffic". This way of delivering IP
          Multicast traffic does not require any extensions to <xref target="RFC7432" pageno="false" format="default"/>, however, it sends the IP Multicast flows to
          non-interested receivers, such as e.g., R3 in <xref target="ure-intra-subnet-ip-multicast" pageno="false" format="default"/>. In this example,
          downstream PEs can snoop IGMP/MLD messages from the receivers so
          that layer-2 multicast state is created and, for instance, PE4 can
          avoid sending (S1,G1) to R3, since R3 is not interested in
          (S1,G1).</t>

          <t>Model (b) in <xref target="ure-intra-subnet-ip-multicast" pageno="false" format="default"/> uses
          an S-PMSI to optimize the delivery of the (S1,G1) flow. For
          instance, assuming PE1 uses IR, PE1 sends (S1,G1) only to the
          downstream PEs that issued an SMET route for (S1,G1), that is, PE2
          and PE3. In case PE1 uses any P-tunnel different than IR, AR or
          BIER, PE1 will advertise an S-PMSI A-D route for (S1,G1) and PE2/PE2
          will join that tree.</t>

          <t>Procedures for Model (b) are specified in <xref target="I-D.ietf-bess-evpn-igmp-mld-proxy" pageno="false" format="default"/>.</t>
        </section>

        <section anchor="sect-1.2.2" title="Inter-subnet IP Multicast Forwarding" numbered="true" toc="default">
          <t>If the source and receivers are attached to different BDs of the
          same tenant domain, the EVPN network can also use Inclusive or
          Selective Trees as depicted in <xref target="ure-inter-subnet-ip-multicast" pageno="false" format="default"/>, models (a) and (b)
          respectively.</t>

          <figure anchor="ure-inter-subnet-ip-multicast" title="Inter-subnet IP Multicast" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
                  S1  +                     S1  +
        (a)       +   |              (b)    +   |
                  |   | (S1,G1)             |   | (S1,G1)
              PE1 |   |                 PE1 |   |
              +-----+ v                 +-----+ v
              |+---+|                   |+---+|
              ||BD1||                   ||BD1||
              |+---+|                   |+---+|
              +-----+                   +-----+
         +-------|-------+         +-------|
         |       |       |         |       |
         v       v       v         v       v
      +-----+ +-----+ +-----+   +-----+ +-----+ +-----+
      |+---+| |+---+| |+---+|   |+---+| |+---+| |+---+|
      ||SBD|| ||SBD|| ||SBD||   ||SBD|| ||SBD|| ||SBD||
      |+-|-+| |+-|-+| |+---+|   |+-|-+| |+-|-+| |+---+|
      | VRF | | VRF | | VRF |   | VRF | | VRF | | VRF |
      |+-v-+| |+-v-+| |+---+|   |+-v-+| |+-v-+| |+---+|
      ||BD2|| ||BD3|| ||BD4||   ||BD2|| ||BD3|| ||BD4||
      |+-|-+| |+-|-+| |+---+|   |+-|-+| |+-|-+| |+---+|
      +--|--+ +--|--+ +-----+   +--|--+ +--|--+ +-----+
      PE2|    PE3|    PE4       PE2|    PE3|    PE4
       - | - - - | -             - | - - - | -
      |  |       |  |           |  |       |  |
         v       v                 v       v
      |  R1      R2 |    R3     |  R1      R2 |    R3
       - - - G1- - -             - - - G1- - -
</artwork>
          </figure>

          <t><xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/> specifies the
          procedures to optimize the Inter-subnet Multicast forwarding in an
          EVPN network. The IP Multicast flows are always sent in the context
          of the source BD. As described in <xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/>, if the downstream PE is not
          attached to the source BD, the IP Multicast flow is received on the
          SBD (Supplementary Broadcast Domain), as in the example in <xref target="ure-inter-subnet-ip-multicast" pageno="false" format="default"/>.</t>

          <t><xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/> supports Inclusive
          or Selective Multicast Trees, and as explained in <xref target="sect-1.2.1" pageno="false" format="default"/>, the Selective Multicast Trees are setup in a
          different way, depending on the P-tunnel being used by the source
          BD. As an example, model (a) in <xref target="ure-inter-subnet-ip-multicast" pageno="false" format="default"/> illustrates the use of an
          Inclusive Multicast Tree for BD1 on PE1. Since the downstream PEs
          are not attached to BD1, they will all receive (S1,G1) in the
          context of the SBD and will locally route the flow to the local ACs.
          Model (b) uses a similar forwarding model, however PE1 sends the
          (S1,G1) flow in a Selective Multicast Tree. If the P-tunnel is IR,
          AR or BIER, PE1 does not need to advertise an S-PMSI A-D route.</t>

          <t><xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/> is a superset of
          the procedures in <xref target="I-D.ietf-bess-evpn-igmp-mld-proxy" pageno="false" format="default"/>, in which sources and
          receivers can be in the same or different BD of the same tenant.
          <xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/> ensures every upstream
          PE attached to a source will learn of all other PEs (attached to the
          same Tenant Domain) that have interest in a particular set of flows.
          This is because the downstream PEs advertise SMET routes for a set
          of flows with the SBD's Route Target and they are imported by all
          the Upstream PEs of the tenant. As a result of that, inter-subnet
          multicasting can be done within the Tenant Domain, without requiring
          any Rendezvous Points (RP), shared trees, UMH selection or any other
          complex aspects of conventional multicast routing techniques.</t>
        </section>
      </section>

      <section anchor="sect-1.3" title="Multi-Homed IP Multicast Sources in EVPN" numbered="true" toc="default">
        <t>Contrary to conventional multicast routing technologies,
        multi-homing PEs attached to the same source can never create IP
        Multicast packet duplication if the PEs use a multi-homed Ethernet
        Segment (ES). <xref target="ure-all-active-multi-homing-and-oism" pageno="false" format="default"/>
        illustrates this by showing two multi-homing PEs (PE1 and PE2) that
        are attached to the same source (S1). We assume that S1 is connected
        to an all-active ES by a layer-2 switch (SW1) with a Link Aggregation
        Group (LAG) to PE1 and PE2.</t>

        <figure anchor="ure-all-active-multi-homing-and-oism" title="All-active Multi-homing and OISM" suppress-title="false" align="left" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
                                  S1
                                  |
                                  v
                               +-----+
                               | SW1 |
                               +-----+
                         +----  |   |
                  (S1,G1)| +----+   +----+
      IGMP               | | all-active  |
      J(S1,G1)     PE1   v |    ES-1     |    PE2
      +----&gt;   +-----------|---+     +---|-----------+
               | +---+   +---+ |     | +---+         |
       R1  &lt;-----|BD2|   |BD1| |     | |BD1|         |
               | +---+---+---+ |     | +---+---+     |
          +----|     |VRF|  |  |     |     |VRF|     |----+
          |    | +---+---+  |  |     | +---+---+     |    |
          |    | |SBD|      |  |     | |SBD|         |    |
          |    | +---+      |  |     | +---+         |    |
          |    +------------|--+     +---------------+    |
          |                 |                             |
          |                 |                             |
          |                 |                             |
          |  EVPN           |               ^             |
          |  OISM           v    PE3        | SMET        |
          |              +---------------+  | (*,G1)      |
          |              | +---+         |  |             |
          |              | |SBD|         |                |
          |              | +---+---+     |                |
          +--------------|     |VRF|     |----------------+
                         | +---+---+---+ |
                         | |BD2|   |BD3| |
                         | +-|-+   +-|-+ |
                         +---|-------|---+
                         ^   |       |   ^
                IGMP     |   v       v   | IGMP
                 J(*,G1) |  R2       R3  | J(S1,G1)
</artwork>
        </figure>

        <t>When receiving the (S1,G1) flow from S1, SW1 will choose only one
        link to send the flow, as per <xref target="RFC7432" pageno="false" format="default"/>. Assuming PE1
        is the receiving PE on BD1, the IP Multicast flow will be forwarded as
        soon as BD1 creates multicast state for (S1,G1) or (*,G1). In the
        example of <xref target="ure-all-active-multi-homing-and-oism" pageno="false" format="default"/>,
        receivers R1, R2 and R3 are interested in the multicast flow to G1. R1
        will receive (S1,G1) directly via the IRB interface as per <xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/>. Upon receiving IGMP reports
        from R2 and R3, PE3 will issue an SMET (*,G1) route that will create
        state in PE1's BD1. PE1 will therefore forward the IP Multicast flow
        to PE3's SBD and PE3 will forward to R2 and R3, as per <xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/> procedures.</t>

        <t>When IP Multicast source multi-homing is required, EVPN multi-homed
        Ethernet Segments MUST be used. EVPN multi-homing guarantees that only
        one Upstream PE will forward a given multicast flow at the time,
        avoiding packet duplication at the Downstream PEs. In addition, the
        SMET route for a given flow creates state in all the multi-homing
        Upstream PEs. Therefore, in case of failure on the Upstream PE
        forwarding the flow, the backup Upstream PE can forward the flow
        immediately.</t>

        <t>This document assumes that multi-homing PEs attached to the same
        source always use multi-homed Ethernet Segments.</t>
      </section>

      <section anchor="sect-1.4" title="The Need for Redundant IP Multicast Sources in EVPN" numbered="true" toc="default">
        <t>While multi-homing PEs to the same IP Multicast G-source provides
        certain level of resiliency, multicast applications are often critical
        in the Operator's network and greater level of redundancy is required.
        This document assumes that:</t>

        <t><list style="letters">
            <t>Redundant G-sources for an SFG may exist in the EVPN tenant
            network. A Redundant G-source is a host or a router that sends an
            SFG in a tenant network where there is another host or router
            sending traffic to the same SFG.</t>

            <t>Those redundant G-sources may be in the same BD or different
            BDs of the tenant. There must not be restrictions imposed on the
            location of the receiver systems either.</t>

            <t>The redundant G-sources can be single-homed to only one EVPN PE
            or multi-homed to multiple EVPN PEs.</t>

            <t>The EVPN PEs must avoid duplication of the same SFG on the
            receiver systems.</t>
          </list></t>
      </section>
    </section>

    <section anchor="sect-2" title="Solution Overview" numbered="true" toc="default">
      <t>An SFG is represented as (*,G) if any source that issues multicast
      traffic to G is a redundant G-source. Alternatively, this document
      allows an SFG to be represented as (S,G), where S is a prefix of any
      length. In this case, a source is considered a redundant G-source for
      the SFG if it is contained in the prefix. This document allows variable
      length prefixes in the Sources advertised in S-PMSI A-D routes only for
      the particular application of redundant G-sources.</t>

      <t>There are two redundant G-source solutions described in this
      document:</t>

      <t><list style="symbols">
          <t>Warm Standby (WS) Solution</t>

          <t>Hot Standby (HS) Solution</t>
        </list></t>

      <t>The WS solution is considered an upstream-PE-based solution (since
      downstream PEs do not participate in the procedures), in which all the
      upstream PEs attached to redundant G-sources for an SFG represented by
      (*,G) or (S,G) will elect a "Single Forwarder" (SF) among themselves.
      Once a SF is elected, the upstream PEs add an Reverse Path Forwarding
      (RPF) check to the (*,G) or (S,G) state for the SFG:</t>

      <t><list style="symbols">
          <t>A non-SF upstream PE discards any (*,G)/(S,G) packets received
          over a local AC.</t>

          <t>The SF accepts and forwards any (*,G)/(S,G) packets it receives
          over a single local AC (for the SFG). In case (*,G)/(S,G) packets
          for the SFG are received over multiple local ACs, they will be
          discarded in all the local ACs but one. The procedure to choose the
          local AC that accepts packets is a local implementation matter.</t>
        </list></t>

      <t>A failure on the SF will result in the election of a new SF. The
      Election requires BGP extensions on the existing EVPN routes. These
      extensions and associated procedures are described in <xref target="sect-3" pageno="false" format="default"/> and <xref target="sect-4" pageno="false" format="default"/> respectively.</t>

      <t>In the HS solution the downstream PEs are the ones avoiding the SFG
      duplication. The upstream PEs are aware of the locally attached
      G-sources and add a unique Ethernet Segment Identifier label (ESI-label)
      per SFG to the SFG packets forwarded to downstream PEs. The downstream
      PEs pull the SFG from all the upstream PEs attached to the redundant
      G-sources and avoid duplication on the receiver systems by adding an RPF
      check to the (*,G) state for the SFG:</t>

      <t><list style="symbols">
          <t>A downstream PE discards any (*,G) packets it receives from the
          "wrong G-source".</t>

          <t>The wrong G-source is identified in the data path by an ESI-label
          that is different than the ESI-label used for the selected G-
          source.</t>

          <t>Note that the ESI-label is used here for "ingress filtering" (at
          the egress/downstream PE) as opposed to the <xref target="RFC7432" pageno="false" format="default"/>
          "egress filtering" (at the egress/downstream PE) used in the
          split-horizon procedures. In <xref target="RFC7432" pageno="false" format="default"/> the ESI-label
          indicates what egress ACs must be skipped when forwarding BUM
          traffic to the egress. In this document, the ESI-label indicates
          what ingress traffic must be discarded at the downstream PE.</t>
        </list></t>

      <t>The use of ESI-labels for SFGs forwarded by upstream PEs require some
      control plane and data plane extensions in the procedures used by <xref target="RFC7432" pageno="false" format="default"/> for multi-homing. Upon failure of the selected
      G-source, the downstream PE will switch over to a different selected
      G-source, and will therefore change the RPF check for the (*,G) state.
      The extensions and associated procedures are described in <xref target="sect-3" pageno="false" format="default"/> and <xref target="sect-5" pageno="false" format="default"/> respectively.</t>

      <t>An operator should use the HS solution if they require a fast
      fail-over time and the additional bandwidth consumption is acceptable
      (SFG packets are received multiple times on the downstream PEs).
      Otherwise the operator should use the WS solution, at the expense of a
      slower fail-over time in case of a G-source or upstream PE failure.
      Besides bandwidth efficiency, another advantage of the WS solution is
      that only the upstream PEs attached to the redundant G-sources for the
      same SFG need to be upgraded to support the new procedures.</t>

      <t>This document does not impose the support of both solutions on a
      system. If one solution is supported, the support of the other solution
      is OPTIONAL.</t>
    </section>

    <section anchor="sect-3" title="BGP EVPN Extensions" numbered="true" toc="default">
      <t>This document makes use of the following BGP EVPN extensions:</t>

      <t><list style="numbers">
          <t>SFG flag in the Multicast Flags Extended Community<vspace blankLines="1"/>The Single Flow Group (SFG) flag is a new bit
          requested to IANA out of the registry Multicast Flags Extended
          Community Flag Values. This new flag is set for S-PMSI A-D routes
          that carry a (*,G)/(S,G) SFG in the NLRI.</t>

          <t>ESI Label Extended Community is used in S-PMSI A-D routes<vspace blankLines="1"/>The HS solution requires the advertisement of one or
          more ESI Label Extended Communities <xref target="RFC7432" pageno="false" format="default"/> that
          encode the Ethernet Segment Identifier(s) associated to an S-PMSI
          A-D (*,G)/(S,G) route that advertises the presence of an SFG. Only
          the ESI Label value in the extended community is relevant to the
          procedures in this document. The Flags field in the extended
          community will be advertised as 0x00 and ignored on reception. <xref target="RFC7432" pageno="false" format="default"/> specifies that the ESI Label Extended Community
          is advertised along with the A-D per ES route. This documents
          extends the use of this extended community so that it can be
          advertised multiple times (with different ESI values) along with the
          S-PMSI A-D route.</t>
        </list></t>
    </section>

    <section anchor="sect-4" title="Warm Standby (WS) Solution for Redundant G-Sources" numbered="true" toc="default">
      <t>The general procedure is described as follows:</t>

      <t><list style="numbers">
          <t>Configuration of the upstream PEs <vspace blankLines="1"/>Upstream PEs (possibly attached to redundant
          G-sources) need to be configured to know which groups are carrying
          only flows from redundant G-sources, that is, the SFGs in the tenant
          domain. They will also be configured to know which local BDs may be
          attached to a redundant G-source. The SFGs can be configured for any
          source, E.g., SFG for "*", or for a prefix that contains multiple
          sources that will issue the same SFG, i.e., "10.0.0.0/30". In the
          latter case sources 10.0.0.1 and 10.0.0.2 are considered as
          Redundant G-sources, whereas 10.0.0.10 is not considered a redundant
          G-source for the same SFG.<vspace blankLines="1"/>As an
          example:<list style="symbols">
              <t>PE1 is configured to know that G1 is an SFG for any source
              and redundant G-sources for G1 may be attached to BD1 or
              BD2.</t>

              <t>Or PE1 can also be configured to know that G1 is an SFG for
              the sources contained in 10.0.0.0/30, and those redundant
              G-sources may be attached to BD1 or BD2.</t>
            </list></t>

          <t>Signaling the location of a G-source for a given SFG<vspace blankLines="1"/>Upon receiving G-traffic for a configured SFG on a
          BD, an upstream PE configured to follow this procedure, e.g., PE1:
          <list style="symbols">
              <t>Originates an S-PMSI A-D (*,G)/(S,G) route for the SFG. An
              (*,G) route is advertised if the SFG is configured for any
              source, and an (S,G) route is advertised (where the Source can
              have any length) if the SFG is configured for a prefix.</t>

              <t>The S-PMSI A-D route is imported by all the PEs attached to
              the tenant domain. In order to do that, the route will use the
              SBD-RT (Supplementary Broadcast Domain Route-Target) in addition
              to the BD-RT of the BD over which the G-traffic is received. The
              route SHOULD also carry a DF Election Extended Community (EC)
              and a flag indicating that it conveys an SFG. The DF Election EC
              and its use is specified in <xref target="RFC8584" pageno="false" format="default"/>.</t>

              <t>The above S-PMSI A-D route MAY be advertised with or without
              PMSI Tunnel Attribute (PTA):<list style="symbols">
                  <t>With no PTA if an I-PMSI or S-PMSI A-D with IR/AR/BIER
                  are to be used.</t>

                  <t>With PTA in any other case.</t>
                </list></t>

              <t>The S-PMSI A-D route is triggered by the first packet of the
              SFG and withdrawn when the flow is not received anymore.
              Detecting when the G-source is no longer active is a local
              implementation matter. The use of a timer is RECOMMENDED. The
              timer is started when the traffic to G1 is not received. Upon
              expiration of the timer, the PE will withdraw the route</t>
            </list></t>

          <t>Single Forwarder (SF) Election<vspace blankLines="1"/>If the PE
          with a local G-source receives one or more S-PMSI A-D routes for the
          same SFG from a remote PE, it will run a Single Forwarder (SF)
          Election based on the information encoded in the DF Election EC. Two
          S-PMSI A-D routes are considered for the same SFG if they are
          advertised for the same tenant, and their Multicast Source Length,
          Multicast Source, Multicast Group Length and Multicast Group fields
          match.<list style="numbers">
              <t>A given DF Alg can only be used if all the PEs running the DF
              Alg have consistent input. For example, in an OISM network, if
              the redundant G-sources for an SFG are attached to BDs with
              different Ethernet Tags, the Default DF Election Alg MUST NOT be
              used.</t>

              <t>In case the there is a mismatch in the DF Election Alg or
              capabilities advertised by two PEs competing for the SF, the
              lowest PE IP address (given by the Originator Address in the S-
              PMSI A-D route) will be used as a tie-breaker.</t>
            </list></t>

          <t>RPF check on the PEs attached to a redundant G-source<vspace blankLines="1"/>All the PEs with a local G-source for the SFG will
          add an RPF check to the (*,G)/(S,G) state for the SFG. That RPF
          check depends on the SF Election result:<list style="numbers">
              <t>The non-SF PEs discard any (*,G)/(S,G) packets for the SFG
              received over a local AC.</t>

              <t>The SF accepts any (*,G)/(S,G) packets for the SFG it
              receives over one (and only one) local AC.</t>
            </list></t>
        </list>The solution above provides redundancy for SFGs and it does not
      require an upgrade of the downstream PEs (PEs where there is certainty
      that no redundant G-sources are connected). Other G-sources for non-SFGs
      may exist in the same tenant domain. This document does not change the
      existing procedures for non-SFG G-sources.</t>

      <t>The redundant G-sources can be single-homed or multi-homed to a BD in
      the tenant domain. Multi-homing does not change the above
      procedures.</t>

      <t><xref target="sect-4.1" pageno="false" format="default"/> and <xref target="sect-4.2" pageno="false" format="default"/> show two
      examples of the WS solution.</t>

      <section anchor="sect-4.1" title="WS Example in an OISM Network" numbered="true" toc="default">
        <t><xref target="ure-ws-solution-for-redundant-g-sources" pageno="false" format="default"/>
        illustrates an example in which S1 and S2 are redundant G- sources for
        the SFG (*,G1).</t>

        <figure anchor="ure-ws-solution-for-redundant-g-sources" title="WS Solution for Redundant G-Sources" suppress-title="false" align="left" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
                     S1 (Single               S2
                     |   Forwarder)           |
              (S1,G1)|                 (S2,G1)|
                     |                        |
            PE1      |               PE2      |
            +--------v---+           +--------v---+
     S-PMSI |      +---+ |           |      +---+ | S-PMSI
     (*,G1) |  +---|BD1| |           |  +---|BD2| | (*,G1)
    Pref200 |  |VRF+---+ |           |  |VRF+---+ | Pref100
      |SFG  |+---+  | |  |           |+---+  |    |  SFG|
      | +----|SBD|--+ |  |-----------||SBD|--+    |---+ |
      v |   |+---+    |  |           |+---+       |   | v
        |   +---------|--+           +------------+   |
 SMET   |             |                               | SMET
 (*,G1) |             |   (S1,G1)                     | (*,G1)
        |    +--------+------------------+            |
    ^   |    |                           |            |   ^
    |   |    |                EVPN       |            |   |
    |   |    |                OISM       |            |   |
    |   |    |                           |            |   |
    PE3 |    |           PE4             |            | PE5
    +--------v---+       +------------+  |   +------------+
    |      +---+ |       |      +---+ |  |   |      +---+ |
    |  +---|SBD| |-------|  +---|SBD| |--|---|  +---|SBD| |
    |  |VRF+---+ |       |  |VRF+---+ |  |   |  |VRF+---+ |
    |+---+  |    |       |+---+  |    |  |   |+---+  |    |
    ||BD3|--+    |       ||BD4|--+    |  +---&gt;|BD1|--+    |
    |+---+       |       |+---+       |      |+---+       |
    +------------+       +------------+      +------------+
      |  ^                                     |  ^
      |  | IGMP                                |  | IGMP
      R1 | J(*,G1)                             R3 | J(*,G1)
</artwork>
        </figure>

        <t>The WS solution works as follows:</t>

        <t><list style="numbers">
            <t>Configuration of the upstream PEs, PE1 and PE2<vspace blankLines="1"/> PE1 and PE2 are configured to know that G1 is an
            SFG for any source and redundant G-sources for G1 may be attached
            to BD1 or BD2, respectively.</t>

            <t>Signaling the location of S1 and S2 for (*,G1)<vspace blankLines="1"/> Upon receiving (S1,G1) traffic on a local AC, PE1
            and PE2 originate S-PMSI A-D (*,G1) routes with the SBD-RT, DF
            Election Extended Community (EC) and a flag indicating that it
            conveys an SFG.</t>

            <t>Single Forwarder (SF) Election<vspace blankLines="1"/> Based on
            the DF Election EC content, PE1 and PE2 elect an SF for (*,G1).
            Assuming both PEs agree on e.g., Preference based Election as the
            algorithm to use <xref target="DF-PREF" pageno="false" format="default"/>, and PE1 has a higher
            preference, PE1 becomes the SF for (*,G1).</t>

            <t>RPF check on the PEs attached to a redundant G-source<list style="letters">
                <t>The non-SF, PE2, discards any (*,G1) packets received over
                a local AC.</t>

                <t>The SF, PE1 accepts (*,G1) packets it receives over one
                (and only one) local AC.</t>
              </list></t>
          </list></t>

        <t>The end result is that, upon receiving reports for (*,G1) or
        (S,G1), the downstream PEs (PE3 and PE5) will issue SMET routes and
        will pull the multicast SFG from PE1, and PE1 only. Upon a failure on
        S1, the AC connected to S1 or PE1 itself will trigger the S-PMSI A-D
        (*,G1) withdrawal from PE1 and PE2 will be promoted to SF.</t>
      </section>

      <section anchor="sect-4.2" title="WS Example in a Single-BD Tenant Network" numbered="true" toc="default">
        <t><xref target="ure-ws-solution-for-redundant-g-sources-in-the-same-bd" pageno="false" format="default"/>
        illustrates an example in which S1 and S2 are redundant G-sources for
        the SFG (*,G1), however, now all the G-sources and receivers are
        connected to the same BD1 and there is no SBD.</t>

        <figure anchor="ure-ws-solution-for-redundant-g-sources-in-the-same-bd" title="WS Solution for Redundant G-Sources in the same BD" suppress-title="false" align="left" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
                     S1 (Single               S2
                     |   Forwarder)           |
              (S1,G1)|                 (S2,G1)|
                     |                        |
            PE1      |               PE2      |
            +--------v---+           +--------v---+
    S-PMSI  |      +---+ |           |      +---+ | S-PMSI
    (*,G1)  |      |BD1| |           |      |BD1| | (*,G1)
    Pref200 |      +---+ |           |      +---+ | Pref100
     |SFG   |         |  |           |            |  SFG|
     |  +---|         |  |-----------|            |---+ |
     v  |   |         |  |           |            |   | v
        |   +---------|--+           +------------+   |
 SMET   |             |                               | SMET
 (*,G1) |             |     (S1,G1)                   | (*,G1)
        |    +--------+------------------------+      |
    ^   |    |                                 |      |   ^
    |   |    |                EVPN             |      |   |
    |   |    |                                 |      |   |
    |   |    |                                 |      |   |
    PE3 |    |           PE4                   |      | PE5
    +--------v---+       +------------+      +-|----------+
    |      +---+ |       |      +---+ |      | |    +---+ |
    |      |BD1| |-------|      |BD1| |------| +---&gt;|BD1| |
    |      +---+ |       |      +---+ |      |      +---+ |
    |            |       |            |      |            |
    |            |       |            |      |            |
    |            |       |            |      |            |
    +------------+       +------------+      +------------+
      |  ^                                     |  ^
      |  | IGMP                                |  | IGMP
      R1 | J(*,G1)                             R3 | J(*,G1)
</artwork>
        </figure>

        <t>The same procedure as in <xref target="sect-4.1" pageno="false" format="default"/> is valid here,
        being this a sub-case of the one in <xref target="sect-4.1" pageno="false" format="default"/>. Upon
        receiving traffic for the SFG G1, PE1 and PE2 advertise the S-PMSI A-D
        routes with BD1-RT only, since there is no SBD.</t>
      </section>
    </section>

    <section anchor="sect-5" title="Hot Standby (HS) Solution for Redundant G-Sources" numbered="true" toc="default">
      <t>If fast-failover is required upon the failure of a G-source or PE
      attached to the G-source and the extra bandwidth consumption in the
      tenant network is not an issue, the HS solution should be used. The
      procedure is as follows:</t>

      <t><list style="numbers">
          <t>Configuration of the PEs<vspace blankLines="1"/>As in the WS
          case, the upstream PEs where redundant G-sources may exist need to
          be configured to know which groups (for any source or a prefix
          containing the intended sources) are carrying only flows from
          redundant G-sources, that is, the SFGs in the tenant domain. <vspace blankLines="1"/>In addition (and this is not done in WS mode), the
          individual redundant G-sources for an SFG need to be associated with
          an Ethernet Segment (ES) on the upstream PEs. This is irrespective
          of the redundant G-source being multi-homed or single-homed. Even
          for single-homed redundant G-sources the HS procedure relies on the
          ESI labels for the RPF check on downstream PEs. The term "S-ESI" is
          used in this document to refer to an ESI associated to a redundant
          G-source. <vspace blankLines="1"/>Contrary to what is specified in
          the WS method (that is transparent to the downstream PEs), the
          support of the HS procedure is required not only on the upstream PEs
          but also on all downstream PEs connected to the receivers in the
          tenant network. The downstream PEs do not need to be configured to
          know the connected SFGs or their ESIs, since they get that
          information from the upstream PEs. The downstream PEs will locally
          select an ESI for a given SFG, and will program an RPF check to the
          (*,G)/(S,G) state for the SFG that will discard (*,G)/(S,G) packets
          from the rest of the ESIs. The selection of the ESI for the SFG is
          based on local policy.</t>

          <t>Signaling the location of a G-source for a given SFG and its
          association to the local ESIs<vspace blankLines="1"/> Based on the
          configuration in step 1, an upstream PE configured to follow the HS
          procedures: <list style="letters">
              <t>Advertises an S-PMSI A-D (*,G)/(S,G) route per each
              configured SFG. These routes need to be imported by all the PEs
              of the tenant domain, therefore they will carry the BD-RT and
              SBD-RT (if the SBD exists). The route also carries the ESI Label
              Extended Communities needed to convey all the S-ESIs associated
              to the SFG in the PE.</t>

              <t>The S-PMSI A-D route will convey a PTA in the same cases as
              in the WS procedure.</t>

              <t>The S-PMSI A-D (*,G)/(S,G) route is triggered by the
              configuration of the SFG and not by the reception of
              G-traffic.</t>
            </list></t>

          <t>Distribution of DCB (Domain-wide Common Block) ESI-labels and
          G-source ES routes<vspace blankLines="1"/> An upstream PE advertises
          the corresponding ES, A-D per EVI and A-D per ES routes for the
          local S-ESIs. <list style="letters">
              <t>ES routes are used for regular DF Election for the S-ES. This
              document does not introduce any change in the procedures related
              to the ES routes.</t>

              <t>The A-D per EVI and A-D per ES routes MUST include the SBD-RT
              since they have to be imported by all the PEs in the tenant
              domain.</t>

              <t>The A-D per ES routes convey the S-ESI labels that the
              downstream PEs use to add the RPF check for the (*,G)/(S,G)
              associated to the SFGs. This RPF check requires that all the
              packets for a given G-source are received with the same S-ESI
              label value on the downstream PEs. For example, if two redundant
              G-sources are multi-homed to PE1 and PE2 via S-ES-1 and S-ES-2,
              PE1 and PE2 MUST allocate the same ESI label "Lx" for S-ES-1 and
              they MUST allocate the same ESI label "Ly" for S-ES-2. In
              addition, Lx and Ly MUST be different. These ESI labels are
              Domain-wide Common Block (DCB) labels and follow the allocation
              procedures in <xref target="I-D.ietf-bess-mvpn-evpn-aggregation-label" pageno="false" format="default"/>.</t>
            </list></t>

          <t>Processing of A-D per ES/EVI routes and RPF check on the
          downstream PEs<vspace blankLines="1"/>The A-D per ES/EVI routes are
          received and imported in all the PEs in the tenant domain. The
          processing of the A-D per ES/EVI routes on a given PE depends on its
          configuration: <list style="letters">
              <t>The PEs attached to the same BD of the BD-RT that is included
              in the A-D per ES/EVI routes will process the routes as in <xref target="RFC7432" pageno="false" format="default"/> and <xref target="RFC8584" pageno="false" format="default"/>. If the
              receiving PE is attached to the same ES as indicated in the
              route, <xref target="RFC7432" pageno="false" format="default"/> split-horizon procedures will be
              followed and the DF Election candidate list may be modified as
              in <xref target="RFC8584" pageno="false" format="default"/> if the ES supports the AC-DF
              capability.</t>

              <t>The PEs that are not attached to the BD-RT but are attached
              to the SBD of the received SBD-RT, will import the A-D per
              ES/EVI routes and use them for redundant G-source mass
              withdrawal, as explained later.</t>

              <t>Upon importing A-D per ES routes corresponding to different
              S-ESes, a PE MUST select a primary S-ES and add an RPF check to
              the (*,G)/(S,G) state in the BD or SBD. This RPF check will
              discard all ingress packets to (*,G)/(S,G) that are not received
              with the ESI-label of the primary S-ES. The selection of the
              primary S-ES is a matter of local policy.</t>
            </list></t>

          <t>G-traffic forwarding for redundant G-sources and fault
          detection<vspace blankLines="1"/>Assuming there is (*,G) or (S,G)
          state for the SFG with OIF (Ouput Interface) list entries associated
          to remote EVPN PEs, upon receiving G-traffic on a S-ES, the upstream
          PE will add a S-ESI label at the bottom of the stack before
          forwarding the traffic to the remote EVPN PEs. This label is
          allocated from a DCB as described in step 3. If P2MP or BIER PMSIs
          are used, this is not adding any new data path procedures on the
          upstream PEs (except that the ESI-label is allocated from a DCB as
          described in <xref target="I-D.ietf-bess-mvpn-evpn-aggregation-label" pageno="false" format="default"/>). However, if
          IR/AR are used, this document extends the <xref target="RFC7432" pageno="false" format="default"/>
          procedures by pushing the S-ESI labels not only on packets sent to
          the PEs that shared the ES but also to the rest of the PEs in the
          tenant domain. This allows the downstream PEs to receive all the
          multicast packets from the redundant G-sources with a S-ESI label
          (irrespective of the PMSI type and the local ESes), and discard any
          packet that conveys a S-ESI label different from the primary S-ESI
          label (that is, the label associated to the selected primary S-ES),
          as discussed in step 4. <vspace blankLines="1"/>If the last A-D per
          EVI or the last A-D per ES route for the primary S-ES is withdrawn,
          the downstream PE will immediately select a new primary S-ES and
          will change the RPF check. Note that if the S-ES is re-used for
          multiple tenant domains by the upstream PEs, the withdrawal of all
          the A-D per-ES routes for a S-ES provides a mass withdrawal
          capability that makes a downstream PE to change the RPF check in all
          the tenant domains using the same S-ES. <vspace blankLines="1"/>The
          withdrawal of the last S-PMSI A-D route for a given (*,G)/(S,G) that
          represents a SFG SHOULD make the downstream PE remove the S-ESI
          label based RPF check on (*,G)/(S,G).</t>
        </list></t>

      <section anchor="sect-5.1" title="Extensions for the Advertisement of DCB Labels" numbered="true" toc="default">
        <t>DCB Labels are specified in <xref target="I-D.ietf-bess-mvpn-evpn-aggregation-label" pageno="false" format="default"/> and this document
        makes use of them for the procedures described in <xref target="sect-5" pageno="false" format="default"/>. <xref target="I-D.ietf-bess-mvpn-evpn-aggregation-label" pageno="false" format="default"/> assumes that DCB
        labels can only be used along with MP2MP/P2MP/BIER tunnels and that,
        if the PMSI label is signaled as a DCB label, then the ESI label used
        for multi-homing is also a DCB label. This document extends the use of
        the DCB allocation for ESI labels so that: <list style="letters">
            <t>DCB-allocated ESI labels MAY be used along with IR tunnels,
            and</t>

            <t>DCB-allocated ESI labels MAY be used by PEs that do not use
            DCB-allocated PMSI labels.</t>
          </list>This control plane extension is indicated by adding the
        DCB-flag or the Context Label Space ID Extended Community to the A-D
        per ES route(s) advertised for the S-ES. The DCB-flag is encoded in
        the ESI Label Extended Community as follows:</t>

        <t><figure anchor="ESI-label" title="ESI Label Extended Community" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">                     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=0x01 | Flags(1 octet)|  Reserved=0   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Reserved=0   |          ESI Label                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          </figure>This document defines the bit 5 in the Flags octet of the
        ESI Label Extended Community as the ESI-DCB-flag. When the
        ESI-DCB-flag is set, it indicates that the ESI label is a DCB
        label.</t>

        <t>A received ESI label is considered DCB if either of these two
        conditions is met:</t>

        <t><list style="letters">
            <t>The ESI label is encoded in an ESI Label Extended Community
            with the ESI-DCB-flag set.</t>

            <t>The ESI label is signaled from a PE that advertised a PMSI
            label that is a DCB label.</t>
          </list></t>

        <t>As in <xref target="I-D.ietf-bess-mvpn-evpn-aggregation-label" pageno="false" format="default"/>
        this document also allows the use of context label space ID Extended
        Community. When the context label space ID extended community is
        advertised along with the ESI label in an A-D per ES route, the ESI
        label is from a context label space identified by the DCB label in the
        Extended Community.</t>
      </section>

      <section anchor="sect-5.2" title="Use of BFD in the HS Solution" numbered="true" toc="default">
        <t>In addition to using the state of the A-D per EVI, A-D per ES or
        S-PMSI A-D routes to modify the RPF check on (*,G)/(S,G) as discussed
        in <xref target="sect-5" pageno="false" format="default"/>, Bidirectional Forwarding Detection (BFD)
        protocol MAY be used to find the status of the multipoint tunnels used
        to forward the SFG from the redundant G-sources.</t>

        <t>The BGP-BFD Attribute is advertised along with the S-PMSI A-D or
        IMET routes (depending on whether I-PMSI or S-PMSI trees are used) and
        the procedures described in <xref target="EVPN-BFD" pageno="false" format="default"/> are used to
        bootstrap multipoint BFD sessions on the downstream PEs.</t>
      </section>

      <section anchor="sect-5.3" title="HS Example in an OISM Network" numbered="true" toc="default">
        <t><xref target="ure-hs-solution-for-multi-homed-redundant-g-sources-in-oism" pageno="false" format="default"/>
        illustrates the HS model in an OISM network. Consider S1 and S2 are
        redundant G-sources for the SFG (*,G1) in BD1 (any source using G1 is
        assumed to transmit an SFG). S1 and S2 are (all-active) multi-homed to
        upstream PEs, PE1 and PE2. The receivers are attached to downstream
        PEs, PE3 and PE5, in BD3 and BD1, respectively. S1 and S2 are assumed
        to be connected by a LAG to the multi-homing PEs, and the multicast
        traffic can use the link to either upstream PE. The diagram
        illustrates how S1 sends the G-traffic to PE1 and PE1 forwards to the
        remote interested downstream PEs, whereas S2 sends to PE2 and PE2
        forwards further. In this HS model, the interested downstream PEs will
        get duplicate G-traffic from the two G-sources for the same SFG. While
        the diagram shows that the two flows are forwarded by different
        upstream PEs, the all-active multi-homing procedures may cause that
        the two flows come from the same upstream PE. Therefore, finding out
        the upstream PE for the flow is not enough for the downstream PEs to
        program the required RPF check to avoid duplicate packets on the
        receiver.</t>

        <figure anchor="ure-hs-solution-for-multi-homed-redundant-g-sources-in-oism" title="HS Solution for Multi-homed Redundant G-Sources in OISM" suppress-title="false" align="left" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
                     S1(ESI-1)                S2(ESI-2)
                     |                        |
                     | +----------------------+
              (S1,G1)| |               (S2,G1)|
                     +----------------------+ |
            PE1      | |             PE2    | |
            +--------v---+           +--------v---+
            |      +---+ |           |      +---+ |  S-PMSI
 S-PMSI     |  +---|BD1| |           |  +---|BD1| |  (*,G1)
 (*,G1)     |  |VRF+---+ |           |  |VRF+---+ |   SFG
  SFG       |+---+  | |  |           |+---+  | |  |   ESI1,2
 ESI1,2 +---||SBD|--+ |  |-----------||SBD|--+ |  |---+  |
    |   |   |+---+    |  |   EVPN    |+---+    |  |   |  v
    v   |   +---------|--+   OISM    +---------|--+   |
        |             |                        |      |
        |             |   (S1,G1)              |      |
 SMET   |   +---------+------------------+     |      | SMET
 (*,G1) |   |                            |     |      | (*,G1)
    ^   |   | +----------------------------+---+      |   ^
    |   |   | |             (S2,G1)      | |          |   |
    |   |   | |                          | |          |   |
    PE3 |   | |          PE4             | |          | PE5
    +-------v-v--+       +------------+  | | +------------+
    |      +---+ |       |      +---+ |  | | |      +---+ |
    |  +---|SBD| +-------|  +---|SBD| |--|-|-|  +---|SBD| |
    |  |VRF+---+ |       |  |VRF+---+ |  | | |  |VRF+---+ |
    |+---+  |    |       |+---+  |    |  | | |+---+  |    |
    ||BD3|--+    |       ||BD4|--+    |  | +-&gt;|BD1|--+    |
    |+---+       |       |+---+       |  +---&gt;+---+       |
    +------------+       +------------+      +------------+
      |  ^                                     |  ^
      |  | IGMP                                |  | IGMP
      R1 | J(*,G1)                             R3 | J(*,G1)
</artwork>
        </figure>

        <t>In this scenario, the HS solution works as follows:</t>

        <t><list style="numbers">
            <t>Configuration of the upstream PEs, PE1 and PE2<vspace blankLines="1"/>PE1 and PE2 are configured to know that G1 is an
            SFG for any source (a source prefix length could have been
            configured instead) and the redundant G-sources for G1 use S-ESIs
            ESI-1 and ESI-2 respectively. Both ESes are configured in both PEs
            and the ESI value can be configured or auto-derived. The ESI-label
            values are allocated from a DCB <xref target="I-D.ietf-bess-mvpn-evpn-aggregation-label" pageno="false" format="default"/> and are
            configured either locally or by a centralized controller. We
            assume ESI-1 is configured to use ESI-label-1 and ESI-2 to use
            ESI-label-2. <vspace blankLines="1"/>The downstream PEs, PE3, PE4
            and PE5 are configured to support HS mode and select the G-source
            with e.g., lowest ESI value.</t>

            <t>PE1 and PE2 advertise S-PMSI A-D (*,G1) and ES/A-D per ES/EVI
            routes<vspace blankLines="1"/>Based on the configuration of step
            1, PE1 and PE2 advertise an S-PMSI A-D (*,G1) route each. The
            route from each of the two PEs will include TWO ESI Label Extended
            Communities with ESI-1 and ESI-2 respectively, as well as BD1-RT
            plus SBD-RT and a flag that indicates that (*,G1) is an SFG.
            <vspace blankLines="1"/>In addition, PE1 and PE2 advertise ES and
            A-D per ES/EVI routes for ESI-1 and ESI-2. The A-D per ES and per
            EVI routes will include the SBD-RT so that they can be imported by
            the downstream PEs that are not attached to BD1, e.g., PE3 and
            PE4. The A-D per ES routes will convey ESI-label-1 for ESI-1 (on
            both PEs) and ESI-label-2 for ESI-2 (also on both PEs).</t>

            <t>Processing of A-D per ES/EVI routes and RPF check<vspace blankLines="1"/>PE1 and PE2 received each other's ES and A-D per
            ES/EVI routes. Regular <xref target="RFC7432" pageno="false" format="default"/> <xref target="RFC8584" pageno="false" format="default"/> procedures will be followed for DF Election and
            programming of the ESI-labels for egress split-horizon filtering.
            PE3/PE4 import the A-D per ES/EVI routes in the SBD. Since PE3 has
            created a (*,G1) state based on local interest, PE3 will add an
            RPF check to (*,G1) so that packets coming with ESI-label-2 are
            discarded (lowest ESI value is assumed to give the primary
            S-ES).</t>

            <t>G-traffic forwarding and fault detection<vspace blankLines="1"/>PE1 receives G-traffic (S1,G1) on ES-1 that is
            forwarded within the context of BD1. Irrespective of the tunnel
            type, PE1 pushes ESI-label-1 at the bottom of the stack and the
            traffic gets to PE3 and PE5 with the mentioned ESI-label (PE4 has
            no local interested receivers). The G-traffic with ESI-label-1
            passes the RPF check and it is forwarded to R1. In the same way,
            PE2 sends (S2,G1) with ESI-label-2, but this G-traffic does not
            pass the RPF check and gets discarded at PE3/PE5. <vspace blankLines="1"/>If the link from S1 to PE1 fails, S1 will forward
            the (S1,G1) traffic to PE2 instead. PE1 withdraws the ES and A-D
            routes for ESI-1. Now both flows will be originated by PE2,
            however the RPF checks don't change in PE3/PE5. <vspace blankLines="1"/>If subsequently, the link from S1 to PE2 fails,
            PE2 also withdraws the ES and A-D routes for ESI-1. Since PE3 and
            PE5 have no longer A-D per ES/EVI routes for ESI-1, they
            immediately change the RPF check so that packets with ESI-label-2
            are now accepted.</t>
          </list></t>

        <t><xref target="ure-hs-solution-for-single-homed-redundant-g-sources-in-oism" pageno="false" format="default"/>
        illustrates a scenario where S1 and S2 are single-homed to PE1 and PE2
        respectively. This scenario is a sub-case of the one in <xref target="ure-hs-solution-for-multi-homed-redundant-g-sources-in-oism" pageno="false" format="default"/>.
        Now ES-1 only exists in PE1, hence only PE1 advertises the A-D per
        ES/EVI routes for ESI-1. Similarly, ES-2 only exists in PE2 and PE2 is
        the only PE advertising A-D routes for ESI-2. The same procedures as
        in <xref target="ure-hs-solution-for-multi-homed-redundant-g-sources-in-oism" pageno="false" format="default"/>
        applies to this use-case.</t>

        <figure anchor="ure-hs-solution-for-single-homed-redundant-g-sources-in-oism" title="HS Solution for single-homed Redundant G-Sources in OISM" suppress-title="false" align="left" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
                     S1(ESI-1)                S2(ESI-2)
                     |                        |
              (S1,G1)|                 (S2,G1)|
                     |                        |
            PE1      |               PE2      |
            +--------v---+           +--------v---+
            |      +---+ |           |      +---+ |  S-PMSI
 S-PMSI     |  +---|BD1| |           |  +---|BD2| |  (*,G1)
 (*,G1)     |  |VRF+---+ |           |  |VRF+---+ |   SFG
  SFG       |+---+  | |  |           |+---+  | |  |   ESI2
  ESI1  +---||SBD|--+ |  |-----------||SBD|--+ |  |---+  |
    |   |   |+---+    |  |   EVPN    |+---+    |  |   |  v
    v   |   +---------|--+   OISM    +---------|--+   |
        |             |                        |      |
        |             |   (S1,G1)              |      |
 SMET   |   +---------+------------------+     |      | SMET
 (*,G1) |   |                            |     |      | (*,G1)
    ^   |   | +--------------------------------+----+ |   ^
    |   |   | |             (S2,G1)      |          | |   |
    |   |   | |                          |          | |   |
    PE3 |   | |          PE4             |          | | PE5
    +-------v-v--+       +------------+  |   +------v-----+
    |      +---+ |       |      +---+ |  |   |      +---+ |
    |  +---|SBD| |-------|  +---|SBD| |--|---|  +---|SBD| |
    |  |VRF+---+ |       |  |VRF+---+ |  |   |  |VRF+---+ |
    |+---+  |    |       |+---+  |    |  |   |+---+  |    |
    ||BD3|--+    |       ||BD4|--+    |  +---&gt;|BD1|--+    |
    |+---+       |       |+---+       |      |+---+       |
    +------------+       +------------+      +------------+
      |  ^                                     |  ^
      |  | IGMP                                |  | IGMP
      R1 | J(*,G1)                             R3 | J(*,G1)
</artwork>
        </figure>
      </section>

      <section anchor="sect-5.4" title="HS Example in a Single-BD Tenant Network" numbered="true" toc="default">
        <t>Irrespective of the redundant G-sources being multi-homed or
        single-homed, if the tenant network has only one BD, e.g., BD1, the
        procedures of <xref target="sect-5.2" pageno="false" format="default"/> still apply, only that routes
        do not include any SBD-RT and all the procedures apply to BD1
        only.</t>
      </section>
    </section>

    <section anchor="sect-6" title="Security Considerations" numbered="true" toc="default">
      <t>The same Security Considerations described in <xref target="I-D.ietf-bess-evpn-irb-mcast" pageno="false" format="default"/> are valid for this document.</t>

      <t>From a security perspective, out of the two methods described in this
      document, the WS method is considered lighter in terms of control plane
      and therefore its impact is low on the processing capabilities of the
      PEs. The HS method adds more burden on the control plane of all the PEs
      of the tenant with sources and receivers.</t>
    </section>

    <section anchor="sect-7" title="IANA Considerations" numbered="true" toc="default">
      <t>IANA is requested to allocate a Bit in the Multicast Flags Extended
      Community to indicate that a given (*,G) or (S,G) in an S-PMSI A-D route
      is associated with an SFG.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <reference anchor="RFC7432" target="https://www.rfc-editor.org/info/rfc7432" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7432.xml" quote-title="true">
<front>
<title>BGP MPLS-Based Ethernet VPN</title>
<author initials="A." surname="Sajassi" fullname="A. Sajassi" role="editor"><organization/></author>
<author initials="R." surname="Aggarwal" fullname="R. Aggarwal"><organization/></author>
<author initials="N." surname="Bitar" fullname="N. Bitar"><organization/></author>
<author initials="A." surname="Isaac" fullname="A. Isaac"><organization/></author>
<author initials="J." surname="Uttaro" fullname="J. Uttaro"><organization/></author>
<author initials="J." surname="Drake" fullname="J. Drake"><organization/></author>
<author initials="W." surname="Henderickx" fullname="W. Henderickx"><organization/></author>
<date year="2015" month="February"/>
<abstract><t>This document describes procedures for BGP MPLS-based Ethernet VPNs (EVPN).  The procedures described here meet the requirements specified in RFC 7209 -- "Requirements for Ethernet VPN (EVPN)".</t></abstract>
</front>
<seriesInfo name="RFC" value="7432"/>
<seriesInfo name="DOI" value="10.17487/RFC7432"/>
</reference>

      <reference anchor="RFC6513" target="https://www.rfc-editor.org/info/rfc6513" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6513.xml" quote-title="true">
<front>
<title>Multicast in MPLS/BGP IP VPNs</title>
<author initials="E." surname="Rosen" fullname="E. Rosen" role="editor"><organization/></author>
<author initials="R." surname="Aggarwal" fullname="R. Aggarwal" role="editor"><organization/></author>
<date year="2012" month="February"/>
<abstract><t>In order for IP multicast traffic within a BGP/MPLS IP VPN (Virtual Private Network) to travel from one VPN site to another, special protocols and procedures must be implemented by the VPN Service Provider.  These protocols and procedures are specified in this document.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name="RFC" value="6513"/>
<seriesInfo name="DOI" value="10.17487/RFC6513"/>
</reference>

      <reference anchor="RFC6514" target="https://www.rfc-editor.org/info/rfc6514" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6514.xml" quote-title="true">
<front>
<title>BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs</title>
<author initials="R." surname="Aggarwal" fullname="R. Aggarwal"><organization/></author>
<author initials="E." surname="Rosen" fullname="E. Rosen"><organization/></author>
<author initials="T." surname="Morin" fullname="T. Morin"><organization/></author>
<author initials="Y." surname="Rekhter" fullname="Y. Rekhter"><organization/></author>
<date year="2012" month="February"/>
<abstract><t>This document describes the BGP encodings and procedures for exchanging the information elements required by Multicast in MPLS/BGP IP VPNs, as specified in RFC 6513.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name="RFC" value="6514"/>
<seriesInfo name="DOI" value="10.17487/RFC6514"/>
</reference>

      <reference anchor="I-D.ietf-bess-evpn-igmp-mld-proxy" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-igmp-mld-proxy.xml" quote-title="true">
   <front>
      <title>IGMP and MLD Proxy for EVPN</title>
      <author fullname="Ali Sajassi">
	 <organization>Cisco Systems</organization>
      </author>
      <author fullname="Samir Thoria">
	 <organization>Cisco Systems</organization>
      </author>
      <author fullname="Mankamana Mishra">
	 <organization>Cisco Systems</organization>
      </author>
      <author fullname="John Drake">
	 <organization>Juniper Networks</organization>
      </author>
      <author fullname="Wen Lin">
	 <organization>Juniper Networks</organization>
      </author>
      <date month="January" day="13" year="2022"/>
      <abstract>
	 <t>   This document describes how to support efficiently endpoints running
   IGMP(Internet Group Management Protocol) or MLD (Multicast Listener
   Discovery) for the multicast services over an EVPN network by
   incorporating IGMP/MLD proxy procedures on EVPN (Ethernet VPN) PEs.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-bess-evpn-igmp-mld-proxy-16"/>
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-bess-evpn-igmp-mld-proxy-16.txt"/>
</reference>

      <reference anchor="I-D.ietf-bess-evpn-irb-mcast" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-irb-mcast.xml" quote-title="true">
   <front>
      <title>EVPN Optimized Inter-Subnet Multicast (OISM) Forwarding</title>
      <author fullname="Wen Lin">
	 <organization>Juniper Networks</organization>
      </author>
      <author fullname="Zhaohui Zhang">
	 <organization>Juniper Networks</organization>
      </author>
      <author fullname="John Drake">
	 <organization>Juniper Networks</organization>
      </author>
      <author fullname="Eric C. Rosen">
	 <organization>Juniper Networks</organization>
      </author>
      <author fullname="Jorge Rabadan">
	 <organization>Nokia</organization>
      </author>
      <author fullname="Ali Sajassi">
	 <organization>Cisco Systems</organization>
      </author>
      <date month="May" day="24" year="2021"/>
      <abstract>
	 <t>   Ethernet VPN (EVPN) provides a service that allows a single Local
   Area Network (LAN), comprising a single IP subnet, to be divided into
   multiple "segments".  Each segment may be located at a different
   site, and the segments are interconnected by an IP or MPLS backbone.
   Intra-subnet traffic (either unicast or multicast) always appears to
   the endusers to be bridged, even when it is actually carried over the
   IP or MPLS backbone.  When a single "tenant" owns multiple such LANs,
   EVPN also allows IP unicast traffic to be routed between those LANs.
   This document specifies new procedures that allow inter-subnet IP
   multicast traffic to be routed among the LANs of a given tenant,
   while still making intra-subnet IP multicast traffic appear to be
   bridged.  These procedures can provide optimal routing of the inter-
   subnet multicast traffic, and do not require any such traffic to
   leave a given router and then reenter that same router.  These
   procedures also accommodate IP multicast traffic that needs to travel
   to or from systems that are outside the EVPN domain.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-bess-evpn-irb-mcast-06"/>
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-bess-evpn-irb-mcast-06.txt"/>
</reference>

      <reference anchor="RFC8584" target="https://www.rfc-editor.org/info/rfc8584" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8584.xml" quote-title="true">
<front>
<title>Framework for Ethernet VPN Designated Forwarder Election Extensibility</title>
<author initials="J." surname="Rabadan" fullname="J. Rabadan" role="editor"><organization/></author>
<author initials="S." surname="Mohanty" fullname="S. Mohanty" role="editor"><organization/></author>
<author initials="A." surname="Sajassi" fullname="A. Sajassi"><organization/></author>
<author initials="J." surname="Drake" fullname="J. Drake"><organization/></author>
<author initials="K." surname="Nagaraj" fullname="K. Nagaraj"><organization/></author>
<author initials="S." surname="Sathappan" fullname="S. Sathappan"><organization/></author>
<date year="2019" month="April"/>
<abstract><t>An alternative to the default Designated Forwarder (DF) selection algorithm in Ethernet VPNs (EVPNs) is defined.  The DF is the Provider Edge (PE) router responsible for sending Broadcast, Unknown Unicast, and Multicast (BUM) traffic to a multihomed Customer Edge (CE) device on a given VLAN on a particular Ethernet Segment (ES). In addition, the ability to influence the DF election result for a VLAN based on the state of the associated Attachment Circuit (AC) is specified.  This document clarifies the DF election Finite State Machine in EVPN services.  Therefore, it updates the EVPN specification (RFC 7432).</t></abstract>
</front>
<seriesInfo name="RFC" value="8584"/>
<seriesInfo name="DOI" value="10.17487/RFC8584"/>
</reference>

      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml" quote-title="true">
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials="S." surname="Bradner" fullname="S. Bradner"><organization/></author>
<date year="1997" month="March"/>
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name="BCP" value="14"/>
<seriesInfo name="RFC" value="2119"/>
<seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml" quote-title="true">
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials="B." surname="Leiba" fullname="B. Leiba"><organization/></author>
<date year="2017" month="May"/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name="BCP" value="14"/>
<seriesInfo name="RFC" value="8174"/>
<seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

      <reference anchor="I-D.ietf-bess-mvpn-evpn-aggregation-label" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-mvpn-evpn-aggregation-label.xml" quote-title="true">
   <front>
      <title>MVPN/EVPN Tunnel Aggregation with Common Labels</title>
      <author fullname="Zhaohui Zhang">
	 <organization>Juniper Networks</organization>
      </author>
      <author fullname="Eric Rosen">
	 <organization>Individual</organization>
      </author>
      <author fullname="Wen Lin">
	 <organization>Juniper Networks</organization>
      </author>
      <author fullname="Zhenbin Li">
	 <organization>Huawei Technologies</organization>
      </author>
      <author fullname="IJsbrand Wijnands">
	 <organization>Individual</organization>
      </author>
      <date month="January" day="20" year="2022"/>
      <abstract>
	 <t>   The MVPN specifications allow a single Point-to-Multipoint (P2MP)
   tunnel to carry traffic of multiple VPNs.  The EVPN specifications
   allow a single P2MP tunnel to carry traffic of multiple Broadcast
   Domains (BDs).  These features require the ingress router of the P2MP
   tunnel to allocate an upstream-assigned MPLS label for each VPN or
   for each BD.  A packet sent on a P2MP tunnel then carries the label
   that is mapped to its VPN or BD (in some cases, a distinct upstream-
   assigned label is needed for each flow.)  Since each ingress router
   allocates labels independently, with no coordination among the
   ingress routers, the egress routers may need to keep track of a large
   number of labels.  The number of labels may need to be as large (or
   larger) than the product of the number of ingress routers times the
   number of VPNs or BDs.  However, the number of labels can be greatly
   reduced if the association between a label and a VPN or BD is made by
   provisioning, so that all ingress routers assign the same label to a
   particular VPN or BD.  New procedures are needed in order to take
   advantage of such provisioned labels.  These new procedures also
   apply to Multipoint-to-Multipoint (MP2MP) tunnels.  This document
   updates RFCs 6514, 7432 and 7582 by specifying the necessary
   procedures.


	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-bess-mvpn-evpn-aggregation-label-08"/>
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-bess-mvpn-evpn-aggregation-label-08.txt"/>
</reference>
    </references>

    <references title="Informative References">
      <reference anchor="EVPN-RT5" quote-title="true">
        <front>
          <title>IP Prefix Advertisement in EVPN</title>

          <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>

          <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>

          <author fullname="J. Drake" initials="J." surname="Drake"/>

          <author fullname="W. Lin" initials="W." surname="Lin"/>

          <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>

          <date month="May" year="2018"/>
        </front>

        <seriesInfo name="internet-draft" value="ietf-bess-evpn-prefix-advertisement-11.txt"/>
      </reference>

      <reference anchor="EVPN-BUM" quote-title="true">
        <front>
          <title>Updates on EVPN BUM Procedures</title>

          <author fullname="Z. Zhang" initials="Z." surname="Zhang"/>

          <author fullname="W. Lin" initials="W." surname="Lin"/>

          <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>

          <author fullname="K. Patel" initials="K." surname="Patel"/>

          <date month="June" year="2019"/>
        </front>

        <seriesInfo name="internet-draft" value="ietf-bess-evpn-bum-procedure-updates-06"/>
      </reference>

      <reference anchor="DF-PREF" quote-title="true">
        <front>
          <title>Preference-based EVPN DF Election</title>

          <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>

          <author fullname="S. Sathappan" initials="S." surname="Sathappan"/>

          <author fullname="T. Przygienda" initials="T." surname="Przygienda"/>

          <author fullname="W. Lin" initials="W." surname="Lin"/>

          <author fullname="J. Drake" initials="J." surname="Drake"/>

          <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>

          <author fullname="S. Mohanty" initials="S." surname="Mohanty"/>

          <date month="June" year="2019"/>
        </front>

        <seriesInfo name="internet-draft" value="ietf-bess-evpn-pref-df-04.txt"/>
      </reference>

      <reference anchor="RFC4364" target="https://www.rfc-editor.org/info/rfc4364" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4364.xml" quote-title="true">
<front>
<title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
<author initials="E." surname="Rosen" fullname="E. Rosen"><organization/></author>
<author initials="Y." surname="Rekhter" fullname="Y. Rekhter"><organization/></author>
<date year="2006" month="February"/>
<abstract><t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers.  This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other.  Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name="RFC" value="4364"/>
<seriesInfo name="DOI" value="10.17487/RFC4364"/>
</reference>

      <reference anchor="EVPN-BFD" quote-title="true">
        <front>
          <title>Fault Management for EVPN networks</title>

          <author fullname="V. Govindan" initials="V." surname="Govindan"/>

          <author fullname="M. Mallik" initials="M." surname="Mallik"/>

          <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>

          <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>

          <date month="October" year="2020"/>
        </front>

        <seriesInfo name="internet-draft" value="ietf-bess-evpn-bfd-01.txt"/>
      </reference>
    </references>

    <section anchor="sect-9" title="Acknowledgments" numbered="true" toc="default">
      <t>The authors would like to thank Mankamana Mishra and Ali Sajassi for
      their review and valuable comments.</t>
    </section>

    <section anchor="sect-10" title="Contributors" numbered="true" toc="default"/>
  </back>
</rfc>
