<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.0.2) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-nagaraj-bess-evpn-redundant-mcast-src-update-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.1 -->
  <front>
    <title abbrev="EVPN Multicast Source Redundancy Update">Enhancements to Multicast Source Redundancy in EVPN Networks</title>
    <seriesInfo name="Internet-Draft" value="draft-nagaraj-bess-evpn-redundant-mcast-src-update-00"/>
    <author initials="V." surname="Nagaraj" fullname="Vinod Kumar Nagaraj">
      <organization>Juniper Networks</organization>
      <address>
        <email>vinkumar@juniper.net</email>
      </address>
    </author>
    <author initials="V." surname="Nagarajan" fullname="Vikram Nagarajan">
      <organization>Juniper Networks</organization>
      <address>
        <email>vikramna@juniper.net</email>
      </address>
    </author>
    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="J." surname="Rabadan" fullname="Jorge Rabadan">
      <organization>Nokia</organization>
      <address>
        <email>jorge.rabadan@nokia.com</email>
      </address>
    </author>
    <date year="2022" month="October" day="24"/>
    <area>Routing</area>
    <workgroup>bess</workgroup>
    <keyword>redundant multicast source non-mpls</keyword>
    <abstract>
      <t>draft-ietf-bess-evpn-redundant-mcast-source specifies
Warm Standby (WS) and Hot Standby (HS) procedures
for handling redundant multicast traffic into an EVPN tenant
domain. With the Hot Standby procedure, multiple ingress PEs
may inject traffic and an egress PE will decide from which
ingress PE traffic will be accepted and forwarded.
The decision is based on certain signaling messages
and/or BFD status of provider tunnels from the ingress PEs,
and the traffic is associated with ingress PEs based
on Ethernet Segment Identifier (ESI) labels. As a result,
the procedures in that document only apply to MPLS data plane.
This document extends the Hot Standby procedures to non-MPLS data planes
and EVPN Data Center Interconnect scenarios.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="background">
      <name>Background</name>
      <t><xref target="I-D.ietf-bess-evpn-redundant-mcast-source"/> specifies
Warm Standby and Hot Standby procedures
for handling redundant multicast traffic into an EVPN tenant
domain. With the Hot Standby procedure, multiple ingress PEs
will inject traffic and an egress PE will decide from which
ingress PE traffic will be accepted and forwarded.</t>
      <t>The PEs that inject redundant traffic advertises Selective
Provider Multicast Service Interface (S-PMSI) A-D routes. The routes
carry an EVPN Multicast Flags Extended Community with a bit to
indicate that matching traffic is from redundant sources.
With MPLS data plane, the routes also carry an Ethernet Segment
Identifier (ESI) label, indicating the Ethernet Segment on
which the traffic is received.</t>
      <t>When an egress PE receives S-PMSI A-D routes, it decides from which
ingress PE it should accept the traffic. The decision could be
based on the following factors:</t>
      <ul spacing="normal">
        <li>The presence/lack of S-PMSI A-D routes from ingress PEs of the
redundant traffic</li>
        <li>The presence/lack of Ethernet A-D per EVI routes from ingress PEs
for the Ethernet Segment that redundant traffic arrives on</li>
        <li>BFD status of provider tunnels for redundant traffic</li>
      </ul>
      <t>All the above options are local behaviors on individual egress PEs.</t>
      <section anchor="hot-standby-mode-in-non-mpls-ip-tunnels">
        <name>Hot Standby mode in non-MPLS IP tunnels</name>
        <t>With MPLS data plane, the Hot Standby redundant flows from different PEs are
   distinguished via ESI labels.  With non-MPLS IP encapsulations like
   VXLAN/NVGRE, this document specifies that the redundant flows are 
   distinguished by the source IP address (Source VTEP IP) in the outer IP header.</t>
        <t>This document also makes explicit that non-MPLS IP tunnels that carry an 
   identifier of the source Ethernet Segment reuse all the procedures of
   <xref target="I-D.ietf-bess-evpn-redundant-mcast-source"/> for Hot Standby redundancy.
   Examples of these tunnels used by EVPN are GENEVE <xref target="I-D.ietf-bess-evpn-geneve"/>
   and SRv6 <xref target="RFC9252"/>.</t>
      </section>
      <section anchor="evpn-dci-use-case">
        <name>EVPN DCI Use Case</name>
        <t>When an EVPN network is used as Data Center Interconnect (DCI)
for DCs (e.g., VxLAN or EVPN), multiple gateways (GWs) are placed
between a DC and DCI, as described in <xref target="RFC9014"/>. A virtual Ethernet Segment is
defined for each EVPN (the DC and/or DCI) and multi-homed to the
GWs. A Designated Forwarder (DF) is elected for each virtual ES (ethernet segment). Each GW
can receive the same BUM traffic from a DC/DCI EVPN but only the
DF will forward traffic to the next DCI/DC (corresponding to the
virtual ES).</t>
        <t>This section discusses how source redundancy works with DCI,
and how DCI GWs can optionally introduce redundant flows even
when there is no source redundancy at source DC.</t>
        <section anchor="src-redundancy">
          <name>True Source Redundancy</name>
          <t><xref target="I-D.ietf-bess-evpn-redundant-mcast-source"/> is MPLS-based.
It is "true" source redundancy in that
multiple of sources of the same flow are attached to different
Ethernet Segments. S-PMSI A-D routes announce the redundant flows
and carry ESI Label Extended Communities (ECs) for the ESes
so that an egress PE can choose from which source ES the
packets will be accepted.</t>
          <t>With DCI, the source ESes are hidden outside the source DC,
and different DC/DCI may use different data planes. Additionally,
currently only the GW that is the DF for the Interconnect
Ethernet Segment (I-ES) will forward BUM traffic to the downstream
DC/DCI, so the benefit of HS is lost once the first DC boundary
is crossed.</t>
          <t>The above issues are solved as following:</t>
          <ul spacing="normal">
            <li>The GWs forward accepted redundant flows regardless of DF status.
Note that, a GW will only accept one of the redundant flows
 from its redundant upstream PEs/GWs.</li>
            <li>The GWs remove ESI Label ECs when they re-originate the S-PMSI A-D
routes into the next DC/DCI. Note that,
Even if the downstream DC/DCI is MPLS, the re-originated S-PMSI A-D routes
 do not carry the ESI Label EC for the I-ES. This is because
 the GWs use the same ESI label for the I-ES, so the ESI label
 cannot be used to distinguish the flows.</li>
            <li>
              <t>When the S-PMSI A-D routes do not carry ESI Label ECs,
an egress PE chooses from which PE/GW (vs. ES) to accept traffic from.
              </t>
              <ul spacing="normal">
                <li>In case of IP based data plane, this is the same as non-DCI case.</li>
                <li>In case of MPLS data plane, a PE needs to be able to distinguish
 from which node the traffic is. In some cases, the PE Distinguisher
 Label concept <xref target="RFC6513"/> need to be used.</li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="gw-redundancy">
          <name>GW-introduced Flow Redundancy</name>
          <t>In the "true source redundancy" case, S-PMSI A-D routes announce
the redundancy and the DCI GWs always forward accepted flows regardless
of the DF status.</t>
          <t>The GWs may also forward all BUM traffic regardless of DF status -
not just those redundant flows announced by S-PMSI A-D routes.
This creates a similar scenario of source redundancy, though it is
introduced by the GWs. A downstream GW/PE can choose which redundant
flows need to be accepted/discarded based on the A-D per ES routes
for the I-ES instead of S-PMSI A-D routes.</t>
          <t>This requires that all downstream PEs/GWs behave consistently.
That is ensured either based on provisioning or based on signaling
(details to be added in a future revision).</t>
          <t>In the "true source redundancy" case, all flows covered by
the (<em>, g) or (s-prefix, g) in the S-PMSI A-D routes are treated
as redundant flows. In the GW-introduced redundancy, (</em>, g)
flows are treated as distinct flows that have redundant copies.
They may be from different PEs in the local DC and all must be
accepted, or they may be from different DCs in which case only
traffic from one GW for each upstream DC can be accepted,
as explained below.</t>
          <t>Consider that a DCI interconnects three DCs. GW1a/GW1b connect
DC1 and the DCI, GW2a/GW2b connect DC2 and the DCI, and
GW3a/GW3b connect DC3 and the DCI.</t>
          <t>An egress PE1 in DC1 may need to accept and forward (<em>, G) traffic
from all local PEs in DC1 and GW1a but not from the GW1b. To do
so, it installs a (</em>, G) forwarding state in a BD (Broadcast Domain) with indication
that traffic from GW1b must be discarded. Similarly, GW3a/GE3b
may need to accept and forward (<em>, G) traffic from GW1a/GW2a
but not from GW1b/GW2b. To do so, it installs a (</em>, G) forwarding
state with indication that traffic from GW1b/GW2b must be
discarded.</t>
          <t>The reverse logic (of specifying PEs/GWs from which traffic should
not be accepted) is only needed for (*, G) entries in the DCI
case. For (S, G) case, the reverse logic is not needed because
an egress PE should be able to decide from which PE/GW the traffic
should be accepted.</t>
        </section>
        <section anchor="co-existence-of-source-redundancy-and-gw-introduced-redundancy">
          <name>Co-existence of Source Redundancy and GW-introduced Redundancy</name>
          <t>Both flavors of redundancy can co-exist. For redundant flows
announced by S-PMSI A-D routes, the method described in
<xref target="src-redundancy"/> is used. For GW-introduced redundancy, the method
described in <xref target="gw-redundancy"/> is used. The difference between
the two on downstream PEs/GWs is that one uses S-PMSI A-D routes
while the other uses I-ES A-D per ES routes to choose which flow
to accept, and for (*,g) flows in the latter case, reverse logic
is needed.</t>
        </section>
      </section>
    </section>
    <section anchor="specifications">
      <name>Specifications</name>
      <section anchor="hot-standby-procedures-for-non-mpls-ip-tunnels">
        <name>Hot Standby Procedures for non-MPLS IP tunnels</name>
        <t>In case the EVPN network uses non-MPLS IP tunnels without source Ethernet
   Segment identification, e.g., VXLAN/NVGRE, the procedures in 
   <xref target="I-D.ietf-bess-evpn-redundant-mcast-source"/> for Hot Standby redundancy are 
   modified as follows:</t>
        <ul spacing="normal">
          <li>The S-PMSI A-D routes advertised for each SFG (Single Flow Group) by the 
   upstream PEs MUST NOT carry any ESI Label Extended Communities. The rest
   of the procedures on the upstream PEs remain the same.</li>
          <li>
            <t>Upon receiving the S-PMSI A-D routes, the downstream PEs select a primary
   upstream PE out of the list of (S-PMSI A-D route) next hops and add an RPF
   check to the (<em>,G)/(S,G) state in the BD or SBD (Supplementary Broadcast Domain). This RPF check discards
   all ingress packets to (</em>,G)/(S,G) that are not received from the selected
   primary Source VTEP. The selection of the primary upstream PE is a matter 
   of local policy, for instance, an egress PE could keep track of traffic 
   statistics of redundant flows and dynamically decide which flow is accepted 
   based on traffic threshold information.  </t>
            <t>
The selection of the upstream PE for non-MPLS IP tunnels, instead of the
 primary Source Ethernet Segment, provides a solution for redundant sources
 connected to different upstream PEs, however it MUST NOT be used when the
 redundant sources are connected to the same upstream PE, or multi-homed to 
 the same set of upstream PEs.  </t>
            <t>
In case the EVPN network uses non-MPLS IP tunnels that can carry a source 
 Ethernet Segment identification, e.g., GENEVE or SRv6, all the procedures in 
 <xref target="I-D.ietf-bess-evpn-redundant-mcast-source"/> for Hot Standby redundancy are 
 followed. The following considerations apply:</t>
          </li>
          <li>In case of GENEVE <xref target="I-D.ietf-bess-evpn-geneve"/>, an Ethernet option TLV MUST 
   encode the ESI (Ethernet Segment Identifier) label value. This ESI label 
   value is signaled by the EVPN A-D per ES routes, and advertised for SFG
   sources in S-PMSI A-D routes in the ESI Label Extended Communities as 
   described in <xref target="I-D.ietf-bess-evpn-redundant-mcast-source"/>. The downstream
   PE can identify the packets coming from a selected primary Source Ethernet
   Segment based on a lookup on the Source Identifier of the Ethernet option TLV.</li>
          <li>In case of SRv6 <xref target="RFC9252"/>, the upstream PEs send multicast packets encapsulated
   in SRv6 tunnels that use End.DT2M as function and Arg.FE2 as argument. The Arg.FE2
   argument in the packets identify the Source Ethernet Segment. The argument is 
   signaled by the EVPN A-D per ES routes as specified in <xref target="RFC9252"/>, and this 
   document uses the same encoding of the argument also for the S-PMSI A-D routes 
   that signal the Source Ethernet Segments for SFG sources, with the consideration 
   that there may be multiple arguments signaled and that the arguments for the same
   Ethernet Segment in different upstream PEs MUST match. The downstream PE can 
   then identify the packets coming from a selected primary Source Ethernet Segment 
   based on the received argument.</li>
        </ul>
      </section>
      <section anchor="procedures-for-evpn-dci-use-case">
        <name>Procedures for EVPN DCI Use Case</name>
        <t>To be added.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>No additional security considerations are needed besides what
are in <xref target="I-D.ietf-bess-evpn-redundant-mcast-source"/>.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="I-D.ietf-bess-evpn-redundant-mcast-source" target="https://www.ietf.org/archive/id/draft-ietf-bess-evpn-redundant-mcast-source-04.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-redundant-mcast-source.xml">
          <front>
            <title>Multicast Source Redundancy in EVPN Networks</title>
            <author fullname="Jorge Rabadan" initials="J." surname="Rabadan">
              <organization>Nokia</organization>
            </author>
            <author fullname="Jayant Kotalwar" initials="J." surname="Kotalwar">
              <organization>Nokia</organization>
            </author>
            <author fullname="Senthil Sathappan" initials="S." surname="Sathappan">
              <organization>Nokia</organization>
            </author>
            <author fullname="Zhaohui (Jeffrey) Zhang" initials="Z. J." surname="Zhang">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Wen Lin" initials="W." surname="Lin">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Eric C. Rosen" initials="E. C." surname="Rosen">
              <organization>Individual</organization>
            </author>
            <date day="7" month="October" year="2022"/>
            <abstract>
              <t>EVPN supports intra and inter-subnet IP multicast forwarding. However, EVPN (or conventional IP multicast techniques for that matter) do not have a solution for the case where the following two statements are true at the same time: a) a given multicast group carries more than one flow (i.e., more than one source), and b) it is desired that each receiver gets only one of the several flows. Existing multicast techniques assume there are no redundant sources sending the same flow to the same IP multicast group, and, in case there were redundant sources, the receiver's application would deal with the received duplicated packets. This document extends the existing EVPN specifications and assumes that IP Multicast source redundancy may exist. It also assumes that, in case two or more sources send the same IP Multicast flows into the tenant domain, the EVPN PEs need to avoid that the receivers get packet duplication by following the described procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-bess-evpn-redundant-mcast-source-04"/>
        </reference>
        <reference anchor="I-D.ietf-bess-evpn-geneve" target="https://www.ietf.org/archive/id/draft-ietf-bess-evpn-geneve-04.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-geneve.xml">
          <front>
            <title>EVPN control plane for Geneve</title>
            <author fullname="Sami Boutros" surname="Sami Boutros">
              <organization>Ciena</organization>
            </author>
            <author fullname="Ali Sajassi" surname="Ali Sajassi">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="John Drake" surname="John Drake">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Jorge Rabadan" surname="Jorge Rabadan">
              <organization>Nokia</organization>
            </author>
            <author fullname="Sam Aldrin" surname="Sam Aldrin">
              <organization>Google</organization>
            </author>
            <date day="23" month="May" year="2022"/>
            <abstract>
              <t>This document describes how Ethernet VPN (EVPN) control plane can be used with Network Virtualization Overlay over Layer 3 (NVO3) Generic Network Virtualization Encapsulation (Geneve) encapsulation for NVO3 solutions. EVPN control plane can also be used by Network Virtualization Edges (NVEs) to express Geneve tunnel option TLV(s) supported in the transmission and/or reception of Geneve encapsulated data packets.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-bess-evpn-geneve-04"/>
        </reference>
        <reference anchor="RFC9252" target="https://www.rfc-editor.org/info/rfc9252" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9252.xml">
          <front>
            <title>BGP Overlay Services Based on Segment Routing over IPv6 (SRv6)</title>
            <author fullname="G. Dawra" initials="G." role="editor" surname="Dawra"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Zhuang" initials="S." surname="Zhuang"/>
            <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>This document defines procedures and messages for SRv6-based BGP services, including Layer 3 Virtual Private Network (L3VPN), Ethernet VPN (EVPN), and Internet services.  It builds on "BGP/MPLS IP Virtual Private Networks (VPNs)" (RFC 4364) and "BGP MPLS-Based Ethernet VPN" (RFC 7432).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9252"/>
          <seriesInfo name="DOI" value="10.17487/RFC9252"/>
        </reference>
        <reference anchor="RFC6513" target="https://www.rfc-editor.org/info/rfc6513" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6513.xml">
          <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>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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC9014" target="https://www.rfc-editor.org/info/rfc9014" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9014.xml">
          <front>
            <title>Interconnect Solution for Ethernet VPN (EVPN) Overlay Networks</title>
            <author fullname="J. Rabadan" initials="J." role="editor" surname="Rabadan"/>
            <author fullname="S. Sathappan" initials="S." surname="Sathappan"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Network Virtualization Overlays (NVOs) can be connected to a Wide Area Network (WAN) in order to extend the Layer 2 connectivity required for some tenants.  The solution analyzes the interaction between NVO networks running Ethernet Virtual Private Networks (EVPNs) and other Layer 2 VPN (L2VPN) technologies used in the WAN, such as Virtual Private LAN Services (VPLSs), VPLS extensions for Provider Backbone Bridging (PBB-VPLS), EVPN, or PBB-EVPN.  It also describes how the existing technical specifications apply to the interconnection and extends the EVPN procedures needed in some cases.  In particular, this document describes how EVPN routes are processed on Gateways (GWs) that interconnect EVPN-Overlay and EVPN-MPLS networks, as well as the Interconnect Ethernet Segment (I-ES), to provide multihoming.  This document also describes the use of the Unknown MAC Route (UMR) to avoid issues of a Media Access Control (MAC) scale on Data Center Network Virtualization Edge (NVE) devices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9014"/>
          <seriesInfo name="DOI" value="10.17487/RFC9014"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
gCuu2quAPQk63/w/Nx6iZHM2AAA=

-->

</rfc>
