<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-bess-evpn-redundant-mcast-source-15" number="9856" ipr="trust200902" submissionType="IETF" obsoletes="" updates="" xml:lang="en" symRefs="true" sortRefs="true" tocInclude="true" prepTime="2025-09-25T13:49:51" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-bess-evpn-redundant-mcast-source-15" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9856" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="EVPN Redundant Sources">Multicast Source Redundancy in EVPNs</title>
    <seriesInfo name="RFC" value="9856" stream="IETF"/>
    <author fullname="Jorge Rabadan" initials="J." role="editor" surname="Rabadan">
      <organization showOnFrontPage="true">Nokia</organization>
      <address>
        <postal>
          <street>520 Almanor Avenue</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94085</code>
          <country>United States of America</country>
        </postal>
        <email>jorge.rabadan@nokia.com</email>
      </address>
    </author>
    <author fullname="Jayant Kotalwar" initials="J." surname="Kotalwar">
      <organization showOnFrontPage="true">Nokia</organization>
      <address>
        <postal>
          <street>520 Almanor Avenue</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94085</code>
          <country>United States of America</country>
        </postal>
        <email>jayant.kotalwar@nokia.com</email>
      </address>
    </author>
    <author fullname="Senthil Sathappan" initials="S." surname="Sathappan">
      <organization showOnFrontPage="true">Nokia</organization>
      <address>
        <postal>
          <street>520 Almanor Avenue</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94085</code>
          <country>United States of America</country>
        </postal>
        <email>senthil.sathappan@nokia.com</email>
      </address>
    </author>
    <author fullname="Zhaohui Zhang" initials="Z." surname="Zhang">
      <organization abbrev="Juniper" showOnFrontPage="true">Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author fullname="Wen Lin" initials="W." surname="Lin">
      <organization abbrev="Juniper" showOnFrontPage="true">Juniper Networks</organization>
      <address>
        <email>wlin@juniper.net</email>
      </address>
    </author>
    <date month="09" year="2025"/>
    <area>RTG</area>
    <workgroup>bess</workgroup>
    <keyword>Warm standby</keyword>
    <keyword>hot standby</keyword>
    <keyword>OISM</keyword>
    <keyword>redundant G-source</keyword>
    <keyword>SFG</keyword>
    <keyword>Single Flow Group</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">In Ethernet Virtual Private Networks (EVPNs), IP multicast traffic
      replication and delivery play a crucial role in enabling efficient and
      scalable Layer 2 and Layer 3 services. A common deployment scenario
      involves redundant multicast sources that ensure high availability and
      resiliency. However, the presence of redundant sources can lead to
      duplicate IP multicast traffic in the network, causing inefficiencies
      and increased overhead. This document specifies extensions to the EVPN
      multicast procedures that allow for the suppression of duplicate IP
      multicast traffic from redundant sources. The proposed mechanisms
      enhance the EVPN's capability to deliver multicast traffic efficiently while
      maintaining high availability. These extensions are applicable to
      various EVPN deployment scenarios and provide guidelines to ensure
      consistent and predictable behavior across diverse network
      topologies.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9856" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t indent="0" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-background-on-ip-multicast-">Background on IP Multicast Delivery in EVPN Networks</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2.2.2">
                  <li pn="section-toc.1-1.1.2.2.2.1">
                    <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.2.1.1"><xref derivedContent="1.2.1" format="counter" sectionFormat="of" target="section-1.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-intra-subnet-ip-multicast-f">Intra-Subnet IP Multicast Forwarding</xref></t>
                  </li>
                  <li pn="section-toc.1-1.1.2.2.2.2">
                    <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.2.2.1"><xref derivedContent="1.2.2" format="counter" sectionFormat="of" target="section-1.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-inter-subnet-ip-multicast-f">Inter-Subnet IP Multicast Forwarding</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.1.2.3">
                <t indent="0" pn="section-toc.1-1.1.2.3.1"><xref derivedContent="1.3" format="counter" sectionFormat="of" target="section-1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multi-homed-ip-multicast-so">Multi-Homed IP Multicast Sources in EVPN</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.4">
                <t indent="0" pn="section-toc.1-1.1.2.4.1"><xref derivedContent="1.4" format="counter" sectionFormat="of" target="section-1.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-need-for-redundant-ip-m">The Need for Redundant IP Multicast Sources in EVPN</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-solution-overview">Solution Overview</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-warm-standby-solution">Warm Standby Solution</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hot-standby-solution">Hot Standby Solution</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.3">
                <t indent="0" pn="section-toc.1-1.2.2.3.1"><xref derivedContent="2.3" format="counter" sectionFormat="of" target="section-2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-solution-selection">Solution Selection</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.4">
                <t indent="0" pn="section-toc.1-1.2.2.4.1"><xref derivedContent="2.4" format="counter" sectionFormat="of" target="section-2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-system-support">System Support</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-evpn-extensions">BGP EVPN Extensions</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-single-flow-group-flag-in-t">Single Flow Group Flag in the Multicast Flags Extended Community</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-esi-label-extended-communit">ESI Label Extended Community in S-PMSI A-D Routes</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-warm-standby-ws-solution-fo">Warm Standby (WS) Solution for Redundant G-Sources</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-specification">Specification</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-warm-standby-example-in-an-">Warm Standby Example in an OISM Network</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-warm-standby-example-in-a-s">Warm Standby Example in a Single-BD Tenant Network</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hot-standby-solution-for-re">Hot Standby Solution for Redundant G-Sources</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-specification-2">Specification</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-extensions-for-the-advertis">Extensions for the Advertisement of DCB Labels</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-of-bfd-in-the-hs-soluti">Use of BFD in the HS Solution</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hot-standby-example-in-an-o">Hot Standby Example in an OISM Network</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.4.2">
                  <li pn="section-toc.1-1.5.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.4.2.1.1"><xref derivedContent="5.4.1" format="counter" sectionFormat="of" target="section-5.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multi-homed-redundant-g-sou">Multi-Homed Redundant G-Sources</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.4.2.2.1"><xref derivedContent="5.4.2" format="counter" sectionFormat="of" target="section-5.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-single-homed-redundant-g-so">Single-Homed Redundant G-Sources</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hot-standby-example-in-a-si">Hot Standby Example in a Single-BD Tenant Network</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="sect-1" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">Ethernet Virtual Private Networks (EVPNs) <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>
      support both intra-subnet and inter-subnet IP multicast forwarding.
      <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/> outlines the procedures required to optimize
      the delivery of IP multicast flows when both sources and receivers are
      connected to the same EVPN Broadcast Domain. <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/>,
      on the other hand, defines the procedures for supporting inter-subnet IP
      multicast within a tenant network, where the IP multicast source and
      receivers of the same multicast flow are connected to different
      Broadcast Domains within the same tenant.</t>
      <t indent="0" pn="section-1-2">However, <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/>, <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/>, and
      conventional IP multicast techniques do not provide a solution for
      scenarios where: </t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-1-3"><li pn="section-1-3.1" derivedCounter="1.">
          <t indent="0" pn="section-1-3.1.1">A given multicast group carries multiple flows (i.e., multiple
          sources are active), and</t>
        </li>
        <li pn="section-1-3.2" derivedCounter="2.">
          <t indent="0" pn="section-1-3.2.1">Each receiver should receive only from one source.</t>
        </li>
      </ol>
      <t indent="0" pn="section-1-4">Existing multicast solutions typically assume that there are no
      redundant sources sending identical flows to the same IP multicast
      group. In cases where redundant sources do exist, the receiver
      application is expected to handle duplicate packets.</t>
      <t indent="0" pn="section-1-5">In conventional IP multicast networks, such as those running Protocol
      Independent Multicast (PIM) <xref target="RFC7761" format="default" sectionFormat="of" derivedContent="RFC7761"/> or Multicast Virtual Private Network
      (MVPN) <xref target="RFC6513" format="default" sectionFormat="of" derivedContent="RFC6513"/>, a workaround is to configure all
      redundant sources with the same IP address. This approach ensures that
      each receiver gets only one flow because: </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-6">
        <li pn="section-1-6.1">
          <t indent="0" pn="section-1-6.1.1">The Rendezvous Point (RP) in the multicast network always creates
          the (S,G) state for each source.</t>
        </li>
        <li pn="section-1-6.2">
          <t indent="0" pn="section-1-6.2.1">The Last Hop Router (LHR) may also create the (S,G) state.</t>
        </li>
        <li pn="section-1-6.3">
          <t indent="0" pn="section-1-6.3.1">The (S,G) state binds the flow to a source-specific tree rooted
          at the source IP address. When multiple sources share the same IP
          address, the resulting source-specific trees ensure that each LHR or
          RP resides on at most one tree.</t>
        </li>
      </ul>
      <t indent="0" pn="section-1-7">This workaround, which often uses anycast addresses, is suitable for
      Warm Standby (WS) redundancy solutions (<xref target="sect-4" format="default" sectionFormat="of" derivedContent="Section 4"/>). However, it
      is not effective for Hot Standby (HS) redundancy scenarios (<xref target="sect-5" format="default" sectionFormat="of" derivedContent="Section 5"/>), and it introduces challenges when sources need to be
      reachable via IP unicast or when multiple sources with the same IP
      address are attached to the same Broadcast Domain. In scenarios where
      multiple multicast sources stream traffic to the same group using EVPN
      Optimized Inter-Subnet Multicast (OISM), there is not necessarily any
      (S,G) state created for the redundant sources. In such cases, the Last Hop Routers may only have a (*,G) state, and there may not be an RP router to create an (S,G) state.</t>
      <t indent="0" pn="section-1-8">This document extends <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/> and <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/> to address scenarios where IP multicast source
      redundancy exists. Specifically, it defines procedures for EVPN Provider Edge (PE)
      devices/routers to ensure that receivers do not
      experience packet duplication when two or more sources send identical IP
      multicast flows into the tenant domain. These procedures are limited to
      the context of <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/> and <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/>;
      handling redundant sources in other multicast solutions is beyond the
      scope of this document.</t>
      <section anchor="sect-1.1" numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-1.1-1">The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
        "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
        "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
        "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document
        are to be interpreted as described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they
        appear in all capitals, as shown here.</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-1.1-2">
          <dt pn="section-1.1-2.1">BD:</dt>
          <dd pn="section-1.1-2.2">Broadcast Domain. 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.</dd>
          <dt pn="section-1.1-2.3">BUM:</dt>
          <dd pn="section-1.1-2.4">Broadcast, Unknown Unicast, and Multicast traffic.</dd>
          <dt pn="section-1.1-2.5">DF:</dt>
          <dd pn="section-1.1-2.6">Designated Forwarder. As defined in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>, an Ethernet Segment (ES) may be
          multi-homed (attached to more than one PE). An ES 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.</dd>
          <dt pn="section-1.1-2.7">Downstream PE:</dt>
          <dd pn="section-1.1-2.8">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.</dd>
          <dt pn="section-1.1-2.9">EVI:</dt>
          <dd pn="section-1.1-2.10">EVPN Instance.</dd>
          <dt pn="section-1.1-2.11">G-traffic:</dt>
          <dd pn="section-1.1-2.12">Any frame with an IP payload whose destination IP
          address is a multicast group G.</dd>
          <dt pn="section-1.1-2.13">G-source:</dt>
          <dd pn="section-1.1-2.14">Any system sourcing IP multicast traffic to
          group G.</dd>
          <dt pn="section-1.1-2.15">Hot Standby Redundancy:</dt>
          <dd pn="section-1.1-2.16">The multicast source redundancy
          procedure defined in this document, by which 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.</dd>
          <dt pn="section-1.1-2.17">IGMP:</dt>
          <dd pn="section-1.1-2.18">Internet Group Management Protocol <xref target="RFC9776" format="default" sectionFormat="of" derivedContent="RFC9776"/>.</dd>
          <dt pn="section-1.1-2.19">I-PMSI:</dt>
          <dd pn="section-1.1-2.20">Inclusive Multicast Tree or Inclusive Provider Multicast Service Interface. While defined in <xref target="RFC6513" format="default" sectionFormat="of" derivedContent="RFC6513"/>, in this document it is only applicable 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.</dd>
          <dt pn="section-1.1-2.21">IMET route:</dt>
          <dd pn="section-1.1-2.22">EVPN Inclusive Multicast Ethernet Tag route,
          as in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>.</dd>
          <dt pn="section-1.1-2.23">MLD:</dt>
          <dd pn="section-1.1-2.24">Multicast Listener Discovery <xref target="RFC9777" format="default" sectionFormat="of" derivedContent="RFC9777"/>.</dd>
          <dt pn="section-1.1-2.25">MVPN:</dt>
          <dd pn="section-1.1-2.26">Multicast Virtual Private Networks, as in <xref target="RFC6513" format="default" sectionFormat="of" derivedContent="RFC6513"/>.</dd>
          <dt pn="section-1.1-2.27">OISM:</dt>
          <dd pn="section-1.1-2.28">Optimized Inter-Subnet Multicast, as in <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/>.</dd>
          <dt pn="section-1.1-2.29">PE:</dt>
          <dd pn="section-1.1-2.30">Provider Edge.</dd>
          <dt pn="section-1.1-2.31">PIM:</dt>
          <dd pn="section-1.1-2.32">Protocol Independent Multicast, as in <xref target="RFC7761" format="default" sectionFormat="of" derivedContent="RFC7761"/>.</dd>
          <dt pn="section-1.1-2.33">P-tunnel:</dt>
          <dd pn="section-1.1-2.34">The term "Provider tunnel" refers to the type
          of tree employed by an upstream EVPN PE to forward multicast traffic
          to downstream PEs. The P-tunnels supported in this document include
          Ingress Replication (IR), Assisted Replication (AR) <xref target="RFC9574" format="default" sectionFormat="of" derivedContent="RFC9574"/>, Bit Indexed Explicit
          Replication (BIER) <xref target="RFC8296" format="default" sectionFormat="of" derivedContent="RFC8296"/>,
          multicast Label Distribution Protocol (mLDP), and
          Point-to-Multipoint (P2MP) RSVP - Traffic Engineering (RSVP-TE)
          extensions.</dd>
          <dt pn="section-1.1-2.35">Redundant G-source:</dt>
          <dd pn="section-1.1-2.36">A host or router transmitting a
          Single Flow Group (SFG) within a tenant network, where multiple
          hosts or routers are also transmitting the same SFG. Redundant
          G-sources transmitting the same SFG should have distinct IP
          addresses; however, they may share the same IP address if located in
          different Broadcast Domains (BDs) within the same tenant network.
          For the purposes of this document, redundant G-sources are assumed
          to not exhibit "bursty" traffic behavior.</dd>
          <dt pn="section-1.1-2.37">S-ES and S-ESI:</dt>
          <dd pn="section-1.1-2.38">Multicast Source Ethernet Segment and
          multicast Source Ethernet Segment Identifier. The ES
          and ESI associated to a G-source.</dd>
          <dt pn="section-1.1-2.39">S-PMSI:</dt>
          <dd pn="section-1.1-2.40">
            <t indent="0" pn="section-1.1-2.40.1">Selective Multicast Tree or Selective Provider Multicast Service Interface. As defined in <xref target="RFC6513" format="default" sectionFormat="of" derivedContent="RFC6513"/>, this term refers to a multicast tree to which
          only the PEs interested in a specific Broadcast Domain
          belong. In the context of this document, it is specific to EVPN.
          Two types of EVPN S-PMSIs are supported:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-1.1-2.40.2">
              <dt pn="section-1.1-2.40.2.1">S-PMSIs with Auto-Discovery routes:</dt>
              <dd pn="section-1.1-2.40.2.2">These S-PMSIs
              require the upstream PE to advertise S-PMSI Auto-Discovery 
              (S-PMSI A-D) routes, as described in <xref target="RFC9572" format="default" sectionFormat="of" derivedContent="RFC9572"/>.  Downstream PEs interested in the multicast
              traffic join the S-PMSI tree following the procedures specified
              in <xref target="RFC9572" format="default" sectionFormat="of" derivedContent="RFC9572"/>.</dd>
              <dt pn="section-1.1-2.40.2.3">S-PMSIs without Auto-Discovery Routes:</dt>
              <dd pn="section-1.1-2.40.2.4">These S-PMSIs
              do not require the advertisement of S-PMSI A-D routes. Instead,
              they rely on the forwarding information provided by 
              IMET routes. Upstream PEs forward IP
              multicast flows only to downstream PEs that advertise
              Selective Multicast Ethernet Tag (SMET) routes for the specific
              flow. These S-PMSIs are supported exclusively with the following
              P-tunnel types: IR, AR, and BIER.</dd>
            </dl>
          </dd>
          <dt pn="section-1.1-2.41">SFG:</dt>
          <dd pn="section-1.1-2.42">
            <t indent="0" pn="section-1.1-2.42.1">Single Flow Group. A multicast group that
          represents traffic containing a single flow. Multiple sources, which
          may have the same or different IP addresses, can transmit traffic
          for an SFG. An SFG can be represented in two forms:</t>
            <dl spacing="normal" newline="false" indent="3" pn="section-1.1-2.42.2">
              <dt pn="section-1.1-2.42.2.1">(*,G):</dt>
              <dd pn="section-1.1-2.42.2.2">Indicates that any source transmitting
              multicast traffic to group G is considered a redundant G-source
              for the SFG.</dd>
              <dt pn="section-1.1-2.42.2.3">(S,G):</dt>
              <dd pn="section-1.1-2.42.2.4">Indicates that S is a prefix of any
              length. In this representation, a source is deemed a redundant
              G-source for the SFG if its address matches the specified prefix
              S.</dd>
            </dl>
          </dd>
          <dt pn="section-1.1-2.43">SMET route:</dt>
          <dd pn="section-1.1-2.44">Selective Multicast Ethernet Tag route, as
          in <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/>.</dd>
          <dt pn="section-1.1-2.45">(S,G) and (*,G):</dt>
          <dd pn="section-1.1-2.46">Used to describe multicast packets or
          multicast state. "S" stands for Source (IP address of the multicast
          traffic), and "G" stands for the Group or multicast destination IP
          address of the group. An (S,G) multicast packet refers to an IP
          packet with source IP address "S" and destination IP address "G",
          and it is forwarded on a multicast router if there is a
          corresponding state for (S,G). A (*,G) multicast packet refers to an
          IP packet with "any" source IP address and a destination IP address
          "G", and it is forwarded on a multicast router based on the
          existence of the corresponding (*,G) state. The document uses
          variations of these terms. For example, (S1,G1) represents the
          multicast packets or multicast state for source IP address "S1" and
          group IP address "G1".</dd>
          <dt pn="section-1.1-2.47">Upstream PE:</dt>
          <dd pn="section-1.1-2.48">In this document, an upstream PE refers to
          either the EVPN PE that is directly connected to the IP multicast
          source or the PE closest to the source. The upstream PE receives
          IP multicast flows through local Attachment Circuits (ACs).</dd>
          <dt pn="section-1.1-2.49">Warm Standby Redundancy:</dt>
          <dd pn="section-1.1-2.50">A multicast source redundancy
          mechanism defined in this document, wherein the upstream PEs
          connected to redundant sources within the same tenant ensure that
          only one source of a given flow transmits multicast traffic to the
          interested downstream PEs at any given time.</dd>
        </dl>
        <t indent="0" pn="section-1.1-3">This document also assumes familiarity with the terminology of
        <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>, <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>, <xref target="RFC6513" format="default" sectionFormat="of" derivedContent="RFC6513"/>, <xref target="RFC6514" format="default" sectionFormat="of" derivedContent="RFC6514"/>, <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/>, <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/>, <xref target="RFC9136" format="default" sectionFormat="of" derivedContent="RFC9136"/>, and <xref target="RFC9572" format="default" sectionFormat="of" derivedContent="RFC9572"/>.</t>
      </section>
      <section anchor="sect-1.2" numbered="true" toc="include" removeInRFC="false" pn="section-1.2">
        <name slugifiedName="name-background-on-ip-multicast-">Background on IP Multicast Delivery in EVPN Networks</name>
        <t indent="0" pn="section-1.2-1">IP multicast facilitates the delivery of a single copy of a packet
        from a source (S) to a group of receivers (G) along a multicast tree.
        In an EVPN tenant domain, the multicast tree can be constructed where
        the source (S) and the receivers for the multicast group (G) are
        either connected to the same Broadcast Domain (BD) or to different Broadcast Domains. 
        The former scenario is referred to as "Intra-subnet
        IP Multicast forwarding", while the latter is referred to as
        "Inter-subnet IP Multicast forwarding".</t>
        <section anchor="sect-1.2.1" numbered="true" toc="include" removeInRFC="false" pn="section-1.2.1">
          <name slugifiedName="name-intra-subnet-ip-multicast-f">Intra-Subnet IP Multicast Forwarding</name>
          <t indent="0" pn="section-1.2.1-1">When the source S1 and the receivers interested in G1 are
          connected to the same Broadcast Domain, the EVPN network can
          deliver IP multicast traffic to the receivers using two different
          approaches, as illustrated in <xref target="ure-intra-subnet-ip-multicast" format="default" sectionFormat="of" derivedContent="Figure 1"/>:</t>
          <figure anchor="ure-intra-subnet-ip-multicast" align="left" suppress-title="false" pn="figure-1">
            <name slugifiedName="name-intra-subnet-ip-multicast">Intra-Subnet IP Multicast</name>
            <artwork name="" type="" align="left" alt="" pn="section-1.2.1-2.1">
                  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>
          <dl spacing="normal" newline="false" indent="3" pn="section-1.2.1-3">
            <dt pn="section-1.2.1-3.1">Model (a):</dt>
            <dd pn="section-1.2.1-3.2">
              <t indent="0" pn="section-1.2.1-3.2.1">IP Multicast Delivery as BUM Traffic</t>
              <t indent="0" pn="section-1.2.1-3.2.2">The upstream PE sends the IP Multicast flows to all
              downstream PEs, even to PEs with non-interested receivers, such
              as, e.g., PE4 in <xref target="ure-intra-subnet-ip-multicast" format="default" sectionFormat="of" derivedContent="Figure 1"/>. To optimize this behavior, downstream PEs
              can snoop IGMP/MLD messages from receivers to build Layer 2
              multicast state. For instance, PE4 could avoid forwarding
              (S1,G1) to R3, since R3 has not expressed interest in
              (S1,G1).</t>
            </dd>
            <dt pn="section-1.2.1-3.3">Model (b):</dt>
            <dd pn="section-1.2.1-3.4">
              <t indent="0" pn="section-1.2.1-3.4.1">Optimized Delivery with S-PMSI</t>
              <t indent="0" pn="section-1.2.1-3.4.2">Model (b) in <xref target="ure-intra-subnet-ip-multicast" format="default" sectionFormat="of" derivedContent="Figure 1"/> uses a "Selective Provider Multicast Service 
              Interface (S-PMSI)" to optimize the delivery of the (S1,G1)
              flow. </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2.1-3.4.3">
                <li pn="section-1.2.1-3.4.3.1">For example, if PE1 uses "IR", it
                will forward (S1,G1) only to downstream PEs that have issued a
                "SMET" route for (S1,G1),
                such as PE2 and PE3.</li>
                <li pn="section-1.2.1-3.4.3.2">If PE1 uses a P-tunnel type other than IR (e.g.,
                AR or BIER),
                PE1 will advertise an "S-PMSI Auto-Discovery (A-D)" route for
                (S1,G1). Downstream PEs, such as PE2 and PE3, will then join the
                corresponding multicast tree to receive the flow.</li>
              </ul>
            </dd>
          </dl>
          <t indent="0" pn="section-1.2.1-4">Procedures for Model (b) are specified in <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/> and <xref target="RFC9572" format="default" sectionFormat="of" derivedContent="RFC9572"/>.</t>
        </section>
        <section anchor="sect-1.2.2" numbered="true" toc="include" removeInRFC="false" pn="section-1.2.2">
          <name slugifiedName="name-inter-subnet-ip-multicast-f">Inter-Subnet IP Multicast Forwarding</name>
          <t indent="0" pn="section-1.2.2-1">When the sources and receivers are connected to different BDs
          within the same tenant domain, the EVPN network can deliver IP
          multicast traffic using either Inclusive or Selective Multicast
          Trees, as illustrated in <xref target="ure-inter-subnet-ip-multicast" format="default" sectionFormat="of" derivedContent="Figure 2"/> with models (a) and (b),
          respectively.</t>
          <figure anchor="ure-inter-subnet-ip-multicast" align="left" suppress-title="false" pn="figure-2">
            <name slugifiedName="name-inter-subnet-ip-multicast">Inter-Subnet IP Multicast</name>
            <artwork name="" type="" align="left" alt="" pn="section-1.2.2-2.1">
                  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 indent="0" pn="section-1.2.2-3">As defined in <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/>, inter-subnet multicast
          forwarding in EVPN is optimized by ensuring IP multicast flows are
          sent within the context of the source BD. If a downstream PE is not
          connected to the source BD, the IP multicast flow is delivered to
          the Supplementary Broadcast Domain (SBD), as shown in <xref target="ure-inter-subnet-ip-multicast" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.2.2-4">
            <li pn="section-1.2.2-4.1">
              <t indent="0" pn="section-1.2.2-4.1.1">Inclusive and Selective Multicast Trees</t>
              <dl spacing="normal" indent="3" newline="false" pn="section-1.2.2-4.1.2">
                <dt pn="section-1.2.2-4.1.2.1">Model (a):</dt>
                <dd pn="section-1.2.2-4.1.2.2">
                  <t indent="0" pn="section-1.2.2-4.1.2.2.1"> Inclusive Multicast Tree</t>
                  <t indent="0" pn="section-1.2.2-4.1.2.2.2">In this model, the Inclusive Multicast Tree for BD1 on
                  PE1 delivers (S1,G1) to all downstream PEs, such as PE2,
                  PE3, and PE4, in the context of the SBD. Each downstream PE
                  then locally routes the flow to its ACs,
                  ensuring delivery to interested receivers.</t>
                </dd>
                <dt pn="section-1.2.2-4.1.2.3">Model (b):</dt>
                <dd pn="section-1.2.2-4.1.2.4">
                  <t indent="0" pn="section-1.2.2-4.1.2.4.1">Selective Multicast Tree</t>
                  <t indent="0" pn="section-1.2.2-4.1.2.4.2">In this model, PE1 optimizes forwarding by delivering
                  (S1,G1) only to downstream PEs that explicitly indicate
                  interest in the flow via SMET
                  routes. If the P-tunnel type is "IR", "AR", or "BIER", PE1 does not need to advertise an
                  S-PMSI A-D route. Downstream PEs join the multicast tree
                  based on the SMET routes advertised for (S1,G1).</t>
                </dd>
              </dl>
            </li>
            <li pn="section-1.2.2-4.2">
              <t indent="0" pn="section-1.2.2-4.2.1">Advantages of <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/></t>
              <t indent="0" pn="section-1.2.2-4.2.2"><xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/> extends the
            procedures defined in <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/> to
            support both intra- and inter-subnet multicast forwarding for
            EVPN. It ensures that every upstream PE attached to a source is
            aware of all downstream PEs within the same tenant domain that
            have interest in specific flows. This is achieved through the
            advertisement of SMET routes with the SBD Route Target, which are
            imported by all upstream PEs.</t>
            </li>
            <li pn="section-1.2.2-4.3">
              <t indent="0" pn="section-1.2.2-4.3.1">Elimination of Complexity</t>
              <t indent="0" pn="section-1.2.2-4.3.2">The inter-subnet multicast mechanism defined in <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/> eliminates the need for:
            Rendezvous Points (RPs), shared trees, upstream multicast hop
            selection, or other complex conventional multicast routing
            techniques.</t>
            </li>
          </ul>
          <t indent="0" pn="section-1.2.2-5">By leveraging the EVPN framework, inter-subnet multicast
          forwarding achieves efficient delivery without introducing
          unnecessary overhead or dependencies on classic IP multicast
          protocols.</t>
        </section>
      </section>
      <section anchor="sect-1.3" numbered="true" toc="include" removeInRFC="false" pn="section-1.3">
        <name slugifiedName="name-multi-homed-ip-multicast-so">Multi-Homed IP Multicast Sources in EVPN</name>
        <t indent="0" pn="section-1.3-1">Unlike conventional multicast routing technologies, multi-homed PEs
        connected to the same source do not create IP multicast packet
        duplication when utilizing a multi-homed ES. <xref target="ure-all-active-multi-homing-and-oism" format="default" sectionFormat="of" derivedContent="Figure 3"/> illustrates this
        scenario, where two multi-homed PEs (PE1 and PE2) are attached to the
        same source S1. The source S1 is connected via a Layer 2 switch (SW1)
        to an all-active ES (ES-1), with a Link Aggregation
        Group (LAG) extending to PE1 and PE2.</t>
        <figure anchor="ure-all-active-multi-homing-and-oism" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-all-active-multi-homing-and">All-Active Multi-Homing and OISM</name>
          <artwork name="" type="" align="left" alt="" pn="section-1.3-2.1">
                                  S1
                                  |
                                  v
                               +-----+
                               | SW1 |
                               +-----+
                         +----  |   |
                  (S1,G1)| +----+   +----+
      IGMP/MLD           | | 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/MLD   |   v       v   | IGMP/MLD
                 J(*,G1) |  R2       R3  | J(S1,G1)
</artwork>
        </figure>
        <t indent="0" pn="section-1.3-3">When S1 transmits the (S1,G1) flow, SW1 selects a single link
        within the all-active ES to forward the flow, as per
        <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>. In this example, assuming PE1 is the
        receiving PE for BD1, the multicast flow is forwarded
        once BD1 establishes multicast state for (S1,G1) or (*,G1). In <xref target="ure-all-active-multi-homing-and-oism" format="default" sectionFormat="of" derivedContent="Figure 3"/>: </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.3-4">
          <li pn="section-1.3-4.1">
            <t indent="0" pn="section-1.3-4.1.1">Receiver R1 receives (S1,G1) directly via the IRB (Integrated
            Routing and Bridging) interface, defined in <xref target="RFC9135" format="default" sectionFormat="of" derivedContent="RFC9135"/>, following the procedures in <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/>.</t>
          </li>
          <li pn="section-1.3-4.2">
            <t indent="0" pn="section-1.3-4.2.1">Receivers R2 and R3, upon issuing IGMP/MLD reports, trigger PE3
            to advertise an SMET (*,G1) route. This creates multicast state in
            PE1's BD1, enabling PE1 to forward the multicast flow to PE3's
            SBD. PE3 subsequently delivers the flow to R2 and R3 as defined in
            <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/>.</t>
          </li>
        </ul>
        <t indent="0" pn="section-1.3-5">Requirements for Multi-Homed IP Multicast Sources:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.3-6">
          <li pn="section-1.3-6.1">
            <t indent="0" pn="section-1.3-6.1.1">When IP multicast source multi-homing is needed, EVPN
            multi-homed ESes <bcp14>MUST</bcp14> be used.</t>
          </li>
          <li pn="section-1.3-6.2">
            <t indent="0" pn="section-1.3-6.2.1">EVPN multi-homing ensures that only one upstream PE forwards a
            given multicast flow at a time, preventing packet duplication at
            downstream PEs.</t>
          </li>
          <li pn="section-1.3-6.3">
            <t indent="0" pn="section-1.3-6.3.1">The SMET route for a multicast flow ensures that all upstream
            PEs in the multi-homed ES maintain state for the
            flow. This allows for immediate failover, as the backup PE can
            seamlessly take over forwarding in case of an upstream PE
            failure.</t>
          </li>
        </ul>
        <t indent="0" pn="section-1.3-7">This document assumes that multi-homed PEs connected to the same
        source always utilize multi-homed ESes.</t>
      </section>
      <section anchor="sect-1.4" numbered="true" toc="include" removeInRFC="false" pn="section-1.4">
        <name slugifiedName="name-the-need-for-redundant-ip-m">The Need for Redundant IP Multicast Sources in EVPN</name>
        <t indent="0" pn="section-1.4-1">While multi-homing PEs to the same IP multicast G-source provides a
        certain level of resiliency, multicast applications are often critical
        in operator networks, necessitating a higher level of redundancy. This
        document assumes the following:</t>
        <ol type="a" spacing="normal" indent="adaptive" start="1" pn="section-1.4-2">
          <li pn="section-1.4-2.1" derivedCounter="a.">Redundant G-sources: Redundant G-sources for an SFG may
          exist within the EVPN tenant network. A redundant G-source is
          defined as a host or router transmitting an SFG stream in a tenant
          network where another host or router is also sending traffic to the
          same SFG.</li>
          <li pn="section-1.4-2.2" derivedCounter="b.">G-source placement: Redundant G-sources may reside in
          the same BD or in different BDs of the tenant network. There must be
          no restrictions on the locations of receiver systems within the
          tenant.</li>
          <li pn="section-1.4-2.3" derivedCounter="c.">G-source attachment to EVPN PEs: Redundant G-sources may
          be either single-homed to a single EVPN PE or multi-homed to
          multiple EVPN PEs.</li>
          <li pn="section-1.4-2.4" derivedCounter="d.">Packet duplication avoidance: The EVPN PEs must ensure
          that receiver systems do not experience duplicate packets for the
          same SFG.</li>
        </ol>
        <t indent="0" pn="section-1.4-3">This framework ensures that EVPN networks can effectively
        support redundant multicast sources while maintaining high reliability
        and operational efficiency.</t>
      </section>
    </section>
    <section anchor="sect-2" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-solution-overview">Solution Overview</name>
      <t indent="0" pn="section-2-1">An SFG can be represented as (*,G) if any source transmitting
      multicast traffic to group G is considered a redundant G-source.
      Alternatively, this document allows an SFG to be represented as (S,G),
      where the source IP address S is a prefix of variable length. In this
      case, a source is deemed a redundant G-source for the SFG if its address
      falls within the specified prefix. In the remainder of this document,
      some examples use (*,G) state for brevity. Wherever an SFG is
      represented as (*,G), it should be understood as being interchangeable
      with (S,G). The use of variable-length prefixes in source advertisements
      via S-PMSI A-D routes is permitted in this document only for the
      specific application of redundant G-sources.</t>
      <t indent="0" pn="section-2-2">This document describes two solutions for handling redundant
      G-sources:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2-3">
        <li pn="section-2-3.1">
          <t indent="0" pn="section-2-3.1.1">Warm Standby Solution</t>
        </li>
        <li pn="section-2-3.2">
          <t indent="0" pn="section-2-3.2.1">Hot Standby Solution</t>
        </li>
      </ul>
      <section anchor="sect-2.1" numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-warm-standby-solution">Warm Standby Solution</name>
        <t indent="0" pn="section-2.1-1">The Warm Standby solution is an upstream PE-based solution, where
        downstream PEs do not participate in the procedures. In this solution,
        all upstream PEs connected to redundant G-sources for an SFG (*,G) or
        (S,G) elect a "Single Forwarder (SF)" among themselves. After the
        Single Forwarder is elected, the upstream PEs apply Reverse Path
        Forwarding checks to the multicast state for the SFG: </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.1-2">
          <li pn="section-2.1-2.1">Non-Single Forwarder (Non-SF) Behavior: A Non-SF
          upstream PE discards all (*,G) or (S,G) packets received over its
          local AC.</li>
          <li pn="section-2.1-2.2">Single Forwarder Behavior: The Single Forwarder accepts
          and forwards (*,G) or (S,G) packets received on a single local
          AC for the SFG. If packets are received on multiple
          local ACs, the Single Forwarder discards packets on
          all but one. The selection of the AC for forwarding
          is a local implementation detail.</li>
        </ul>
        <t indent="0" pn="section-2.1-3">In the event of a failure of the Single Forwarder, a new Single Forwarder
        is elected among the upstream PEs. This election process
        requires BGP extensions on existing EVPN routes, which are detailed in
        Sections <xref target="sect-3" format="counter" sectionFormat="of" derivedContent="3"/> and <xref target="sect-4" format="counter" sectionFormat="of" derivedContent="4"/>.</t>
      </section>
      <section anchor="sect-2.2" numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-hot-standby-solution">Hot Standby Solution</name>
        <t indent="0" pn="section-2.2-1">The Hot Standby solution relies on downstream PEs to prevent
        duplication of SFG packets. Upstream PEs, aware of locally connected
        G-sources, append a unique ESI label to
        multicast packets for each SFG. Downstream PEs receive SFG packets
        from all upstream PEs attached to redundant G-sources and avoid
        duplication by performing a Reverse Path Forwarding check on the (*,G)
        state for the SFG:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.2-2">
          <li pn="section-2.2-2.1">Packet Filtering: A downstream PE discards (*,G) packets
          received from the "wrong G-source."</li>
          <li pn="section-2.2-2.2">Wrong G-source Identification: The "wrong G-source" is
          identified using an ESI label that differs from the ESI label
          associated with the selected G-source.</li>
          <li pn="section-2.2-2.3">ESI Label Usage: In this solution, the ESI label is used
          for "ingress filtering" at the downstream PE, rather than for
          "egress filtering" as described in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>. In <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>,
          the ESI label indicates which egress ACs must be
          excluded when forwarding BUM traffic.  Here, the ESI label
          identifies ingress traffic that should be discarded by the
          downstream PE.</li>
        </ul>
        <t indent="0" pn="section-2.2-3">Control plane and data plane extensions to <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>
        are required to support ESI labels for SFGs forwarded by upstream PEs.
        Upon failure of the selected G-source, the downstream PE switches to a
        different G-source and updates its Reverse Path Forwarding check for
        the (*,G) state. These extensions and procedures are described in Sections
        <xref target="sect-3" format="counter" sectionFormat="of" derivedContent="3"/> and <xref target="sect-5" format="counter" sectionFormat="of" derivedContent="5"/>.</t>
      </section>
      <section anchor="sect-2.3" numbered="true" toc="include" removeInRFC="false" pn="section-2.3">
        <name slugifiedName="name-solution-selection">Solution Selection</name>
        <t indent="0" pn="section-2.3-1">Operators should select a solution based on their specific
        requirements: </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.3-2">
          <li pn="section-2.3-2.1">
            <t indent="0" pn="section-2.3-2.1.1">The Warm Standby solution is more bandwidth-efficient but
            incurs longer failover times in the event of a G-source or
            upstream PE failure. Additionally, only the upstream PEs connected
            to redundant G-sources for the same SFG need to support the new
            procedures in the Warm Standby solution.</t>
          </li>
          <li pn="section-2.3-2.2">
            <t indent="0" pn="section-2.3-2.2.1">The Hot Standby solution is recommended for scenarios requiring
            fast failover times, provided that the additional bandwidth
            consumption (due to multiple transmissions of SFG packets to
            downstream PEs) is acceptable.</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-2.4" numbered="true" toc="include" removeInRFC="false" pn="section-2.4">
        <name slugifiedName="name-system-support">System Support</name>
        <t indent="0" pn="section-2.4-1">This document does not mandate support for both solutions on a
        single system. If one solution is implemented, support for the other
        is <bcp14>OPTIONAL</bcp14>.</t>
      </section>
    </section>
    <section anchor="sect-3" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-bgp-evpn-extensions">BGP EVPN Extensions</name>
      <t indent="0" pn="section-3-1">This document introduces the following BGP EVPN extensions:</t>
      <section anchor="sect-3.1" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-single-flow-group-flag-in-t">Single Flow Group Flag in the Multicast Flags Extended Community</name>
        <t indent="0" pn="section-3.1-1">A new Single Flow Group (SFG) flag is defined within the Multicast
        Flags Extended Community. This flag has been registered as bit 4 
        in the "Multicast Flags Extended Community" registry (see <xref target="sfg" format="default" sectionFormat="of" derivedContent="Table 1"/>). The SFG
        flag is set in S-PMSI A-D routes that carry (*,G) or (S,G) Single Flow Group
        information in the BGP EVPN Network Layer Reachability
        Information (NLRI).</t>
      </section>
      <section anchor="sect-3.2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-esi-label-extended-communit">ESI Label Extended Community in S-PMSI A-D Routes</name>
        <t indent="0" pn="section-3.2-1">The Hot Standby solution requires the advertisement of one or more
        ESI Label Extended Communities <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> alongside the
        S-PMSI A-D routes. These extended communities encode the ESI values
        associated with an S-PMSI A-D (*,G) or (S,G) route that advertises the
        presence of a Single Flow Group.</t>
        <t indent="0" pn="section-3.2-2">Key considerations include:</t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.2-3"><li pn="section-3.2-3.1" derivedCounter="1.">
            <t indent="0" pn="section-3.2-3.1.1">When advertised with the S-PMSI A-D routes, only the ESI label
            value in the extended community is relevant to the procedures
            defined in this document.</t>
          </li>
          <li pn="section-3.2-3.2" derivedCounter="2.">
            <t indent="0" pn="section-3.2-3.2.1">The Flags field within the extended community <bcp14>MUST</bcp14> be set to
            "0x00" on transmission and <bcp14>MUST</bcp14> be ignored on reception.</t>
          </li>
        </ol>
        <t indent="0" pn="section-3.2-4"><xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> specifies the use of the ESI Label
        Extended Community in conjunction with the A-D per ES route. This
        document extends the applicability of the ESI Label Extended Community
        by allowing its inclusion multiple times (with different ESI label
        values) alongside the EVPN S-PMSI A-D route. These extensions enable
        the precise encoding and advertisement of SFG-related
        information, facilitating efficient multicast traffic handling in EVPN
        networks.</t>
      </section>
    </section>
    <section anchor="sect-4" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-warm-standby-ws-solution-fo">Warm Standby (WS) Solution for Redundant G-Sources</name>
      <t indent="0" pn="section-4-1">This section specifies the Warm Standby solution for handling
      redundant multicast sources (G-sources). Note that while the examples
      use IPv4 addresses, the solution supports both IPv4 and IPv6
      sources.</t>
      <section anchor="sect-4.1" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-specification">Specification</name>
        <t indent="0" pn="section-4.1-1">The Warm Standby solution follows these general procedures:</t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.1-2"><li pn="section-4.1-2.1" derivedCounter="1.">
            <t indent="0" pn="section-4.1-2.1.1">Configuration of the upstream PEs</t>
            <t indent="0" pn="section-4.1-2.1.2">Upstream PEs, potentially connected to redundant
            G-sources, are configured to recognize: </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2.1.3">
              <li pn="section-4.1-2.1.3.1">
                <t indent="0" pn="section-4.1-2.1.3.1.1">The multicast groups that carry an SFG in the tenant
                domain.</t>
              </li>
              <li pn="section-4.1-2.1.3.2">
                <t indent="0" pn="section-4.1-2.1.3.2.1">The local Broadcast Domains that may host redundant
                G-sources</t>
              </li>
            </ul>
            <t indent="0" pn="section-4.1-2.1.4">The SFG configuration applies to either "any" source,
            i.e., (*) or to a specific "source prefix" (e.g., "192.0.2.0/30"
            or "2001:db8::/120"). For instance, if the IPv4 prefix is
            192.0.2.0/30, the sources 192.0.2.1 and 192.0.2.2 are considered
            redundant G-sources for the SFG, while 192.0.2.10 is not. In a
            different example for IPv6, if the prefix is 2001:db8::/120,
            sources 2001:db8::1 or 2001:db8::2 are considered redundant
            G-sources for the SFG, but 2001:db8:1::1 is not.</t>
            <t indent="0" pn="section-4.1-2.1.5">Example Configuration (<xref target="ure-ws-solution-for-redundant-g-sources" format="default" sectionFormat="of" derivedContent="Figure 4"/>):</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2.1.6">
              <li pn="section-4.1-2.1.6.1">
                <t indent="0" pn="section-4.1-2.1.6.1.1">PE1 is configured to recognize G1 as an SFG for any source,
                with potential redundant G-sources attached to 
                BD1 and BD2.</t>
              </li>
              <li pn="section-4.1-2.1.6.2">
                <t indent="0" pn="section-4.1-2.1.6.2.1">Alternatively, PE1 may recognize G1 as an SFG for sources
                within 192.0.2.0/30 (or 2001:db8::/120), with redundant
                G-sources in BD1 and BD2.</t>
              </li>
            </ul>
          </li>
          <li pn="section-4.1-2.2" derivedCounter="2.">
            <t indent="0" pn="section-4.1-2.2.1">Signaling the location of a G-source for an SFG</t>
            <t indent="0" pn="section-4.1-2.2.2">Upon receiving the first IP multicast packet for a
            configured SFG on a Broadcast Domain, an upstream PE (e.g.,
            PE1):</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2.2.3">
              <li pn="section-4.1-2.2.3.1">
                <t indent="0" pn="section-4.1-2.2.3.1.1"><bcp14>MUST</bcp14> advertise an S-PMSI A-D route for the SFG:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2.2.3.1.2">
                  <li pn="section-4.1-2.2.3.1.2.1">
                    <t indent="0" pn="section-4.1-2.2.3.1.2.1.1">An (*,G) route if the SFG is configured for any
                    source.</t>
                  </li>
                  <li pn="section-4.1-2.2.3.1.2.2">
                    <t indent="0" pn="section-4.1-2.2.3.1.2.2.1">An (S,G) route (where S can have any prefix length) if
                    the SFG is configured for a source prefix.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-4.1-2.2.3.2">
                <t indent="0" pn="section-4.1-2.2.3.2.1"><bcp14>MUST</bcp14> include the following attributes in the S-PMSI A-D
                route:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2.2.3.2.2">
                  <li pn="section-4.1-2.2.3.2.2.1">
                    <t indent="0" pn="section-4.1-2.2.3.2.2.1.1">Route Targets (RTs): The Broadcast Domain Route Target
                    (BD-RT) of the BD receiving the traffic and, if
                    applicable, the Supplementary Broadcast Domain Route
                    Target (SBD-RT), which is needed so that the route is
                    imported by all PEs attached to the tenant domain in an
                    OISM solution.</t>
                  </li>
                  <li pn="section-4.1-2.2.3.2.2.2">
                    <t indent="0" pn="section-4.1-2.2.3.2.2.2.1">Multicast Flags Extended Community: <bcp14>MUST</bcp14> include
                    the SFG flag to indicate that the route conveys an
                    SFG.</t>
                  </li>
                  <li pn="section-4.1-2.2.3.2.2.3">
                    <t indent="0" pn="section-4.1-2.2.3.2.2.3.1">Designated Forwarder Election Extended Community:
                    Specifies the algorithm and preferences for the Single Forwarder
                    election, using the DF
                    election defined in <xref target="RFC8584" format="default" sectionFormat="of" derivedContent="RFC8584"/>.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-4.1-2.2.3.3">
                <t indent="0" pn="section-4.1-2.2.3.3.1">Advertises the route:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2.2.3.3.2">
                  <li pn="section-4.1-2.2.3.3.2.1">
                    <t indent="0" pn="section-4.1-2.2.3.3.2.1.1">Without a PMSI Tunnel Attribute if using IR, AR, or BIER.</t>
                  </li>
                  <li pn="section-4.1-2.2.3.3.2.2">
                    <t indent="0" pn="section-4.1-2.2.3.3.2.2.1">With a PMSI Tunnel Attribute for other tunnel
                    types.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-4.1-2.2.3.4">
                <t indent="0" pn="section-4.1-2.2.3.4.1"><bcp14>MUST</bcp14> withdraw the S-PMSI A-D route when the SFG traffic
                ceases. A timer is <bcp14>RECOMMENDED</bcp14> to detect inactivity and
                trigger route withdrawal.</t>
              </li>
            </ul>
          </li>
          <li pn="section-4.1-2.3" derivedCounter="3.">
            <t indent="0" pn="section-4.1-2.3.1">Single Forwarder Election on the upstream PEs</t>
            <t indent="0" pn="section-4.1-2.3.2">If an upstream PE receives one or more S-PMSI A-D
            routes for the same SFG from remote PEs, it performs Single Forwarder
            Election based on the Designated Forwarder Election
            Extended Community. </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2.3.3">
              <li pn="section-4.1-2.3.3.1">
                <t indent="0" pn="section-4.1-2.3.3.1.1">Two routes are considered part of the same SFG if they are
                advertised for the same tenant and match in the following
                fields:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2.3.3.1.2">
                  <li pn="section-4.1-2.3.3.1.2.1">
                    <t indent="0" pn="section-4.1-2.3.3.1.2.1.1">Multicast Source Length</t>
                  </li>
                  <li pn="section-4.1-2.3.3.1.2.2">
                    <t indent="0" pn="section-4.1-2.3.3.1.2.2.1">Multicast Source</t>
                  </li>
                  <li pn="section-4.1-2.3.3.1.2.3">
                    <t indent="0" pn="section-4.1-2.3.3.1.2.3.1">Multicast Group Length</t>
                  </li>
                  <li pn="section-4.1-2.3.3.1.2.4">
                    <t indent="0" pn="section-4.1-2.3.3.1.2.4.1">Multicast Group</t>
                  </li>
                </ul>
              </li>
              <li pn="section-4.1-2.3.3.2">
                <t indent="0" pn="section-4.1-2.3.3.2.1">Election Rules:</t>
                <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.1-2.3.3.2.2"><li pn="section-4.1-2.3.3.2.2.1" derivedCounter="1.">
                    <t indent="0" pn="section-4.1-2.3.3.2.2.1.1">A consistent DF Election Algorithm
                    <bcp14>MUST</bcp14> be used across all upstream PEs for the Single Forwarder
                    election. In OISM networks, the Default
                    Designated Forwarder Election Algorithm <bcp14>MUST NOT</bcp14> be used
                    if redundant G-sources are attached to Broadcast Domains
                    with different Ethernet Tags.</t>
                  </li>
                  <li pn="section-4.1-2.3.3.2.2.2" derivedCounter="2.">
                    <t indent="0" pn="section-4.1-2.3.3.2.2.2.1">In case of a mismatch in the DF
                    Election Algorithm or capabilities, the tie-breaker is the
                    lowest PE IP address (as advertised in the Originator
                    Address field of the S-PMSI A-D route).</t>
                  </li>
                </ol>
              </li>
            </ul>
          </li>
          <li pn="section-4.1-2.4" derivedCounter="4.">
            <t indent="0" pn="section-4.1-2.4.1">Reverse Path Forwarding Checks on the Upstream PEs</t>
            <t indent="0" pn="section-4.1-2.4.2">All PEs with a local G-source for an SFG apply a
            Reverse Path Forwarding check to the (*,G) or (S,G) state based on
            the Single Forwarder election result:</t>
            <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.1-2.4.3"><li pn="section-4.1-2.4.3.1" derivedCounter="1.">
                <t indent="0" pn="section-4.1-2.4.3.1.1">Non-SF PEs: <bcp14>MUST</bcp14> discard all (*,G) or (S,G)
                packets received on local ACs.</t>
              </li>
              <li pn="section-4.1-2.4.3.2" derivedCounter="2.">
                <t indent="0" pn="section-4.1-2.4.3.2.1">Single Forwarder PEs: <bcp14>MUST</bcp14> forward (*,G) or (S,G) packets
                received on one (and only one) local AC.</t>
              </li>
            </ol>
          </li>
        </ol>
        <t indent="0" pn="section-4.1-3">Key Features of the Warm Standby Solution:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-4">
          <li pn="section-4.1-4.1">
            <t indent="0" pn="section-4.1-4.1.1">The solution ensures redundancy for SFGs without requiring
            upgrades to downstream PEs (where no redundant G-sources are
            connected).</t>
          </li>
          <li pn="section-4.1-4.2">
            <t indent="0" pn="section-4.1-4.2.1">Existing procedures for Non-SFG G-sources remain unchanged.</t>
          </li>
          <li pn="section-4.1-4.3">
            <t indent="0" pn="section-4.1-4.3.1">Redundant G-sources can be either single-homed or multi-homed.
            Multi-homing does not alter the above procedures.</t>
          </li>
        </ul>
        <t indent="0" pn="section-4.1-5">Examples of the Warm Standby solution are provided in Sections <xref target="sect-4.2" format="counter" sectionFormat="of" derivedContent="4.2"/> and <xref target="sect-4.3" format="counter" sectionFormat="of" derivedContent="4.3"/>.</t>
      </section>
      <section anchor="sect-4.2" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-warm-standby-example-in-an-">Warm Standby Example in an OISM Network</name>
        <t indent="0" pn="section-4.2-1"><xref target="ure-ws-solution-for-redundant-g-sources" format="default" sectionFormat="of" derivedContent="Figure 4"/>
        illustrates an example where S1 and S2 are redundant G-sources for the
        Single Flow Group (*,G1).</t>
        <figure anchor="ure-ws-solution-for-redundant-g-sources" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-warm-standby-solution-for-r">Warm Standby Solution for Redundant G-Sources</name>
          <artwork name="" type="" align="left" alt="" pn="section-4.2-2.1">
                     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/MLD                            | | IGMP/MLD
      R1 | J(*,G1)                             R3| J(*,G1)
</artwork>
        </figure>
        <t indent="0" pn="section-4.2-3">The Warm Standby procedure is as follows:</t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.2-4"><li pn="section-4.2-4.1" derivedCounter="1.">
            <t indent="0" pn="section-4.2-4.1.1">Configuration of the upstream PEs (PE1 and PE2)</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2-4.1.2">
              <li pn="section-4.2-4.1.2.1">
                <t indent="0" pn="section-4.2-4.1.2.1.1">PE1 and PE2 are configured to recognize G1 as a Single Flow Group
                for any source.</t>
              </li>
              <li pn="section-4.2-4.1.2.2">
                <t indent="0" pn="section-4.2-4.1.2.2.1">Redundant G-sources for G1 may be attached to 
                BD1 (for PE1) and BD2 (for PE2).</t>
              </li>
            </ul>
          </li>
          <li pn="section-4.2-4.2" derivedCounter="2.">
            <t indent="0" pn="section-4.2-4.2.1">Signaling the location of S1 and S2 for (*,G1)</t>
            <t indent="0" pn="section-4.2-4.2.2">Upon receiving traffic for G1 on a local
            AC:</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2-4.2.3">
              <li pn="section-4.2-4.2.3.1">
                <t indent="0" pn="section-4.2-4.2.3.1.1">PE1 and PE2 originate S-PMSI A-D routes for (*,G1),
                including:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2-4.2.3.1.2">
                  <li pn="section-4.2-4.2.3.1.2.1">
                    <t indent="0" pn="section-4.2-4.2.3.1.2.1.1">the SBD-RT,</t>
                  </li>
                  <li pn="section-4.2-4.2.3.1.2.2">
                    <t indent="0" pn="section-4.2-4.2.3.1.2.2.1">the Designated Forwarder Election Extended Community,
                    and</t>
                  </li>
                  <li pn="section-4.2-4.2.3.1.2.3">
                    <t indent="0" pn="section-4.2-4.2.3.1.2.3.1">the SFG flag in the Multicast Flags Extended
                    Community.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-4.2-4.2.3.2">
                <t indent="0" pn="section-4.2-4.2.3.2.1">These routes indicate the presence of a Single Flow Group.</t>
              </li>
            </ul>
          </li>
          <li pn="section-4.2-4.3" derivedCounter="3.">
            <t indent="0" pn="section-4.2-4.3.1">Single Forwarder Election</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2-4.3.2">
              <li pn="section-4.2-4.3.2.1">
                <t indent="0" pn="section-4.2-4.3.2.1.1">Based on the Designated Forwarder Election Extended
                Community, PE1 and PE2 perform Single Forwarder election.</t>
              </li>
              <li pn="section-4.2-4.3.2.2">
                <t indent="0" pn="section-4.2-4.3.2.2.1">Assuming they use Preference-based Election <xref target="RFC9785" format="default" sectionFormat="of" derivedContent="RFC9785"/>, PE1 (with a higher
                preference) is elected as the Single Forwarder for (*,G1).</t>
              </li>
            </ul>
          </li>
          <li pn="section-4.2-4.4" derivedCounter="4.">
            <t indent="0" pn="section-4.2-4.4.1">Reverse Path Forwarding check on the PEs attached to a
            redundant G-source</t>
            <ol spacing="normal" type="a" indent="adaptive" start="1" pn="section-4.2-4.4.2"><li pn="section-4.2-4.4.2.1" derivedCounter="a.">
                <t indent="0" pn="section-4.2-4.4.2.1.1">Non-SF Behavior: PE2 discards all (*,G1)
                packets received on its local AC.</t>
              </li>
              <li pn="section-4.2-4.4.2.2" derivedCounter="b.">
                <t indent="0" pn="section-4.2-4.4.2.2.1">Single Forwarder Behavior: PE1 forwards (*,G1) packets
                received on one (and only one) local AC.</t>
              </li>
            </ol>
          </li>
        </ol>
        <t indent="0" pn="section-4.2-5">The outcome:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2-6">
          <li pn="section-4.2-6.1">
            <t indent="0" pn="section-4.2-6.1.1">Upon receiving IGMP/MLD reports for (*,G1) or (S,G1),
            downstream PEs (PE3 and PE5) issue SMET routes to pull the
            multicast Single Flow Group traffic from PE1 only.</t>
          </li>
          <li pn="section-4.2-6.2">
            <t indent="0" pn="section-4.2-6.2.1">In the event of a failure of S1, the AC
            connected to S1, or PE1 itself, the S-PMSI A-D route for (*,G1) is
            withdrawn by PE1.</t>
          </li>
          <li pn="section-4.2-6.3">
            <t indent="0" pn="section-4.2-6.3.1">As a result, PE2 is promoted to Single Forwarder, ensuring
            continued delivery of (*,G1) traffic.</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-4.3" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-warm-standby-example-in-a-s">Warm Standby Example in a Single-BD Tenant Network</name>
        <t indent="0" pn="section-4.3-1"><xref target="ure-ws-solution-for-redundant-g-sources-in-the-same-bd" format="default" sectionFormat="of" derivedContent="Figure 5"/>
        illustrates an example where S1 and S2 are redundant G-sources for the
        Single Flow Group (*,G1). In this case, all 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" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-ws-solution-for-redundant-g">WS Solution for Redundant G-Sources in the Same BD</name>
          <artwork name="" type="" align="left" alt="" pn="section-4.3-2.1">
                     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/MLD                           |  | IGMP/MLD
      R1 | J(*,G1)                            R3 | J(*,G1)
</artwork>
        </figure>
        <t indent="0" pn="section-4.3-3">The procedures for the Warm Standby solution in this example are
        identical to those described in <xref target="sect-4.2" format="default" sectionFormat="of" derivedContent="Section 4.2"/>, with the
        following distinction:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3-4">
          <li pn="section-4.3-4.1">
            <t indent="0" pn="section-4.3-4.1.1">Signaling the S-PMSI A-D Routes </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3-4.1.2">
              <li pn="section-4.3-4.1.2.1">
                <t indent="0" pn="section-4.3-4.1.2.1.1">Upon receiving traffic for the Single Flow Group (*,G1),
                PE1 and PE2 advertise S-PMSI A-D routes.</t>
              </li>
              <li pn="section-4.3-4.1.2.2">
                <t indent="0" pn="section-4.3-4.1.2.2.1">These routes include only the BD1-RT (Broadcast Domain 1
                Route Target) as there is no SBD
                in this scenario.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t indent="0" pn="section-4.3-5">This example represents a specific sub-case of the broader
        procedure detailed in <xref target="sect-4.2" format="default" sectionFormat="of" derivedContent="Section 4.2"/>, adapted to a single
        Broadcast Domain environment. The absence of an SBD simplifies the
        configuration, as all signaling remains within the context of BD1.</t>
      </section>
    </section>
    <section anchor="sect-5" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-hot-standby-solution-for-re">Hot Standby Solution for Redundant G-Sources</name>
      <t indent="0" pn="section-5-1">This section specifies the Hot Standby solution for handling
      redundant multicast sources (G-sources). The solution supports both IPv4
      and IPv6 sources.</t>
      <section anchor="sect-5.1" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-specification-2">Specification</name>
        <t indent="0" pn="section-5.1-1">The Hot Standby solution is designed for scenarios requiring fast
        failover in the event of a G-source or upstream PE failure. It assumes
        that additional bandwidth consumption in the tenant network is
        acceptable. The procedure is as follows:</t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5.1-2"><li pn="section-5.1-2.1" derivedCounter="1.">
            <t indent="0" pn="section-5.1-2.1.1">Configuration of PEs</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.1.2">
              <li pn="section-5.1-2.1.2.1">
                <t indent="0" pn="section-5.1-2.1.2.1.1">Upstream PEs are configured to identify Single Flow Groups
                in the tenant domain. This includes groups for any source or a
                source prefix containing redundant G-sources.</t>
              </li>
              <li pn="section-5.1-2.1.2.2">
                <t indent="0" pn="section-5.1-2.1.2.2.1">Each redundant G-source <bcp14>MUST</bcp14> be associated with an ES
                on the upstream PEs. This applies to both single-homed
                and multi-homed G-sources. For both, single-homed and
                multi-homed G-sources, ESI labels are essential for Reverse
                Path Forwarding checks on downstream PEs. The term S-ESI is
                used to denote the ESI associated with a redundant
                G-source.</t>
              </li>
              <li pn="section-5.1-2.1.2.3">
                <t indent="0" pn="section-5.1-2.1.2.3.1">Unlike the Warm Standby solution, the Hot Standby solution
                requires downstream PEs to support the procedure.</t>
              </li>
              <li pn="section-5.1-2.1.2.4">
                <t indent="0" pn="section-5.1-2.1.2.4.1">Downstream PEs: </t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.1.2.4.2">
                  <li pn="section-5.1-2.1.2.4.2.1">
                    <t indent="0" pn="section-5.1-2.1.2.4.2.1.1">Do not need explicit configuration for Single Flow Groups
                    or their ESIs (since they get that information from
                    the upstream PEs).</t>
                  </li>
                  <li pn="section-5.1-2.1.2.4.2.2">
                    <t indent="0" pn="section-5.1-2.1.2.4.2.2.1">Dynamically select an ESI for each Single Flow Group
                    based on local policy (hence different downstream PEs may
                    select different ESIs) and program
                    a Reverse Path Forwarding check to discard (*,G) or (S,G)
                    packets from other ESIs.</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-5.1-2.2" derivedCounter="2.">
            <t indent="0" pn="section-5.1-2.2.1">Signaling the location of a G-source for a given SFG and its
            association to the local ESes</t>
            <t indent="0" pn="section-5.1-2.2.2">An upstream PE configured for Hot Standby procedures: </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.2.3">
              <li pn="section-5.1-2.2.3.1">
                <t indent="0" pn="section-5.1-2.2.3.1.1"><bcp14>MUST</bcp14> advertise an S-PMSI A-D route for each Single Flow Group.
                These routes:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.2.3.1.2">
                  <li pn="section-5.1-2.2.3.1.2.1">
                    <t indent="0" pn="section-5.1-2.2.3.1.2.1.1">Use the Broadcast Domain Route Target (BD-RT) and, if
                    applicable, the 
                    SBD-RT so that the routes are imported in all the
                    PEs of the tenant domain.</t>
                  </li>
                  <li pn="section-5.1-2.2.3.1.2.2">
                    <t indent="0" pn="section-5.1-2.2.3.1.2.2.1"><bcp14>MUST</bcp14> include ESI Label Extended Communities to convey
                    the S-ESI labels associated with the Single Flow Group.
                    These ESI labels match the labels advertised by the EVPN
                    A-D per ES routes for each S-ES.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-5.1-2.2.3.2">
                <t indent="0" pn="section-5.1-2.2.3.2.1"><bcp14>MAY</bcp14> include a PMSI Tunnel Attribute, depending on the
                tunnel type, as specified in the Warm Standby procedure.</t>
              </li>
              <li pn="section-5.1-2.2.3.3">
                <t indent="0" pn="section-5.1-2.2.3.3.1"><bcp14>MUST</bcp14> trigger the S-PMSI A-D route advertisement based on
                the SFG configuration (and not based on the reception of
                traffic).</t>
              </li>
            </ul>
          </li>
          <li pn="section-5.1-2.3" derivedCounter="3.">
            <t indent="0" pn="section-5.1-2.3.1">Distribution of DCB ESI labels and G-source ES routes</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.3.2">
              <li pn="section-5.1-2.3.2.1">
                <t indent="0" pn="section-5.1-2.3.2.1.1">Upstream PEs advertise corresponding EVPN routes:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.3.2.1.2">
                  <li pn="section-5.1-2.3.2.1.2.1">
                    <t indent="0" pn="section-5.1-2.3.2.1.2.1.1">EVPN ES routes for the local S-ESIs.
                    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 EVPN ES
                    routes.</t>
                  </li>
                  <li pn="section-5.1-2.3.2.1.2.2">
                    <t indent="0" pn="section-5.1-2.3.2.1.2.2.1">A-D per EVI and A-D per ES routes for tenant-specific
                    traffic. If the SBD exists, the EVPN A-D per EVI and A-D
                    per ES routes <bcp14>MUST</bcp14> include the route target SBD-RT, since
                    they have to be imported by all the PEs in the tenant
                    domain.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-5.1-2.3.2.2">
                <t indent="0" pn="section-5.1-2.3.2.2.1">ESI label procedures:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.3.2.2.2">
                  <li pn="section-5.1-2.3.2.2.2.1">
                    <t indent="0" pn="section-5.1-2.3.2.2.2.1.1">The EVPN A-D per ES routes convey the S-ESI labels that
                    the downstream PEs use to implement Reverse Path
                    Forwarding checks for SFGs.</t>
                  </li>
                  <li pn="section-5.1-2.3.2.2.2.2">
                    <t indent="0" pn="section-5.1-2.3.2.2.2.2.1">All packets for a given G-source <bcp14>MUST</bcp14> carry the same
                    S-ESI label. 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 <bcp14>MUST</bcp14> allocate the same ESI label "Lx" for S-ES-1, and
                    they <bcp14>MUST</bcp14> allocate the same ESI label "Ly" for S-ES-2. In
                    addition, Lx and Ly <bcp14>MUST</bcp14> be different.</t>
                  </li>
                  <li pn="section-5.1-2.3.2.2.2.3">
                    <t indent="0" pn="section-5.1-2.3.2.2.2.3.1">S-ESI labels are allocated as Domain-wide Common Block
                    (DCB) labels and follow the procedures in <xref target="RFC9573" format="default" sectionFormat="of" derivedContent="RFC9573"/>. In addition, the PE indicates that
                    these ESI labels are DCB labels by using the extensions
                    described in <xref target="sect-5.2" format="default" sectionFormat="of" derivedContent="Section 5.2"/>.</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-5.1-2.4" derivedCounter="4.">
            <t indent="0" pn="section-5.1-2.4.1">Processing of EVPN A-D per ES/EVI routes and Reverse Path
            Forwarding check on the downstream PEs</t>
            <t indent="0" pn="section-5.1-2.4.2">The
            EVPN A-D per ES/EVI routes are received and imported in all the
            PEs in the tenant domain. Downstream PEs process received EVPN A-D
            per ES/EVI routes based on their configuration: </t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.4.3">
              <li pn="section-5.1-2.4.3.1">
                <t indent="0" pn="section-5.1-2.4.3.1.1">The PEs attached to the same Broadcast Domain of the route
                target BD-RT that is included in the EVPN A-D per ES/EVI
                routes process the routes as in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> and
                <xref target="RFC8584" format="default" sectionFormat="of" derivedContent="RFC8584"/>. If the receiving PE is attached to
                the same ES as indicated in the route, split-horizon procedures <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> are followed and
                the DF Election candidate list is modified
                as in <xref target="RFC8584" format="default" sectionFormat="of" derivedContent="RFC8584"/> if the ES
                supports the AC-DF (AC influenced DF) capability.</t>
              </li>
              <li pn="section-5.1-2.4.3.2">
                <t indent="0" pn="section-5.1-2.4.3.2.1">The PEs that are not attached to the Broadcast Domain 
                identified by the BD-RT but are attached to the
                SBD of the received
                SBD-RT <bcp14>MUST</bcp14> import the EVPN A-D per ES/EVI routes and use
                them for redundant G-source mass withdrawal, as explained
                later.</t>
              </li>
              <li pn="section-5.1-2.4.3.3">
                <t indent="0" pn="section-5.1-2.4.3.3.1">Upon importing EVPN A-D per ES routes corresponding to
                different S-ESes, a PE <bcp14>MUST</bcp14> select a primary S-ES based on
                local policy, and add a Reverse Path Forwarding check to the
                (*,G) or (S,G) state in the Broadcast Domain or SBD.
                This Reverse Path Forwarding check discards
                all ingress packets to (*,G)/(S,G) that are not received with
                the ESI label of the primary S-ES.</t>
              </li>
            </ul>
          </li>
          <li pn="section-5.1-2.5" derivedCounter="5.">
            <t indent="0" pn="section-5.1-2.5.1">G-traffic forwarding for redundant G-sources and fault
            detection</t>
            <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.5.2">
              <li pn="section-5.1-2.5.2.1">
                <t indent="0" pn="section-5.1-2.5.2.1.1">Traffic forwarding with S-ESI labels:</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.5.2.1.2">
                  <li pn="section-5.1-2.5.2.1.2.1">
                    <t indent="0" pn="section-5.1-2.5.2.1.2.1.1">When there is an existing (*,G) or (S,G) state for the
                    SFG with output interface list entries associated with
                    remote EVPN PEs, the upstream PE will add an S-ESI label
                    to the bottom of the stack when forwarding G-traffic
                    received on an S-ES. This label is allocated from a
                    DCB as described in Step 3.</t>
                  </li>
                  <li pn="section-5.1-2.5.2.1.2.2">
                    <t indent="0" pn="section-5.1-2.5.2.1.2.2.1">If point-to-multipoint or BIER PMSIs are used, this
                    procedure does not introduce new data path requirements on
                    the upstream PEs, apart from allocating the S-ESI label
                    from the DCB as per <xref target="RFC9573" format="default" sectionFormat="of" derivedContent="RFC9573"/>). However, when IR or AR
                    are employed, this document extends
                    the procedures defined in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>. In
                    these scenarios, the upstream PE pushes the S-ESI labels
                    on packets not only destined for PEs sharing the ES but
                    also for all PEs within the tenant domain. This ensures
                    that downstream PEs receive all the multicast packets from
                    the redundant G-sources with an S-ESI label, regardless of
                    the PMSI type or local ESes. Downstream PEs will discard
                    any packet carrying an S-ESI label different from the
                    primary S-ESI label (associated with the selected primary
                    S-ES), as outlined in Step 4.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-5.1-2.5.2.2">
                <t indent="0" pn="section-5.1-2.5.2.2.1">Handling route withdrawals and fault detection</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.5.2.2.2">
                  <li pn="section-5.1-2.5.2.2.2.1">
                    <t indent="0" pn="section-5.1-2.5.2.2.2.1.1">If the last EVPN A-D per EVI or the last EVPN A-D per
                    ES route for the primary S-ES is withdrawn, the downstream
                    PE will immediately select a new primary S-ES and update
                    the Reverse Path Forwarding check accordingly.</t>
                  </li>
                  <li pn="section-5.1-2.5.2.2.2.2">
                    <t indent="0" pn="section-5.1-2.5.2.2.2.2.1">For scenarios where the same S-ES is used across
                    multiple tenant domains by the upstream PEs, the
                    withdrawal of all the EVPN A-D per-ES routes associated
                    with an S-ES enables a mass withdrawal mechanism. This
                    allows the downstream PE to simultaneously update the
                    Reverse Path Forwarding check for all tenant domains that
                    rely on the same S-ES.</t>
                  </li>
                </ul>
              </li>
              <li pn="section-5.1-2.5.2.3">
                <t indent="0" pn="section-5.1-2.5.2.3.1">Removal of Reverse Path Forwarding checks on S-PMSI
                withdrawal</t>
                <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.1-2.5.2.3.2">
                  <li pn="section-5.1-2.5.2.3.2.1">
                    <t indent="0" pn="section-5.1-2.5.2.3.2.1.1">The withdrawal of the last EVPN S-PMSI A-D route for a
                    given (*,G) or (S,G) that represents an SFG <bcp14>SHOULD</bcp14> result
                    in the downstream PE removing the S-ESI label-based
                    Reverse Path Forwarding check for that (*,G) or (S,G).</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ol>
        <t indent="0" pn="section-5.1-3">This document supports the use of Context-Specific Label Space ID Extended
        Communities, as described in <xref target="RFC9573" format="default" sectionFormat="of" derivedContent="RFC9573"/>, for scenarios
        where S-ESI labels are allocated within context-specific label spaces. When the
        context-specific label space ID extended community is advertised along with the
        ESI label in an EVPN A-D per ES route, the ESI label is from a context-specific
        label space identified by the DCB label in
        the Extended Community.</t>
      </section>
      <section anchor="sect-5.2" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-extensions-for-the-advertis">Extensions for the Advertisement of DCB Labels</name>
        <t indent="0" pn="section-5.2-1">DCB labels are specified in <xref target="RFC9573" format="default" sectionFormat="of" derivedContent="RFC9573"/>, and this document makes use of them as outlined in
        <xref target="sect-5.1" format="default" sectionFormat="of" derivedContent="Section 5.1"/>. <xref target="RFC9573" format="default" sectionFormat="of" derivedContent="RFC9573"/> assumes that
        DCB labels are applicable only to
        Multipoint-to-Multipoint, Point-to-Multipoint, or BIER tunnels.
        Additionally, it specifies that when a PMSI label is a
        DCB label, the ESI label used for multi-homing is also a
        DCB label.</t>
        <t indent="0" pn="section-5.2-2">This document extends the use of DCB-allocated ESI labels with the
        following provisions: </t>
        <ol spacing="normal" type="a" indent="adaptive" start="1" pn="section-5.2-3"><li pn="section-5.2-3.1" derivedCounter="a.">
            <t indent="0" pn="section-5.2-3.1.1">DCB-allocated ESI labels <bcp14>MAY</bcp14> be used with IR
            tunnels and</t>
          </li>
          <li pn="section-5.2-3.2" derivedCounter="b.">
            <t indent="0" pn="section-5.2-3.2.1">DCB-allocated ESI labels <bcp14>MAY</bcp14> be used by PEs that do not use
            DCB-allocated PMSI labels.</t>
          </li>
        </ol>
        <t indent="0" pn="section-5.2-4">These control plane extensions are indicated in the EVPN A-D
        per ES routes for the relevant S-ESes by: </t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5.2-5"><li pn="section-5.2-5.1" derivedCounter="1.">
            <t indent="0" pn="section-5.2-5.1.1">Adding the ESI-DCB-flag (DCB flag) to the
            ESI label Extended Community, or</t>
          </li>
          <li pn="section-5.2-5.2" derivedCounter="2.">
            <t indent="0" pn="section-5.2-5.2.1">Adding the Context-Specific Label Space ID extended community</t>
          </li>
        </ol>
        <t indent="0" pn="section-5.2-6">The encoding of the DCB-flag within the ESI Label Extended
        Community is shown below:</t>
        <figure anchor="ESI-label" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-esi-label-extended-community">ESI Label Extended Community</name>
          <artwork name="" type="" align="left" alt="" pn="section-5.2-7.1">
                     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>
        <t indent="0" pn="section-5.2-8">This document defines the DCB-flag as follows: </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2-9">
          <li pn="section-5.2-9.1">
            <t indent="0" pn="section-5.2-9.1.1">Bit 5 of the Flags octet in the ESI Label Extended Community is
            defined as the ESI-DCB-flag by this document.</t>
          </li>
          <li pn="section-5.2-9.2">
            <t indent="0" pn="section-5.2-9.2.1">When the ESI-DCB-flag is set, it indicates that the ESI label
            is a DCB label.</t>
          </li>
        </ul>
        <t indent="0" pn="section-5.2-10">Criteria for identifying a DCB label:</t>
        <t indent="0" pn="section-5.2-11">An ESI label is considered a DCB label if either of the following
        conditions is met:</t>
        <ol spacing="normal" type="a" indent="adaptive" start="1" pn="section-5.2-12"><li pn="section-5.2-12.1" derivedCounter="a.">
            <t indent="0" pn="section-5.2-12.1.1">The ESI label is encoded in an ESI Label Extended Community
            with the ESI-DCB-flag set.</t>
          </li>
          <li pn="section-5.2-12.2" derivedCounter="b.">
            <t indent="0" pn="section-5.2-12.2.1">The ESI label is signaled by a PE that has advertised a PMSI
            label that is a DCB label.</t>
          </li>
        </ol>
        <t indent="0" pn="section-5.2-13">As in <xref target="RFC9573" format="default" sectionFormat="of" derivedContent="RFC9573"/>, this document also permits the use
        of context-specific label space ID extended community. When this extended
        community is advertised along with the ESI label in an EVPN A-D per ES
        route, it indicates that the ESI label is from a context-specific label space
        identified by the DCB label in the Extended Community.</t>
      </section>
      <section anchor="sect-5.3" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-use-of-bfd-in-the-hs-soluti">Use of BFD in the HS Solution</name>
        <t indent="0" pn="section-5.3-1">In addition to utilizing the state of the EVPN A-D per EVI, EVPN
        A-D per ES, or S-PMSI A-D routes to adjust the Reverse Path Forwarding
        checks for (*,G) or (S,G) as discussed in <xref target="sect-5.1" format="default" sectionFormat="of" derivedContent="Section 5.1"/>,
        the Bidirectional Forwarding Detection (BFD) protocol <bcp14>MAY</bcp14> be employed
        to monitor the status of the multipoint tunnels used to forward the
        SFG packets from redundant G-sources.</t>
        <t indent="0" pn="section-5.3-2">BFD integration:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.3-3">
          <li pn="section-5.3-3.1">
            <t indent="0" pn="section-5.3-3.1.1">The BGP-BFD Attribute is advertised alongside the S-PMSI A-D or
            IMET routes, depending on whether
            Inclusive PMSI or Selective PMSI trees are being utilized.</t>
          </li>
          <li pn="section-5.3-3.2">
            <t indent="0" pn="section-5.3-3.2.1">The procedures outlined in <xref target="RFC9780" format="default" sectionFormat="of" derivedContent="RFC9780"/> are followed to bootstrap
            multipoint BFD sessions on the downstream PEs.</t>
          </li>
        </ul>
      </section>
      <section anchor="sect-5.4" numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-hot-standby-example-in-an-o">Hot Standby Example in an OISM Network</name>
        <t indent="0" pn="section-5.4-1">This section describes the Hot Standby model applied in an Optimized Inter-Subnet Multicast
        (OISM) network. Figures <xref target="ure-hs-solution-for-multi-homed-redundant-g-sources-in-oism" format="counter" sectionFormat="of" derivedContent="7"/>
        and <xref target="ure-hs-solution-for-single-homed-redundant-g-sources-in-oism" format="counter" sectionFormat="of" derivedContent="8"/>
        illustrate scenarios with multi-homed and single-homed redundant
        G-sources, respectively.</t>
        <section anchor="sect-5.4.1" numbered="true" toc="include" removeInRFC="false" pn="section-5.4.1">
          <name slugifiedName="name-multi-homed-redundant-g-sou">Multi-Homed Redundant G-Sources</name>
          <t indent="0" pn="section-5.4.1-1">Scenario (<xref target="ure-hs-solution-for-multi-homed-redundant-g-sources-in-oism" format="default" sectionFormat="of" derivedContent="Figure 7"/>):
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4.1-2">
            <li pn="section-5.4.1-2.1">
              <t indent="0" pn="section-5.4.1-2.1.1">S1 and S2 are redundant G-sources for the Single Flow Group
              (*,G1), connected to BD1.</t>
            </li>
            <li pn="section-5.4.1-2.2">
              <t indent="0" pn="section-5.4.1-2.2.1">S1 and S2 are all-active multi-homed to upstream PEs (PE1 and
              PE2).</t>
            </li>
            <li pn="section-5.4.1-2.3">
              <t indent="0" pn="section-5.4.1-2.3.1">Receivers are connected to downstream PEs (PE3 and PE5) in
              BD3 and BD1, respectively.</t>
            </li>
            <li pn="section-5.4.1-2.4">
              <t indent="0" pn="section-5.4.1-2.4.1">S1 and S2 are connected to the multi-homing PEs using a LAG.
              Multicast traffic can traverse either link.</t>
            </li>
            <li pn="section-5.4.1-2.5">
              <t indent="0" pn="section-5.4.1-2.5.1">In this model, downstream PEs receive duplicate G-traffic for
              (*,G1) and must use Reverse Path Forwarding checks to avoid
              delivering duplicate packets to receivers.</t>
            </li>
          </ul>
          <figure anchor="ure-hs-solution-for-multi-homed-redundant-g-sources-in-oism" align="left" suppress-title="false" pn="figure-7">
            <name slugifiedName="name-hot-standby-solution-for-mu">Hot Standby Solution for Multi-Homed Redundant G-Sources in OISM</name>
            <artwork name="" type="" align="left" alt="" pn="section-5.4.1-3.1">
                     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/MLD                           |  | IGMP/MLD
      R1 | J(*,G1)                            R3 | J(*,G1)
</artwork>
          </figure>
          <t indent="0" pn="section-5.4.1-4">The procedure is as follows:</t>
          <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5.4.1-5"><li pn="section-5.4.1-5.1" derivedCounter="1.">
              <t indent="0" pn="section-5.4.1-5.1.1">Configuration of the PEs:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4.1-5.1.2">
                <li pn="section-5.4.1-5.1.2.1">
                  <t indent="0" pn="section-5.4.1-5.1.2.1.1">PE1 and PE2 are configured to recognize (*,G1) as a
                  Single Flow Group.</t>
                </li>
                <li pn="section-5.4.1-5.1.2.2">
                  <t indent="0" pn="section-5.4.1-5.1.2.2.1">Redundant G-sources use S-ESIs: ESI-1 for S1 and ESI-2
                  for S2.</t>
                </li>
                <li pn="section-5.4.1-5.1.2.3">
                  <t indent="0" pn="section-5.4.1-5.1.2.3.1">The ESes (ES-1 and ES-2) are configured on
                  both PEs. ESI labels are allocated from a 
                  DCB <xref target="RFC9573" format="default" sectionFormat="of" derivedContent="RFC9573"/> - ESI-label-1 for ESI-1
                  and ESI-label-2 for ESI-2.</t>
                </li>
                <li pn="section-5.4.1-5.1.2.4">
                  <t indent="0" pn="section-5.4.1-5.1.2.4.1">The downstream PEs (PE3, PE4, and PE5) are configured to
                  support Hot Standby mode and select the G-source with, e.g.,
                  lowest ESI value.</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.4.1-5.2" derivedCounter="2.">
              <t indent="0" pn="section-5.4.1-5.2.1">Advertisement of the EVPN routes:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4.1-5.2.2">
                <li pn="section-5.4.1-5.2.2.1">
                  <t indent="0" pn="section-5.4.1-5.2.2.1.1">PE1 and PE2 advertise S-PMSI A-D routes for (*,G1),
                  including:</t>
                  <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4.1-5.2.2.1.2">
                    <li pn="section-5.4.1-5.2.2.1.2.1">
                      <t indent="0" pn="section-5.4.1-5.2.2.1.2.1.1">Route Targets: BD1-RT and SBD-RT.</t>
                    </li>
                    <li pn="section-5.4.1-5.2.2.1.2.2">
                      <t indent="0" pn="section-5.4.1-5.2.2.1.2.2.1">ESI Label Extended Communities for ESI-label-1 and
                      ESI-label-2.</t>
                    </li>
                    <li pn="section-5.4.1-5.2.2.1.2.3">
                      <t indent="0" pn="section-5.4.1-5.2.2.1.2.3.1">The SFG flag indicating that (*,G1) represents a
                      Single Flow Group.</t>
                    </li>
                  </ul>
                </li>
                <li pn="section-5.4.1-5.2.2.2">
                  <t indent="0" pn="section-5.4.1-5.2.2.2.1">EVPN ES and A-D per ES/EVI routes are also advertised for
                  ESI-1 and ESI-2. These include SBD-RT for downstream PE
                  import. The EVPN A-D per ES routes contain ESI-label-1 for
                  ESI-1 (on both PEs) and ESI-label-2 for ESI-2 (also on both
                  PEs).</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.4.1-5.3" derivedCounter="3.">
              <t indent="0" pn="section-5.4.1-5.3.1">Processing of EVPN A-D per ES/EVI routes and Reverse Path
              Forwarding check on downstream PEs:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4.1-5.3.2">
                <li pn="section-5.4.1-5.3.2.1">
                  <t indent="0" pn="section-5.4.1-5.3.2.1.1">PE1 and PE2 receive each other's ES and A-D per ES/EVI
                  routes. DF Election and programming of the
                  ESI labels for egress split-horizon filtering follow, as
                  specified in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> and <xref target="RFC8584" format="default" sectionFormat="of" derivedContent="RFC8584"/>.</t>
                </li>
                <li pn="section-5.4.1-5.3.2.2">
                  <t indent="0" pn="section-5.4.1-5.3.2.2.1">PE3/PE4 import the EVPN A-D per ES/EVI routes in the SBD;
                  PE5 imports them in BD1.</t>
                </li>
                <li pn="section-5.4.1-5.3.2.3">
                  <t indent="0" pn="section-5.4.1-5.3.2.3.1">As downstream PEs, PE3 and PE5 use the EVPN A-D per
                  ES/EVI routes to program Reverse Path Forwarding checks.</t>
                </li>
                <li pn="section-5.4.1-5.3.2.4">
                  <t indent="0" pn="section-5.4.1-5.3.2.4.1">The primary S-ESI for (*,G1) is selected based on local
                  policy (e.g., lowest ESI value), and therefore packets with
                  ESI-label-2 are discarded if ESI-label-1 is selected as the
                  primary label.</t>
                </li>
              </ul>
            </li>
            <li pn="section-5.4.1-5.4" derivedCounter="4.">
              <t indent="0" pn="section-5.4.1-5.4.1">Traffic forwarding and fault detection:</t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4.1-5.4.2">
                <li pn="section-5.4.1-5.4.2.1">
                  <t indent="0" pn="section-5.4.1-5.4.2.1.1">PE1 receives (S1,G1) traffic and forwards it with
                  ESI-label-1 in the context of BD1. This traffic passes
                  Reverse Path Forwarding checks on downstream PEs (PE3 and
                  PE5, since PE4 has no local interested receivers) and is
                  delivered to receivers.</t>
                </li>
                <li pn="section-5.4.1-5.4.2.2">
                  <t indent="0" pn="section-5.4.1-5.4.2.2.1">PE2 receives (S2,G1) traffic and forwards it with
                  ESI-label-2. This traffic fails the Reverse Path Forwarding
                  check on PE3 and PE5 and is discarded.</t>
                </li>
                <li pn="section-5.4.1-5.4.2.3">
                  <t indent="0" pn="section-5.4.1-5.4.2.3.1">If the link between S1 and PE1 fails, PE1 withdraws the
                  EVPN ES and A-D routes for ESI-1. S1 forwards the (S1,G1)
                  traffic to PE2 instead. PE2 continues forwarding (S2,G1)
                  traffic using ESI-label-2 and now also forwards (S1,G1) with
                  ESI-label-1. The Reverse Path Forwarding checks do not
                  change in PE3/PE5.</t>
                </li>
                <li pn="section-5.4.1-5.4.2.4">
                  <t indent="0" pn="section-5.4.1-5.4.2.4.1">If all links to S1 fail, PE2 also withdraws the EVPN ES
                  and A-D routes for ESI-1 and downstream PEs update the
                  Reverse Path Forwarding checks to accept ESI-label-2
                  traffic.</t>
                </li>
              </ul>
            </li>
          </ol>
        </section>
        <section anchor="sect-5.4.2" numbered="true" toc="include" removeInRFC="false" pn="section-5.4.2">
          <name slugifiedName="name-single-homed-redundant-g-so">Single-Homed Redundant G-Sources</name>
          <t indent="0" pn="section-5.4.2-1">Scenario (<xref target="ure-hs-solution-for-single-homed-redundant-g-sources-in-oism" format="default" sectionFormat="of" derivedContent="Figure 8"/>):</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4.2-2">
            <li pn="section-5.4.2-2.1">
              <t indent="0" pn="section-5.4.2-2.1.1">S1 is single-homed to PE1 using ESI-1, and S2 is single-homed
              to PE2 using ESI-2.</t>
            </li>
            <li pn="section-5.4.2-2.2">
              <t indent="0" pn="section-5.4.2-2.2.1">The scenario is a subset of the multi-homed case. Only one PE
              advertises EVPN A-D per ES/EVI routes for each S-ESI.</t>
            </li>
          </ul>
          <figure anchor="ure-hs-solution-for-single-homed-redundant-g-sources-in-oism" align="left" suppress-title="false" pn="figure-8">
            <name slugifiedName="name-hs-solution-for-single-home">HS Solution for Single-Homed Redundant G-Sources in OISM</name>
            <artwork name="" type="" align="left" alt="" pn="section-5.4.2-3.1">
                     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/MLD                           |  | IGMP/MLD
      R1 | J(*,G1)                            R3 | J(*,G1)
</artwork>
          </figure>
          <t indent="0" pn="section-5.4.2-4">The procedures follow the same logic as described in the
          multi-homed scenario, with the distinction that each ESI is specific
          to a single PE.</t>
          <t indent="0" pn="section-5.4.2-5">Figures <xref target="ure-hs-solution-for-multi-homed-redundant-g-sources-in-oism" format="counter" sectionFormat="of" derivedContent="7"/>
          and <xref target="ure-hs-solution-for-single-homed-redundant-g-sources-in-oism" format="counter" sectionFormat="of" derivedContent="8"/>
          demonstrate the application of the Hot Standby solution, ensuring
          seamless traffic forwarding while avoiding duplication in the
          presence of redundant G-sources.</t>
        </section>
      </section>
      <section anchor="sect-5.5" numbered="true" toc="include" removeInRFC="false" pn="section-5.5">
        <name slugifiedName="name-hot-standby-example-in-a-si">Hot Standby Example in a Single-BD Tenant Network</name>
        <t indent="0" pn="section-5.5-1">The Hot Standby procedures described in <xref target="sect-5.4" format="default" sectionFormat="of" derivedContent="Section 5.4"/>
        apply equally to scenarios where the tenant network comprises a single
        Broadcast Domain (e.g., BD1), irrespective of whether the redundant
        G-sources are multi-homed or single-homed. In such cases:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.5-2">
          <li pn="section-5.5-2.1">
            <t indent="0" pn="section-5.5-2.1.1">The advertised routes do not include the SBD-RT.</t>
          </li>
          <li pn="section-5.5-2.2">
            <t indent="0" pn="section-5.5-2.2.1">All procedures are confined to the single BD1.</t>
          </li>
        </ul>
        <t indent="0" pn="section-5.5-3">The absence of the SBD simplifies the configuration and
        limits the scope of the Hot Standby solution to BD1, while maintaining
        the integrity of the procedures for managing redundant G-sources.</t>
      </section>
    </section>
    <section anchor="sect-6" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-6-1">The same Security Considerations described in <xref target="RFC9625" format="default" sectionFormat="of" derivedContent="RFC9625"/> are valid for this document.</t>
      <t indent="0" pn="section-6-2">From a security perspective, out of the two methods described in this
      document, the Warm Standby method is considered lighter in terms of
      control plane, and therefore its impact is low on the processing
      capabilities of the PEs. The Hot Standby 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" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-7-1">IANA has allocated bit 4 in the "Multicast Flags Extended
      Community" registry that was introduced by <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/>. This
      bit indicates that a given (*,G) or (S,G) in an S-PMSI A-D route is
      associated with an SFG. This bit is called "Single Flow Group" bit, and
      it is defined as follows:</t>
      <table align="center" anchor="sfg" pn="table-1">
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Bit</th>
            <th align="left" colspan="1" rowspan="1">Name</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">4</td>
            <td align="left" colspan="1" rowspan="1">Single Flow Group</td>
            <td align="left" colspan="1" rowspan="1">This Document</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-7-3">IANA has allocated bit 5 in the "EVPN ESI Label Extended Community Flags" registry that was introduced by <xref target="RFC9746" format="default" sectionFormat="of" derivedContent="RFC9746"/>. This bit is the ESI-DCB
      flag and indicates that the ESI label contained in the ESI Label
      Extended Community is a DCB label. This bit is
      defined as follows:</t>
      <table align="center" pn="table-2">
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Bit</th>
            <th align="left" colspan="1" rowspan="1">Name</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">5</td>
            <td align="left" colspan="1" rowspan="1">ESI-DCB</td>
            <td align="left" colspan="1" rowspan="1">This Document</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references pn="section-8.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">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="RFC6513" target="https://www.rfc-editor.org/info/rfc6513" quoteTitle="true" derivedAnchor="RFC6513">
          <front>
            <title>Multicast in MPLS/BGP IP VPNs</title>
            <author fullname="E. Rosen" initials="E." role="editor" surname="Rosen"/>
            <author fullname="R. Aggarwal" initials="R." role="editor" surname="Aggarwal"/>
            <date month="February" year="2012"/>
            <abstract>
              <t indent="0">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" quoteTitle="true" derivedAnchor="RFC6514">
          <front>
            <title>BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs</title>
            <author fullname="R. Aggarwal" initials="R." surname="Aggarwal"/>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="T. Morin" initials="T." surname="Morin"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2012"/>
            <abstract>
              <t indent="0">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="RFC7432" target="https://www.rfc-editor.org/info/rfc7432" quoteTitle="true" derivedAnchor="RFC7432">
          <front>
            <title>BGP MPLS-Based Ethernet VPN</title>
            <author fullname="A. Sajassi" initials="A." role="editor" surname="Sajassi"/>
            <author fullname="R. Aggarwal" initials="R." surname="Aggarwal"/>
            <author fullname="N. Bitar" initials="N." surname="Bitar"/>
            <author fullname="A. Isaac" initials="A." surname="Isaac"/>
            <author fullname="J. Uttaro" initials="J." surname="Uttaro"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <date month="February" year="2015"/>
            <abstract>
              <t indent="0">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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">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="RFC8584" target="https://www.rfc-editor.org/info/rfc8584" quoteTitle="true" derivedAnchor="RFC8584">
          <front>
            <title>Framework for Ethernet VPN Designated Forwarder Election Extensibility</title>
            <author fullname="J. Rabadan" initials="J." role="editor" surname="Rabadan"/>
            <author fullname="S. Mohanty" initials="S." role="editor" surname="Mohanty"/>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="K. Nagaraj" initials="K." surname="Nagaraj"/>
            <author fullname="S. Sathappan" initials="S." surname="Sathappan"/>
            <date month="April" year="2019"/>
            <abstract>
              <t indent="0">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="RFC9251" target="https://www.rfc-editor.org/info/rfc9251" quoteTitle="true" derivedAnchor="RFC9251">
          <front>
            <title>Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Proxies for Ethernet VPN (EVPN)</title>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <author fullname="S. Thoria" initials="S." surname="Thoria"/>
            <author fullname="M. Mishra" initials="M." surname="Mishra"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="W. Lin" initials="W." surname="Lin"/>
            <date month="June" year="2022"/>
            <abstract>
              <t indent="0">This document describes how to support endpoints running the Internet Group Management Protocol (IGMP) or Multicast Listener Discovery (MLD) efficiently for the multicast services over an Ethernet VPN (EVPN) network by incorporating IGMP/MLD Proxy procedures on EVPN Provider Edges (PEs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9251"/>
          <seriesInfo name="DOI" value="10.17487/RFC9251"/>
        </reference>
        <reference anchor="RFC9573" target="https://www.rfc-editor.org/info/rfc9573" quoteTitle="true" derivedAnchor="RFC9573">
          <front>
            <title>MVPN/EVPN Tunnel Aggregation with Common Labels</title>
            <author fullname="Z. Zhang" initials="Z." surname="Zhang"/>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="W. Lin" initials="W." surname="Lin"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <author fullname="IJ. Wijnands" initials="IJ." surname="Wijnands"/>
            <date month="May" year="2024"/>
            <abstract>
              <t indent="0">The Multicast VPN (MVPN) specifications allow a single Point-to-Multipoint (P2MP) tunnel to carry traffic of multiple IP VPNs (referred to as VPNs in this document). 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 as, 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="RFC" value="9573"/>
          <seriesInfo name="DOI" value="10.17487/RFC9573"/>
        </reference>
        <reference anchor="RFC9625" target="https://www.rfc-editor.org/info/rfc9625" quoteTitle="true" derivedAnchor="RFC9625">
          <front>
            <title>EVPN Optimized Inter-Subnet Multicast (OISM) Forwarding</title>
            <author fullname="W. Lin" initials="W." surname="Lin"/>
            <author fullname="Z. Zhang" initials="Z." surname="Zhang"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="E. Rosen" initials="E." role="editor" surname="Rosen"/>
            <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <date month="August" year="2024"/>
            <abstract>
              <t indent="0">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 end users 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 egress a given router and then ingress that same router. These procedures also accommodate IP multicast traffic that originates or is destined to be external to the EVPN domain.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9625"/>
          <seriesInfo name="DOI" value="10.17487/RFC9625"/>
        </reference>
        <reference anchor="RFC9746" target="https://www.rfc-editor.org/info/rfc9746" quoteTitle="true" derivedAnchor="RFC9746">
          <front>
            <title>BGP EVPN Multihoming Extensions for Split-Horizon Filtering</title>
            <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>
            <author fullname="K. Nagaraj" initials="K." surname="Nagaraj"/>
            <author fullname="W. Lin" initials="W." surname="Lin"/>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <date month="March" year="2025"/>
            <abstract>
              <t indent="0">An Ethernet Virtual Private Network (EVPN) is commonly used with Network Virtualization Overlay (NVO) tunnels as well as with MPLS and Segment Routing (SR) tunnels. The multihoming procedures in EVPN may vary based on the type of tunnel used within the EVPN Broadcast Domain. Specifically, there are two multihoming split-horizon procedures designed to prevent looped frames on multihomed Customer Edge (CE) devices: the Ethernet Segment Identifier (ESI) Label-based procedure and the local-bias procedure. The ESI Label-based split-horizon procedure is applied to MPLS-based tunnels such as MPLS over UDP (MPLSoUDP), while the local-bias procedure is used for other tunnels such as Virtual eXtensible Local Area Network (VXLAN) tunnels.</t>
              <t indent="0">Current specifications do not allow operators to choose which split-horizon procedure to use for tunnel encapsulations that support both methods. Examples of tunnels that may support both procedures include MPLSoUDP, MPLS over GRE (MPLSoGRE), Generic Network Virtualization Encapsulation (Geneve), and Segment Routing over IPv6 (SRv6) tunnels. This document updates the EVPN multihoming procedures described in RFCs 7432 and 8365, enabling operators to select the split-horizon procedure that meets their specific requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9746"/>
          <seriesInfo name="DOI" value="10.17487/RFC9746"/>
        </reference>
      </references>
      <references pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4364" target="https://www.rfc-editor.org/info/rfc4364" quoteTitle="true" derivedAnchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t indent="0">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="RFC7761" target="https://www.rfc-editor.org/info/rfc7761" quoteTitle="true" derivedAnchor="RFC7761">
          <front>
            <title>Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)</title>
            <author fullname="B. Fenner" initials="B." surname="Fenner"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="H. Holbrook" initials="H." surname="Holbrook"/>
            <author fullname="I. Kouvelas" initials="I." surname="Kouvelas"/>
            <author fullname="R. Parekh" initials="R." surname="Parekh"/>
            <author fullname="Z. Zhang" initials="Z." surname="Zhang"/>
            <author fullname="L. Zheng" initials="L." surname="Zheng"/>
            <date month="March" year="2016"/>
            <abstract>
              <t indent="0">This document specifies Protocol Independent Multicast - Sparse Mode (PIM-SM). PIM-SM is a multicast routing protocol that can use the underlying unicast routing information base or a separate multicast-capable routing information base. It builds unidirectional shared trees rooted at a Rendezvous Point (RP) per group, and it optionally creates shortest-path trees per source.</t>
              <t indent="0">This document obsoletes RFC 4601 by replacing it, addresses the errata filed against it, removes the optional (*,*,RP), PIM Multicast Border Router features and authentication using IPsec that lack sufficient deployment experience (see Appendix A), and moves the PIM specification to Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="83"/>
          <seriesInfo name="RFC" value="7761"/>
          <seriesInfo name="DOI" value="10.17487/RFC7761"/>
        </reference>
        <reference anchor="RFC8296" target="https://www.rfc-editor.org/info/rfc8296" quoteTitle="true" derivedAnchor="RFC8296">
          <front>
            <title>Encapsulation for Bit Index Explicit Replication (BIER) in MPLS and Non-MPLS Networks</title>
            <author fullname="IJ. Wijnands" initials="IJ." role="editor" surname="Wijnands"/>
            <author fullname="E. Rosen" initials="E." role="editor" surname="Rosen"/>
            <author fullname="A. Dolganow" initials="A." surname="Dolganow"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <author fullname="I. Meilik" initials="I." surname="Meilik"/>
            <date month="January" year="2018"/>
            <abstract>
              <t indent="0">Bit Index Explicit Replication (BIER) is an architecture that provides optimal multicast forwarding through a "multicast domain", without requiring intermediate routers to maintain any per-flow state or to engage in an explicit tree-building protocol. When a multicast data packet enters the domain, the ingress router determines the set of egress routers to which the packet needs to be sent. The ingress router then encapsulates the packet in a BIER header. The BIER header contains a bit string in which each bit represents exactly one egress router in the domain; to forward the packet to a given set of egress routers, the bits corresponding to those routers are set in the BIER header. The details of the encapsulation depend on the type of network used to realize the multicast domain. This document specifies a BIER encapsulation that can be used in an MPLS network or, with slight differences, in a non-MPLS network.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8296"/>
          <seriesInfo name="DOI" value="10.17487/RFC8296"/>
        </reference>
        <reference anchor="RFC9135" target="https://www.rfc-editor.org/info/rfc9135" quoteTitle="true" derivedAnchor="RFC9135">
          <front>
            <title>Integrated Routing and Bridging in Ethernet VPN (EVPN)</title>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <author fullname="S. Salam" initials="S." surname="Salam"/>
            <author fullname="S. Thoria" initials="S." surname="Thoria"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>
            <date month="October" year="2021"/>
            <abstract>
              <t indent="0">Ethernet VPN (EVPN) provides an extensible and flexible multihoming VPN solution over an MPLS/IP network for intra-subnet connectivity among Tenant Systems and end devices that can be physical or virtual. However, there are scenarios for which there is a need for a dynamic and efficient inter-subnet connectivity among these Tenant Systems and end devices while maintaining the multihoming capabilities of EVPN. This document describes an Integrated Routing and Bridging (IRB) solution based on EVPN to address such requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9135"/>
          <seriesInfo name="DOI" value="10.17487/RFC9135"/>
        </reference>
        <reference anchor="RFC9136" target="https://www.rfc-editor.org/info/rfc9136" quoteTitle="true" derivedAnchor="RFC9136">
          <front>
            <title>IP Prefix Advertisement in Ethernet VPN (EVPN)</title>
            <author fullname="J. Rabadan" initials="J." role="editor" 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="October" year="2021"/>
            <abstract>
              <t indent="0">The BGP MPLS-based Ethernet VPN (EVPN) (RFC 7432) mechanism provides a flexible control plane that allows intra-subnet connectivity in an MPLS and/or Network Virtualization Overlay (NVO) (RFC 7365) network. In some networks, there is also a need for dynamic and efficient inter-subnet connectivity across Tenant Systems and end devices that can be physical or virtual and do not necessarily participate in dynamic routing protocols. This document defines a new EVPN route type for the advertisement of IP prefixes and explains some use-case examples where this new route type is used.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9136"/>
          <seriesInfo name="DOI" value="10.17487/RFC9136"/>
        </reference>
        <reference anchor="RFC9572" target="https://www.rfc-editor.org/info/rfc9572" quoteTitle="true" derivedAnchor="RFC9572">
          <front>
            <title>Updates to EVPN Broadcast, Unknown Unicast, or Multicast (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"/>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <date month="May" year="2024"/>
            <abstract>
              <t indent="0">This document specifies updated procedures for handling Broadcast, Unknown Unicast, or Multicast (BUM) traffic in Ethernet VPNs (EVPNs), including selective multicast and segmentation of provider tunnels. This document updates RFC 7432.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9572"/>
          <seriesInfo name="DOI" value="10.17487/RFC9572"/>
        </reference>
        <reference anchor="RFC9574" target="https://www.rfc-editor.org/info/rfc9574" quoteTitle="true" derivedAnchor="RFC9574">
          <front>
            <title>Optimized Ingress Replication Solution for Ethernet VPNs (EVPNs)</title>
            <author fullname="J. Rabadan" initials="J." role="editor" surname="Rabadan"/>
            <author fullname="S. Sathappan" initials="S." surname="Sathappan"/>
            <author fullname="W. Lin" initials="W." surname="Lin"/>
            <author fullname="M. Katiyar" initials="M." surname="Katiyar"/>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <date month="May" year="2024"/>
            <abstract>
              <t indent="0">Network Virtualization Overlay (NVO) networks using Ethernet VPNs (EVPNs) as their control plane may use trees based on ingress replication or Protocol Independent Multicast (PIM) to convey the overlay Broadcast, Unknown Unicast, or Multicast (BUM) traffic. PIM provides an efficient solution that prevents sending multiple copies of the same packet over the same physical link; however, it may not always be deployed in the NVO network core. Ingress replication avoids the dependency on PIM in the NVO network core. While ingress replication provides a simple multicast transport, some NVO networks with demanding multicast applications require a more efficient solution without PIM in the core. This document describes a solution to optimize the efficiency of ingress replication trees.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9574"/>
          <seriesInfo name="DOI" value="10.17487/RFC9574"/>
        </reference>
        <reference anchor="RFC9776" target="https://www.rfc-editor.org/info/rfc9776" quoteTitle="true" derivedAnchor="RFC9776">
          <front>
            <title>Internet Group Management Protocol, Version 3</title>
            <author fullname="B. Haberman" initials="B." role="editor" surname="Haberman"/>
            <date month="March" year="2025"/>
            <abstract>
              <t indent="0">The Internet Group Management Protocol (IGMP) is the protocol used by IPv4 systems to report their IP multicast group memberships to neighboring multicast routers. Version 3 of IGMP (IGMPv3) adds support for source filtering, that is, the ability for a system to report interest in receiving packets only from specific source addresses, or from all but specific source addresses, sent to a particular multicast address. That information may be used by multicast routing protocols to avoid delivering multicast packets from specific sources to networks where there are no interested receivers.</t>
              <t indent="0">This document specifies IGMPv3. It is a revised version of RFC 3376 that includes clarifications and fixes for errata, and it is backward compatible with RFC 3376.</t>
              <t indent="0">This document updates RFC 2236 and obsoletes RFC 3376.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="100"/>
          <seriesInfo name="RFC" value="9776"/>
          <seriesInfo name="DOI" value="10.17487/RFC9776"/>
        </reference>
        <reference anchor="RFC9777" target="https://www.rfc-editor.org/info/rfc9777" quoteTitle="true" derivedAnchor="RFC9777">
          <front>
            <title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</title>
            <author fullname="B. Haberman" initials="B." role="editor" surname="Haberman"/>
            <date month="March" year="2025"/>
            <abstract>
              <t indent="0">This document specifies the Multicast Listener Discovery version 2 (MLDv2) protocol. MLD is used by an IPv6 router to discover the presence of multicast listeners on directly attached links and to discover which multicast addresses are of interest to those neighboring nodes. MLDv2 is designed to be interoperable with MLDv1. MLDv2 adds the ability for a node to report interest in listening to packets with a particular multicast address only from specific source addresses or from all sources except for specific source addresses.</t>
              <t indent="0">This document updates RFC 2710 and obsoletes RFC 3810.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="101"/>
          <seriesInfo name="RFC" value="9777"/>
          <seriesInfo name="DOI" value="10.17487/RFC9777"/>
        </reference>
        <reference anchor="RFC9780" target="https://www.rfc-editor.org/info/rfc9780" quoteTitle="true" derivedAnchor="RFC9780">
          <front>
            <title>Bidirectional Forwarding Detection (BFD) for Multipoint Networks over Point-to-Multipoint MPLS Label Switched Paths (LSPs)</title>
            <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>
            <author fullname="G. Mishra" initials="G." surname="Mishra"/>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="May" year="2025"/>
            <abstract>
              <t indent="0">This document describes procedures for using Bidirectional Forwarding Detection (BFD) for multipoint networks to detect data plane failures in point-to-multipoint MPLS Label Switched Paths (LSPs) and Segment Routing (SR) point-to-multipoint policies with an SR over MPLS (SR-MPLS) data plane.</t>
              <t indent="0">Furthermore, this document updates RFC 8562 by recommending the use of an IPv6 address from the Dummy IPv6 Prefix address block 100:0:0:1::/64 and discouraging the use of an IPv4 loopback address mapped to IPv6.</t>
              <t indent="0">In addition, this document describes the applicability of LSP Ping (as an in-band solution) and the control plane (as an out-of-band solution) to bootstrap a BFD session. The document also describes the behavior of the active tail for head notification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9780"/>
          <seriesInfo name="DOI" value="10.17487/RFC9780"/>
        </reference>
        <reference anchor="RFC9785" target="https://www.rfc-editor.org/info/rfc9785" quoteTitle="true" derivedAnchor="RFC9785">
          <front>
            <title>Preference-Based EVPN Designated Forwarder (DF) Election</title>
            <author fullname="J. Rabadan" initials="J." role="editor" surname="Rabadan"/>
            <author fullname="S. Sathappan" initials="S." surname="Sathappan"/>
            <author fullname="W. Lin" initials="W." surname="Lin"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <date month="June" year="2025"/>
            <abstract>
              <t indent="0">The Designated Forwarder (DF) in Ethernet Virtual Private Networks (EVPNs) is defined as the Provider Edge (PE) router responsible for sending Broadcast, Unknown Unicast, and Multicast (BUM) traffic to a multihomed device/network in the case of an All-Active multihoming Ethernet Segment (ES) or BUM and unicast in the case of Single-Active multihoming. The Designated Forwarder is selected out of a candidate list of PEs that advertise the same Ethernet Segment Identifier (ESI) to the EVPN network, according to the default DF election algorithm. While the default algorithm provides an efficient and automated way of selecting the Designated Forwarder across different Ethernet Tags in the Ethernet Segment, there are some use cases where a more "deterministic" and user-controlled method is required. At the same time, Network Operators require an easy way to force an on-demand Designated Forwarder switchover in order to carry out some maintenance tasks on the existing Designated Forwarder or control whether a new active PE can preempt the existing Designated Forwarder PE.</t>
              <t indent="0">This document proposes use of a DF election algorithm that meets the requirements of determinism and operation control. This document updates RFC 8584 by modifying the definition of the DF Election Extended Community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9785"/>
          <seriesInfo name="DOI" value="10.17487/RFC9785"/>
        </reference>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.a-1">The authors would like to thank <contact fullname="Mankamana       Mishra"/>, <contact fullname="Ali Sajassi"/>, <contact fullname="Greg       Mirsky"/>, and <contact fullname="Sasha Vainshtein"/> for their review
      and valuable comments.  Special thanks to <contact fullname="Gunter Van       de Velde"/> for his excellent review, which significantly enhanced the
      document's readability.</t>
    </section>
    <section anchor="sect-9" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.b-1">In addition to the authors listed on the front page, the following
      person has significantly contributed to this document:</t>
      <contact fullname="Eric C. Rosen">
        <address>
          <email>erosen52@gmail.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Jorge Rabadan" initials="J." role="editor" surname="Rabadan">
        <organization showOnFrontPage="true">Nokia</organization>
        <address>
          <postal>
            <street>520 Almanor Avenue</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94085</code>
            <country>United States of America</country>
          </postal>
          <email>jorge.rabadan@nokia.com</email>
        </address>
      </author>
      <author fullname="Jayant Kotalwar" initials="J." surname="Kotalwar">
        <organization showOnFrontPage="true">Nokia</organization>
        <address>
          <postal>
            <street>520 Almanor Avenue</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94085</code>
            <country>United States of America</country>
          </postal>
          <email>jayant.kotalwar@nokia.com</email>
        </address>
      </author>
      <author fullname="Senthil Sathappan" initials="S." surname="Sathappan">
        <organization showOnFrontPage="true">Nokia</organization>
        <address>
          <postal>
            <street>520 Almanor Avenue</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94085</code>
            <country>United States of America</country>
          </postal>
          <email>senthil.sathappan@nokia.com</email>
        </address>
      </author>
      <author fullname="Zhaohui Zhang" initials="Z." surname="Zhang">
        <organization abbrev="Juniper" showOnFrontPage="true">Juniper Networks</organization>
        <address>
          <email>zzhang@juniper.net</email>
        </address>
      </author>
      <author fullname="Wen Lin" initials="W." surname="Lin">
        <organization abbrev="Juniper" showOnFrontPage="true">Juniper Networks</organization>
        <address>
          <email>wlin@juniper.net</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
