<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC7432 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7432.xml">
<!ENTITY RFC8584 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8584.xml">
<!ENTITY RFC9785 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9785.xml">
<!ENTITY RFC9786 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9786.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-bess-evpn-multi-active-multihoming-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="EVPN Multi-Active Multihoming">EVPN Multi-Active Multihoming</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>HPE</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="C." surname="Lin" fullname="Changwang Lin">
      <organization>New H3C Technologies</organization>
      <address>
        <email>linchangwang.04414@h3c.com</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="2025" month="October" day="20"/>

    <area>Routing</area>
    <workgroup>bess</workgroup>
    <keyword>evpn, multi-active, multihoming, preference</keyword>

    <abstract>


<t>EVPN supports All-Active and Single-Active multihoming, where either all
multihoming PEs are active or only one is active. In some situations,
it is desired to support Multi-Active with multiple yet not all active PEs.
This document specifies the Multi-Active multihoming - some multihoming PEs
are in All-Active mode while others are in Single-Active mode on the same
multihoming Ethernet Segment, and ingress PEs load-balance to those in
All-Active mode.</t>



    </abstract>



  </front>

  <middle>



<section anchor="introduction"><name>Introduction</name>

<t>Consider the following EVPN <xref target="RFC7432"/> multihoming situation:</t>

<figure><artwork><![CDATA[
        ce2 
         |
    ___ PE5____
   /           \
  /             \
  \_____________/
 PE1  PE2 PE3  PE4
   \    | |    /
    \   | |   /
     \  | |  /
      \ | | /
        ce1
]]></artwork></figure>

<t>CE1 is multihomed to PE1..4. It is desired that
traffic from remote PEs, e.g., PE5, is load-balanced to PE1/PE2
normally, and only switch to PE3/PE4 when both PE1/PE2 are down.</t>

<t>This cannot be achieved via the existing All-Active or Single-Active
multihoming schemes, but it can be achieved via a new Multi-Active scheme
introduced in this document:</t>

<t><list style="symbols">
  <t>The preferred PEs (e.g., PE1/PE2) in an MHES are considered in
the All-Active mode. They set the P-bit in the L2-Attribute
Extended Community to 1 and the B-bit to 0 in the Ethernet A-D
per EVI routes.</t>
  <t>Others are considered in the Single-Active mode. They set the P-bit
to 0. One of them might be the BDF (if there is only one preferred PE,
which is the DF), and its B-bit is set to 1 in that case, but that
has no impact with respect to the Multi-Active behavior.</t>
  <t>The preferred PEs are those advertising the highest (or lowest) preference
value in the DF Election Extended Community.</t>
  <t>Remote PEs load-balance to MHES PEs that advertise P-bit 1, with backup
paths to MHES PEs that advertise P-bit 0.</t>
</list></t>

<t>Note that the set of preferred PEs (and hence the rest of PEs) can change
dynamically. In the above example, when PE1/PE2 goes down, PE3/PE4 becomes
the preferred and advertises P-bit 1.</t>

<t>Whether a PE is preferred depends on its DF Preference value in the
DF Election Extended Community <xref target="RFC8584"/>. Notice that, even if the
DF Election algorithm is not Highest- or Lowest-Preference <xref target="RFC9785"/>, the DF
Preference field is still used to signal the preference for the purpose
of Multi-Active multihoming.</t>

<section anchor="relationship-with-single-active-all-active-and-port-active"><name>Relationship with Single-Active, All-Active, and Port-Active</name>

<t><xref target="RFC9786"/> specifies a Port-Active redundancy mode for multihoming,
which is just the Single-Active mode without Service Carving.</t>

<t>Per <xref target="RFC7432"/>:</t>

<figure><artwork><![CDATA[
"The default procedure for DF election at the granularity of <ES,
VLAN> for VLAN-based service or <ES, VLAN bundle> for VLAN-(aware)
bundle service is referred to as "service carving".  With service
carving, it is possible to elect multiple DFs per Ethernet segment
(one per VLAN or VLAN bundle) in order to perform load balancing of
multi-destination traffic destined to a given segment.  The load-
balancing procedures carve up the VLAN space per ES among the PE
nodes evenly, in such a way that every PE is the DF for a disjoint
set of VLANs or VLAN bundles for that ES."
]]></artwork></figure>

<t>Per <xref target="RFC9786"/>, Port-Active is still the Single-Active mode, but with the
DF election performed per ES. As a result, the non-DFs (backup PEs) could
transition the port to standby/down state because the port will not be used.</t>

<t>Multi-active is a mix of All-Active and Single-Active, and service carving
is still applicable. Some PEs on an MHES are All-Active while others are
Single-Active, and they can change dynamically.</t>

</section>
</section>
<section anchor="spec"><name>Specification</name>

<t>For an MHES to be Multi-Active,
PEs on the ES MUST be configured with appropriate preferences that are
advertised in the DF Election Extended Community, even if the DF
election algorithm is not Highest- or Lowest-Preference. If the DF
election algorithm is Highest- or Lowest-Preference, the same preference
is used for both DF election and for determining if a PE is preferred
for the Multi-Active purpose.</t>

<t>A PE is considered preferred if one of the following conditions is met:</t>

<t><list style="symbols">
  <t>When the DF election algorithm is Highest- or Lowest-Preference,
the PE has the highest or lowest preference of all those advertised
in the DF Election Extended Communities.</t>
  <t>When the DF election algorithm is neither Highest- nor Lowest-Preference,
the PE has the highest preference of all those advertised in the
DF Election Extended Communities.</t>
</list></t>

<t>A Multi-Active MHES may be in strict or loose mode. The above conditions
are for strict mode, in which only and all the PEs with strictly highest
or lowest preference are preferred. In other words, as long as one of the
previously multiple preferred PEs remains, other PEs will not become
preferred.</t>

<t>In the loose mode, there could be M preferred PEs in the MHES.
Their preference values are higher (or lower) than those of others
(with the IP address being the tie-breaker), but their preference values
are not necessarily equal. For example, for PE1/2/3/4 with preference
100/100/80/80 in M=2 loose mode, PE1/2 are initially preferred. When PE1
goes down, PE2/3 are preferred while PE4 is not preferred (assuming PE3
has a higher IP address than PE4). For comparsion, in the strict mode,
only PE2 remains preferred. If PE2 also goes down, then PE3/4 both become
preferred.</t>

<t>The provisioning of strict/loose mode and the M value SHOULD be
consistent across the PEs on an MHES. However, the information is
not signaled among the PEs. In the case of inconsistency, a PE may
incorrectly set/clear the P-bit, leading to the undesired load-balancing.
However, that should not lead to traffic blackholing.</t>

<t>A preferred PE MUST operate in the All-Active
mode. It sets the Multihoming Redundancy Mode bit in the ESI Label
extended community to 0 (indicating All-Active), sets the P-bit in the
L2-Attribute Extended Community to 1, and sets the B-bit to 0.</t>

<t>Otherwise, the PE MUST operate in the Single-Active mode locally,
though it sets the Multihoming Redundancy Mode bit in the ESI Label
extended community to 0 (indicating All-Active). It sets the P-bit in the
L2-Attribute Extended Community to 0. If it is the BDF, the B-bit is set to 1.</t>

<t>When an ingress PE performs aliasing and load-balancing procedures for
an MHES, load-balancing SHOULD be applied to all PEs setting the P-bit to 1
in the L2-Attribute Extended Community. Backup paths via PEs setting the
P-bit to 0 SHOULD be set up.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This does not introduce additional security concerns beyond what are documented
in <xref target="RFC7432"/>.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors thank Soumyodeep Joarder, Vikram Nagarajan, and Vinod Kumar Nagaraj
for the discussions on the use case and solution options.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC7432;
&RFC8584;
&RFC9785;


    </references>

    <references title='Informative References'>

&RFC9786;


    </references>



  </back>

<!-- ##markdown-source:
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
xjq/YgPAOOp/vqFSp4AdAAA=

-->

</rfc>

