<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY bom    "&#65279;">
  <!ENTITY wd     "&#x2011;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902"
     docName="draft-li-bess-evpn-ead-multipath-00"
     category="std" submissionType="IETF" consensus="true" version="3"
     xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="EVPN EAD Multipath">Multipath for EVPN Ethernet Auto-Discovery Routes</title>
    <seriesInfo name="Internet-Draft" value="draft-li-bess-evpn-ead-multipath-00"/>

    <author fullname="Zhiqiang Li" initials="Z." surname="Li">
      <organization>China Mobile</organization>
      <address>
        <postal><city>Beijing</city><code>100053</code>
        <country>China</country></postal>
        <email>lizhiqiangyjy@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Zongpeng Du" initials="Z." surname="Du">
      <organization>China Mobile</organization>
      <address>
        <postal><city>Beijing</city><code>100053</code>
        <country>China</country></postal>
        <email>duzongpeng@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Junjie Wang" initials="J." surname="Wang">
      <organization>Centec</organization>
      <address>
        <postal><city>Shanghai</city><code>201203</code>
        <country>China</country></postal>
        <email>wangjj@centec.com</email>
      </address>
    </author>
    <author fullname="Wei Cheng" initials="W." surname="Cheng">
      <organization>Centec</organization>
      <address>
        <postal><city>Shanghai</city><code>201203</code>
        <country>China</country></postal>
        <email>chengw@centec.com</email>
      </address>
    </author>
    <author fullname="Guoying Zhang" initials="G." surname="Zhang">
      <organization>Centec</organization>
      <address>
        <postal><city>Shanghai</city><code>201203</code>
        <country>China</country></postal>
        <email>zhanggy@centec.com</email>
      </address>
    </author>
    <author fullname="Xun Sun" initials="X." surname="Sun">
      <organization>Inesa</organization>
      <address>
        <postal><city>Shanghai</city><code>200030</code>
        <country>China</country></postal>
        <email>sunxun@inesa.com</email>
      </address>
    </author>
    <author fullname="Chunhao Zhao" initials="C." surname="Zhao">
      <organization>SAIA</organization>
      <address>
        <postal><city>Shanghai</city><code>200125</code>
        <country>China</country></postal>
        <email>chunhao.zhao@sh-aia.com</email>
      </address>
    </author>

    <date year="2026" month="July" day="4"/>
    <area>RTG</area>
    <workgroup>BESS</workgroup>
    <keyword>EVPN</keyword>
    <keyword>EAD</keyword>
    <keyword>multipath</keyword>
    <keyword>BGP</keyword>
    <keyword>Ethernet Segment</keyword>
    <abstract>
      <t>In EVPN multi-homing deployments, multiple PE devices attached to the same Ethernet Segment each originate Ethernet Auto-Discovery (EAD) routes. Standard BGP best-path selection retains only one route per NLRI key, which can suppress reachability information needed for EVPN aliasing, fast convergence, and split-horizon filtering.</t>
      <t>This document specifies that BGP speakers MUST treat EAD routes as multipath and MUST advertise and install all valid EAD routes for a given Ethernet Segment, rather than selecting a single best path.</t>
    </abstract>
  </front>

  <middle>
<section anchor="introduction" numbered="true" toc="include">
<name>Introduction</name>
<t>BGP MPLS-Based Ethernet VPN (EVPN) <xref target="RFC7432"/> defines Ethernet Auto-Discovery (EAD) routes (Route Type 1) for multi-homing functions including fast convergence (Section 8.2), split-horizon filtering (Section 8.3), and aliasing (Section 8.4). In a multi-homing deployment, multiple Provider Edge (PE) devices attached to the same Ethernet Segment (ES) each originate EAD routes that share the same Ethernet Segment Identifier (ESI).</t>
<t>Per <xref target="RFC7432"/> Section 7.1, the BGP route key for an EAD route comprises the Route Distinguisher (RD), the ESI, and the Ethernet Tag ID. The originating PE's IP address is not part of the route key. When multiple PEs originate EAD routes with the same RD and ESI, standard BGP <xref target="RFC4271"/> best-path selection treats them as competing paths for the same prefix and retains only one.</t>
<t>While <xref target="RFC7432"/> recommends that each PE use a unique RD to distinguish its routes, this recommendation is not always followed in practice. Additionally, even with unique RDs, Route Reflector (RR) topologies may reflect only a subset of paths to their clients. In either case, retaining a single best path for EAD routes can result in:</t>
<ul><li>Remote PEs not receiving EAD routes from all PEs attached to an ES, preventing correct aliasing per <xref target="RFC7432"/> Section 8.4.</li><li>Incomplete mass withdrawal, as the withdrawal of an EAD per-ES route from one PE is not received by all remote PEs.</li><li>Incomplete forwarding state for ES and EVI labels, affecting split-horizon filtering for multi-homing groups with more than two PEs.</li></ul>
<t>This document specifies the multipath requirements for EAD routes to address these issues.</t>
<section anchor="requirements-language" numbered="true" toc="include"><name>Requirements Language</name>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
</section></section>
<section anchor="ead-route-multipath-requirements" numbered="true" toc="include"><name>EAD Route Multipath Requirements</name>
<section anchor="applicability" numbered="true" toc="include"><name>Applicability</name>
<t>The requirements in this section apply to EVPN Route Type 1 (Ethernet Auto-Discovery) routes with a non-zero ESI. Routes with ESI set to zero and all other EVPN route types are subject to standard BGP best-path selection per <xref target="RFC4271"/> Section 9.1.2 without modification.</t>
</section>
<section anchor="advertisement" numbered="true" toc="include"><name>Advertisement</name>
<t>A BGP speaker MUST advertise all valid EAD routes for a given ESI to its BGP peers, regardless of the outcome of best-path selection. This applies to both locally originated and received EAD routes.</t>
<t>This requirement applies to Route Reflectors, which MUST reflect all valid EAD routes for a given ESI to their clients, rather than reflecting only the best path.</t>
<t>This behavior is functionally equivalent to BGP Add-Paths <xref target="RFC7911"/> for the specific case of EAD routes, without requiring Add-Paths capability negotiation.</t>
</section>
<section anchor="forwarding-state-installation" numbered="true" toc="include"><name>Forwarding State Installation</name>
<t>A BGP speaker MUST install forwarding state for all valid EAD routes for a given ESI, not only the best path. Specifically:</t>
<ul><li>For EAD per-ES routes, the ES label from each route originator MUST be installed.</li><li>For EAD per-EVI routes, the EVI label from each route originator MUST be installed.</li></ul>
<t>The resulting forwarding state maps the ESI and EVI to the set of originating PE addresses and their associated labels.</t>
</section></section>
<section anchor="operational-considerations" numbered="true" toc="include"><name>Operational Considerations</name>
<section anchor="route-distinguisher-allocation" numbered="true" toc="include"><name>Route Distinguisher Allocation</name>
<t>The multipath requirements in this document do not remove the recommendation in <xref target="RFC7432"/> to assign unique RDs per PE. Unique RDs remain useful for operational troubleshooting and route identification. The requirements specified here apply regardless of whether RDs are unique or shared.</t>
</section>
<section anchor="interoperability" numbered="true" toc="include"><name>Interoperability</name>
<t>A BGP speaker implementing this specification advertises additional EAD routes that a non-implementing peer would not. The additional routes are valid BGP UPDATE messages and are processed normally by the receiving peer. A non-implementing peer may apply standard best-path selection to these routes; this does not cause protocol errors, but may result in the peer not utilizing all available paths.</t>
</section></section>
<section anchor="security-considerations" numbered="true" toc="include"><name>Security Considerations</name>
<t>Treating EAD routes as multipath increases the number of routes in the BGP Loc-RIB and the forwarding plane. A misconfigured or malicious peer could originate a large number of EAD routes for the same ESI. Implementations MUST support a configurable limit on the number of paths accepted per ESI. When this limit is reached, additional routes SHOULD be discarded.</t>
<t>BGP session authentication using TCP-AO <xref target="RFC5925"/> is RECOMMENDED to protect against unauthorized route injection.</t>
</section>
<section anchor="iana-considerations" numbered="true" toc="include"><name>IANA Considerations</name>
<t>This document has no IANA actions.</t>
</section>
  </middle>

  <back>
      <references title="Normative References">
    <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
      <front>
        <title>Key words for use in RFCs to Indicate Requirement Levels</title>
        <author initials="S." surname="Bradner" fullname="Scott Bradner"/>
        <date year="1997" month="March"/>
      </front>
      <seriesInfo name="BCP" value="14"/>
      <seriesInfo name="RFC" value="2119"/>
      <seriesInfo name="DOI" value="10.17487/RFC2119"/>
    </reference>
    <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271">
      <front>
        <title>A Border Gateway Protocol 4 (BGP-4)</title>
        <author initials="Y." surname="Rekhter" fullname="Yakov Rekhter, Ed."/>
        <author initials="T." surname="Li" fullname="Tony Li, Ed."/>
        <author initials="S." surname="Hares" fullname="Susan Hares, Ed."/>
        <date year="2006" month="January"/>
      </front>
      <seriesInfo name="RFC" value="4271"/>
      <seriesInfo name="DOI" value="10.17487/RFC4271"/>
    </reference>
    <reference anchor="RFC7432" target="https://www.rfc-editor.org/info/rfc7432">
      <front>
        <title>BGP MPLS-Based Ethernet VPN</title>
        <author initials="A." surname="Sajassi" fullname="Ali Sajassi, Ed."/>
        <author initials="R." surname="Aggarwal" fullname="Rahul Aggarwal"/>
        <author initials="N." surname="Bitar" fullname="Nabil Bitar"/>
        <author initials="A." surname="Isaac" fullname="Aldrin Isaac"/>
        <author initials="J." surname="Uttaro" fullname="John Uttaro"/>
        <author initials="J." surname="Drake" fullname="John Drake"/>
        <author initials="W." surname="Henderickx" fullname="Wim Henderickx"/>
        <date year="2015" month="February"/>
      </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">
      <front>
        <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
        <author initials="B." surname="Leiba" fullname="Barry Leiba"/>
        <date year="2017" month="May"/>
      </front>
      <seriesInfo name="BCP" value="14"/>
      <seriesInfo name="RFC" value="8174"/>
      <seriesInfo name="DOI" value="10.17487/RFC8174"/>
    </reference>
    <reference anchor="RFC5925" target="https://www.rfc-editor.org/info/rfc5925">
      <front>
        <title>The TCP Authentication Option</title>
        <author initials="J." surname="Touch" fullname="Joe Touch"/>
        <author initials="A." surname="Mankin" fullname="Allison Mankin"/>
        <author initials="R." surname="Bonica" fullname="Ron Bonica"/>
        <date year="2010" month="June"/>
      </front>
      <seriesInfo name="RFC" value="5925"/>
      <seriesInfo name="DOI" value="10.17487/RFC5925"/>
    </reference>
    <reference anchor="RFC7911" target="https://www.rfc-editor.org/info/rfc7911">
      <front>
        <title>Advertisement of Multiple Paths in BGP</title>
        <author initials="D." surname="Walton" fullname="Daniel Walton"/>
        <author initials="A." surname="Retana" fullname="Alvaro Retana"/>
        <author initials="E." surname="Chen" fullname="Enke Chen"/>
        <author initials="J." surname="Scudder" fullname="John Scudder"/>
        <date year="2016" month="July"/>
      </front>
      <seriesInfo name="RFC" value="7911"/>
      <seriesInfo name="DOI" value="10.17487/RFC7911"/>
    </reference>
      </references>
      <section anchor="acknowledgements" numbered="false" toc="include">
        <name>Acknowledgements</name>
        <t>The multi-homing procedures in RFC 7432 and the ongoing work on its revision informed the requirements in this document.</t>
      </section>
  </back>
</rfc>
