<?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 I-D.wang-idr-next-next-hop-nodes SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.wang-idr-next-next-hop-nodes.xml">
<!ENTITY I-D.zzhang-rtgwg-router-info SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.zzhang-rtgwg-router-info.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC4291 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml">
<!ENTITY I-D.ietf-bess-evpn-unequal-lb SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-unequal-lb.xml">
<!ENTITY RFC9136 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9136.xml">
<!ENTITY RFC4364 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4364.xml">
<!ENTITY RFC8277 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8277.xml">
<!ENTITY I-D.ietf-bess-evpn-ip-aliasing SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-evpn-ip-aliasing.xml">
<!ENTITY I-D.mackenzie-bess-evpn-l3mh-proto SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.mackenzie-bess-evpn-l3mh-proto.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-bess-dynamic-overlay-lb-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Dynamic Overlay Load Balancing">Dynamic Overlay Load Balancing</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="W." surname="Lin" fullname="Wen Lin">
      <organization>Juniper Networks</organization>
      <address>
        <email>wlin@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>
    <author initials="C." surname="Lin" fullname="Changwang Lin">
      <organization>New H3C Technologies</organization>
      <address>
        <email>linchangwang.04414@h3c.com</email>
      </address>
    </author>

    <date year="2025" month="October" day="20"/>

    <area>Routing</area>
    <workgroup>bess</workgroup>
    <keyword>evpn, vpn, multi-homing, dynamic load-balancing</keyword>

    <abstract>


<t>This document specifies a mechanism for an overlay service ingress PE to
dynamically load-balance traffic to Multi-Homing PEs based on
near real-time access link information advertised by those PEs.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t><xref target="I-D.ietf-bess-evpn-unequal-lb"/> specifies a mechanism to do weighted
load-balancing on an Ethernet Virtual Private Network (EVPN) <xref target="RFC7432"/>
ingress PE to egress PEs of Multi-Homed Ethernet
Segments (MHES) based on the capacity of the MHES advertised by the egress PEs.
The capacity advertisement is not real-time, and load-balancing based
on dynamic information is outside the scope of that document and left for
further study.</t>

<t><xref target="I-D.wang-idr-next-next-hop-nodes"/> describes a scenario where global
load-balancing can be achieved in a CLOS network by considering the
real-time load information on the next hop router in addition to
considering the real-time local load information of the path to that
next hop router.</t>

<t><xref target="I-D.zzhang-rtgwg-router-info"/> specifies a UDP-based mechanism to advertise
router information including real-time load information for links,
or for paths to some neighbors.</t>

<t>This document specifies how dynamic load-balancing can be achieved
on ingress PEs based on near real-time access link information advertised by
the multi-homing egress PEs for both L2 and L3 services. The difference from
<xref target="I-D.wang-idr-next-next-hop-nodes"/> is that
<xref target="I-D.wang-idr-next-next-hop-nodes"/> is for load-balancing across the
underlay, while this document is for overlay services.</t>

<t>In the case of EVPN L2 services (via EVPN Type 2 routes) and L3 services
(via EVPN Type 5 routes with a non-zero ESI) <xref target="RFC9136"/>,
in addition to calculating load-balancing weights
according to <xref target="I-D.ietf-bess-evpn-unequal-lb"/>, the forwarding component of
an EVPN PE can further fine-tune the weights based on real-time link information
advertised from the MHPEs according to <xref target="I-D.zzhang-rtgwg-router-info"/>.
The EVPN signaling is extended to signal a 32-bit local link ID for each
MHES, and the link ID is used in the link load signaling per
<xref target="I-D.zzhang-rtgwg-router-info"/>.</t>

<t>In the case of EVPN L3 services via EVPN routes with a zero-ESI but a MAC/IP
overlay index, if the overlay index itself is resolved via an MHES, the
dynamic load-balancing of the L3 services recursively follows the dynamic
load-balancing for the overlay index (see previous paragraph).</t>

<t>Otherwise, or in the case of IP-VPN <xref target="RFC4364"/>, Labeled Unicast <xref target="RFC8277"/> among
border routers (BDRs), or plain IP over tunnels to egress BDRs/ASBRs,
the IP/VPN routes can carry a next-next-hop, which is used in the
link/path load signaling via UDP, just as in
<xref target="I-D.wang-idr-next-next-hop-nodes"/> with the difference that the signaling
is to (remote) ingress PEs (or tunnel ingress nodes) instead of link-local
flooding, and that the dynamic load-balancing is done by the ingress routers.</t>

<t>In addition to the dynamic load-balancing, the up/down status of an access
link in the UDP advertisement per <xref target="I-D.zzhang-rtgwg-router-info"/> can also
be used by the ingress PEs to quickly stop using an egress PE when its access
link goes down - assuming that the UDP advertisement can arrive at
the ingress PEs faster than the withdrawal of the EVPN Ethernet A-D per ES route
(in the case of EVPN) or L3 IP/VPN routes,
and that the UDP advertisement can be handled in the fast forwarding path
in a fast reroute fashion similar to a local link down case.</t>

<t>When there are multiple paths to a PE in the underlay, the dynamic
load-balancing to that PE via multiple paths in the underlay can be done
in addition to the load-balancing to multiple PEs in the overlay.</t>

</section>
<section anchor="specification"><name>Specification</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>

<t>The signaling and procedures in this document are optional. They are
only used when dynamic load-balancing to egress PEs is desired.</t>

<section anchor="evpn"><name>EVPN</name>

<t>Each EVPN PE on an MHES assigns a local 32-bit link ID for its link to the MHES.
In the Ethernet Auto-Discover (Type 1) per ES route originated by a
PE for the MHES, a new Link ID Extended Community is attached
to signal the local link ID.</t>

<t>The Link ID Extended Community is a transitive opaque Extended Community
with a sub-type TBD:</t>

<figure><artwork><![CDATA[
 0                   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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      0x03     |       TBD     |     Reserved (must be 0)      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Link ID                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The load info of the link is signaled using the Link Information TLV
per <xref target="I-D.zzhang-rtgwg-router-info"/>. Each link to an MHES has a link
record in the TLV, and each record's Link ID is the link's local link ID
that is also signaled in the Link ID Extended Community.</t>

<t>The UDP messages are delivered in the underlay via one of the following methods:</t>

<t><list style="symbols">
  <t>Individually addressed and delivered to each PE via unicast.</t>
  <t>Addressed to an IPv4 "All Routers on this Subnet" multicast address or
an IPv6 Node-local All Routers Address (multicast) <xref target="RFC4291"/> and
delivered over a P2MP tunnel to all other PEs.</t>
  <t>Addressed to an operator-specified multicast address and delivered over
the multicast tree for that address in the underlay network. All PEs
MUST join that multicast tree.</t>
</list></t>


<t>The Link ID in the UDP message MAY be set to a value that identifies the
EVPN domain. It MAY be zero if the link info signaling is not used for
other purposes (as the remote ingress PEs don't care from which link
the egress PE sent the UDP message).</t>

<t>With the Link ID in the Link ID Extended Community attached to
Ethernet Auto-Discovery per ES routes from egress PEs on an MHES,
and the link info signaled from the MHES PEs, an ingress PE learns
the up/down status and dynamic link load of each MHES link and
adjusts the load-balancing weight dynamically, for both MAC-based
L2 forwarding and IP-based L3 forwarding
<xref target="I-D.ietf-bess-evpn-ip-aliasing"/> <xref target="I-D.mackenzie-bess-evpn-l3mh-proto"/>.</t>

<t>An ingress PE may receive the dynamic link load information from some but
not all of the PEs for an MHES, or the link load information from some may
time out. The Link ID Extended Community may also be present in some but
not all the Ethernet Auto-Discovery per ES routes. In that case, the ingress
PE cannot determine the dynamic load information for some links of the MHES
and SHOULD act as if such a link 
had a load of X% of its static bandwidth as advertised per
<xref target="I-D.ietf-bess-evpn-unequal-lb"/>. If the link does not even have
the static bandwidth information, then it MAY be considered to have a
static bandwidth of the least of all received static bandwidths for all
other links on the MHES. If the <xref target="I-D.ietf-bess-evpn-unequal-lb"/>
signaling is not used at all, then all the links are considered to have an
equal reference static bandwidth Y and the dynamic link load (either
signaled per <xref target="I-D.zzhang-rtgwg-router-info"/> or assumed as X% per above)
is based on Y. The actual value of Y does not matter and choice of X is a local
operational consideration, but it SHOULD be consistent across all PEs.
This document suggests a default value of 50 for X, and an operator can
adjust X's value depending on how much it wants to utilize a link that
lacks the dynamic load info. Alternatively, an implementation MAY allow
disabling the dynamic load-balancing for such an MHES.</t>

<t>The exact implementation for the load-balancing
details is outside the scope of this document.</t>


</section>
<section anchor="ip-vpn-labeled-unicast-and-tunneled-ip"><name>IP-VPN, Labeled Unicast, and Tunneled IP</name>

<t>The BGP procedures and signaling are the same as described in
<xref target="I-D.wang-idr-next-next-hop-nodes"/> for prefixes multi-homed to multiple
nodes (which could be egress PEs, BDRs, or ASBRs). In summary, the BGP routes
for the multi-homed prefixes are advertised with a Next-next Hop Nodes (NNHN)
TLV, which includes (among other things) one or more Next-next-hop BGP ID.
These routes include EVPN Type 5 routes with a zero-ESI, for which the overlay
index can not resolve to an MHES.</t>

<t>Each of the Next-next-hop BGP ID corresponds to a link/path on an egress node
to the prefix. The node signals the link/path's dynamic load information
using the Neighbor Path Information as specified in
<xref target="I-D.zzhang-rtgwg-router-info"/>, so that ingress nodes can dynamically
load-balancing corresponding traffic via different egress nodes.</t>

<t>The UDP messages are delivered in the underlay to the ingress nodes
as described in the EVPN case.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>To be added.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests IANA to assign a sub-type value TBD from the
Transitive Opaque Extended Community Sub-Types registry:</t>

<figure><artwork><![CDATA[
  Sub-Type Value     Name
  ==============     ====
  TBD                Link ID Extended Community
]]></artwork></figure>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors thank Kevin Wang for his review, comments, and
suggestions to make this document and solution more complete.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC7432;
&I-D.wang-idr-next-next-hop-nodes;
&I-D.zzhang-rtgwg-router-info;
&RFC2119;
&RFC8174;
&RFC4291;


    </references>

    <references title='Informative References'>

&I-D.ietf-bess-evpn-unequal-lb;
&RFC9136;
&RFC4364;
&RFC8277;
&I-D.ietf-bess-evpn-ip-aliasing;
&I-D.mackenzie-bess-evpn-l3mh-proto;


    </references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

