<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="rfc7991bis.rnc"?>

<!DOCTYPE rfc [
  <!ENTITY nbsp "&#160;">
  <!ENTITY zwsp "&#8203;">
  <!ENTITY nbhy "&#8209;">
  <!ENTITY wj "&#8288;">
]>

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-anarayanan-bess-evpn-extended-ip-mobility-00"
  ipr="trust200902"
  submissionType="IETF"
  xml:lang="en"
  version="3">
  <front>
    <title abbrev="extended ip mobility procedures">Extended IP mobility procedures for EVPN-IRB </title>

    <seriesInfo name="Internet-Draft" value="draft-anarayanan-bess-evpn-extended-ip-mobility-00"/>

    <author fullname="Anand Narayanan" initials="A." surname="Narayanan">
      <organization>Arista Networks</organization>
      <address>
        <email>anarayanan@arista.com</email>
      </address>
    </author>

    <author fullname="Akhil Shashidhar" initials="A." surname="Shashidhar">
      <organization>Arista Networks</organization>
      <address>
        <email>akhil@arista.com</email>
      </address>
    </author>

    <author fullname="Qing Yang" initials="Q." surname="Yang">
      <organization>Arista Networks</organization>
      <address>
        <email>qyang@arista.com</email>
      </address>
    </author>

    <date year="2026" month="October" day="17"/>

    <workgroup>Internet Engineering Task Force</workgroup>

    <keyword>EVPN</keyword>
    <keyword>IP Mobility</keyword>

    <abstract>
      <t><xref target="RFC9721"/> introduces IP mobility procedures for EVPN-IRB that couple IP and MAC mobility sequence numbers. This coupling results in excessive control plane churn when a single IP migrates among multiple IP addresses associated with a single MAC address. This document proposes separating sequence number spaces for IP mobility (MAC-IP routes) and MAC mobility (MAC-only routes), reducing BGP updates from O(N) to O(1) when one IP moves among N IPs on a MAC, while maintaining full compatibility with an implementation conforming to the recommendations of <xref target="RFC9721"/>. Further, this document proposes an upgrade path for deployments transitioning to IP mobility as defined in <xref target="RFC9721"/> or this draft.</t>
    </abstract>
  </front>

  <middle>
    <section>
      <name>Introduction</name>
      <t>The mobility procedures defined in <xref target="RFC9721"/> address the use case of determining the most recent IP-MAC binding when IP addresses and MAC addresses move independently in an EVPN overlay network. While this IP binding change is a common use case considered in <xref target="RFC9721"/>, there are additional cases where the procedures defined in <xref target="RFC9721"/> may prove sub-optimal, causing severe control plane convergence overhead.</t>
      <t>The following is an exhaustive list of IRB mobility scenarios that are considered:</t>
      <ol>
        <li>A host move results in the host's IP address and MAC address moving together.</li>
        <li>A host move results in the host's MAC address moving to a new IP address association.</li>
        <li>A host move results in the host's IP address moving to a new MAC address association that already has zero, one or more IP addresses associated with it.</li>
      </ol>
      <t>The above cases are discussed in detail in sections <xref target="host-mac-ip-address-move" format="counter"/> - <xref target="host-ip-address-moves-to-a-new-mac-address" format="counter"/>.</t>
      <t>While recommendations specified in <xref target="RFC9721"/> efficiently handle the cases 1-2, and case-3 when there are no IP addresses already associated with the destination MAC. Case-3 poses a unique challenge when there are already one or more IP addresses associated with the MAC. If the IP address moves to a new MAC address with a lower sequence number, the mobility procedures necessitate that the MAC-only and MAC-IP routes' sequence numbers be updated to a higher value to allow for the control plane to converge correctly. However, in case-3, since there are multiple IP addresses already associated with the target MAC address - following the recommendations would mean that one IP address moving would result in multiple EVPN RT-2 updates. The resulting overhead is directly proportional to the number of IP addresses mapped to the target MAC address.</t>
      <t>This document updates the sequence number assignment procedures defined in <xref target="RFC9721"/> to handle this case, and have the control plane converge more efficiently without loss of determinism. While doing so, the recommendations of this draft remain fully compatible with another implementation that conforms to the recommendations of <xref target="RFC9721"/>. This document also covers the upgrade mechanism for an implementation conforming to <xref target="RFC7432"/> to upgrade to the recommendations outlined in this draft. Further, the draft also discusses the applicability for hosts behind an ESI multihoming to multiple PE devices.</t>
      <t>Similar to <xref target="RFC9721"/>, the mobility procedures defined in this draft apply to the following cases independent of the overlay encapsulation ( e.g, MPLS, SRv6, VXLAN )</t>
      <ol>
        <li>Symmetric IRB overlay</li>
        <li>Asymmetric IRB overlay</li>
        <li>Routed EVPN overlay</li>
      </ol>
    </section>

    <section>
      <name>Requirements Language and Terminology</name>
      <t>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 BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      <dl newline="true">
        <dt>EVPN-IRB:</dt>
        <dd>A BGP-EVPN distributed control plane based integrated routing and bridging fabric overlay discussed in <xref target="RFC9135"/>.</dd>
        <dt>Endpoint:</dt>
        <dd>An endpoint is a unique destination of a host in the Overlay network, identified by the associated ESI or by the PE address if the ESI is 0.</dd>
        <dt>SRv6:</dt>
        <dd>Segment Routing IPv6 protocol as specified in <xref target="RFC8986"/>.</dd>
        <dt>NVO3:</dt>
        <dd>Network Virtualization Overlays as specified in <xref target="RFC8926"/>.</dd>
        <dt>VXLAN:</dt>
        <dd>Virtual eXtensible Local Area Network as specified in <xref target="RFC7348"/>.</dd>
        <dt>MPLS:</dt>
        <dd>Multi-Protocol Label Switching as specified in <xref target="RFC3031"/>.</dd>
        <dt>Underlay:</dt>
        <dd>IP, MPLS, or SRv6 fabric core network that provides routed reachability between EVPN PEs.</dd>
        <dt>Overlay:</dt>
        <dd>L3 and L2 Virtual Private Network (VPN) enabled via NVO3, VXLAN, SRv6, or MPLS service layer encapsulation.</dd>
        <dt>EVPN PE:</dt>
        <dd>A PE switch-router in an EVPN-IRB network that runs overlay BGP-EVPN control plane and connects to overlay CE host devices. An EVPN PE may also be the first-hop layer-3 gateway for CE/host devices. This document refers to EVPN PE as a logical function in an EVPN-IRB network. This EVPN PE function may be physically hosted on a top-of-rack switching device (ToR) OR at layer(s) above the ToR in the Clos fabric. An EVPN PE is typically also an IP or MPLS tunnel end-point for overlay VPN flow.</dd>
        <dt>Symmetric EVPN-IRB:</dt>
        <dd>is a specific design approach used in EVPN- based networks <xref target="RFC9135"/> to handle both Layer 2 (L2) and Layer 3 (L3) forwarding within the same network infrastructure. The key characteristic of symmetric EVPN-IRB is that both ingress and egress PE routers perform routing for inter-subnet traffic.</dd>
        <dt>Asymmetric EVPN-IRB:</dt>
        <dd>is a design approach used in EVPN-based networks <xref target="RFC9135"/> to handle Layer 2 (L2) and Layer 3 (L3) forwarding. In this approach, only the ingress Provider Edge (PE) router performs routing for inter-subnet traffic, while the egress PE router performs bridging.</dd>
        <dt>ARP:</dt>
        <dd>Address Resolution Protocol <xref target="RFC826"/>. ARP references in this document are equally applicable to both ARP and NDP.</dd>
        <dt>NDP:</dt>
        <dd>IPv6 Neighbor Discovery Protocol <xref target="RFC4861"/>.</dd>
        <dt>Ethernet Segment:</dt>
        <dd>Physical ethernet or LAG (Link Aggregation Group) port that connects an access device to an EVPN PE, as defined in <xref target="RFC7432"/>.</dd>
        <dt>EVPN all-active multi-homing:</dt>
        <dd>is a redundancy and load-sharing mechanism used in EVPN networks. This method allows multiple PE devices to simultaneously provide Layer 2 and Layer 3 connectivity to a single CE device or network segment.</dd>
        <dt>RT-2:</dt>
        <dd>EVPN route type 2 carrying both MAC address and IP address reachability as specified in <xref target="RFC7432"/>.</dd>
        <dt>RT-5:</dt>
        <dd>EVPN route type 5 carrying IP prefix reachability as specified in <xref target="RFC7432"/>.</dd>
        <dt>MAC-IP address:</dt>
        <dd>IPv4 and/or IPv6 address and MAC address binding for an overlay host.</dd>
        <dt>Peer-Sync-Local MAC route:</dt>
        <dd>BGP EVPN learnt MAC route for a host that is directly attached to a local multi-homed Ethernet Segment.</dd>
        <dt>Peer-Sync-Local MAC-IP route:</dt>
        <dd>BGP EVPN learnt MAC-IP route for a host that is directly attached to a local multi-homed Ethernet Segment.</dd>
        <dt>Peer-Sync-Local MAC sequence number:</dt>
        <dd>Sequence number received with a Peer-Sync-Local MAC route.</dd>
        <dt>Peer-Sync-Local MAC-IP sequence number:</dt>
        <dd>Sequence number received with a Peer-Sync-Local MAC-IP route.</dd>
        <dt>VM:</dt>
        <dd>Virtual Machine or containerized workloads.</dd>
        <dt>Host:</dt>
        <dd>Host in this document generically refers to any user/CE endpoint attached to an EVPN-IRB network which may be a VM, containerized workload or a physical end-point or CE device.</dd>
      </dl>
    </section>

    <section>
      <name>Background</name>
      <t>This sections discusses the necessary background topics relevant to the mobility procedures as presented in the existing RFC literature (<xref target="RFC7432"/> and <xref target="RFC9721"/>)</t>
      <section>
        <name>Optional Mac only RT-2</name>
        <t>In EVPN-IRB deployments, the reachability of the MAC address in the overlay network is derived from both the MAC-only and MAC-IP EVPN RT-2 routes. In such a scenario, <xref target="RFC7432"/> suggests that advertising the MAC-only route may be optional, as the MAC-IP route conveys all of the following:</t>
        <ol>
          <li>The MAC address reachability</li>
          <li>The IP address reachability for the routing</li>
          <li>The IP-MAC binding information</li>
        </ol>
      </section>

      <section>
        <name>MAC+IP and MAC-only route - handling out-of-sync sequence numbers</name>
        <t>As discussed in section 6.1 of <xref target="RFC9721"/>, consider a deployment where MAC-IP routes and MAC-only routes pertaining to the same MAC address are advertised, but with different sequence numbers. The sequence number used for determining the reachability of the MAC address <bcp14>MUST</bcp14> be the highest of all alternatives available for the same MAC address across all MAC-only and MAC-IP routes.</t>
        <t>Whereas, for the IP-MAC binding determination and IP address reachability determination for routing purposes, the sequence number attached to the corresponding MAC-IP route may be used.</t>
      </section>

      <section>
        <name>Sequence Number Inheritance</name>
        <t>The MAC-IP routes are considered children of the associated MAC-only route for the purposes of sequence number assignment. In other words, a local MAC-IP route always inherits the sequence number of the parent local MAC-only route. Further, if an IP move necessitates that we increase the sequence number of a MAC-IP route, the sequence number of the parent MAC-only route is updated, this directly results in sequence number update of all the child MAC-IP EVPN RT-2 routes.</t>
      </section>

      <section>
        <name>Sequence Number synchronization in All Active Multihomed ESI</name>
        <t>In a scenario with hosts behind an all-active multihomed ESI, two or more PE devices could potentially advertise the same MAC-IP EVPN RT-2 routes. In such cases, <xref target="RFC9721"/> stipulates that the sequence number advertised for the MAC-only and all associated MAC-IP routes corresponding to the MAC address be synchronized to the higher value of the competing sequence numbers used across all the PEs with the same ES.</t>
        <t>As a result, the MAC-only route and all the child MAC-IP routes from all the PEs in an ES will share the same sequence number.</t>
      </section>
    </section>
    <section>
      <name>Problem Statement</name>
      <t>This section describes the various mobility scenarios in EVPN-IRB deployment. Particularly, <xref target="host-ip-address-moves-to-a-new-mac-address"/> highlights the shortcomings of the existing mobility procedures in tackling the mobility use case, and the motivation for the procedures introduced in this draft</t>
      <section>
        <name>Mobility Use Cases</name>
        <t>The following procedures for addressing the following host mobility cases are discussed in this document:</t>
        <ol>
          <li>Host move that results in the host's MAC address and all associated IP addresses moving together to a new endpoint.</li>
          <li>Host move that results in the host's MAC address moving to a new endpoint ( a new PE or a different ESI on the same PE )</li>
          <li>Host move that results in the host's IP address moving to a new MAC address that may have 0, 1 or more pre-existing IP address bindings</li>
        </ol>

        <section anchor="host-mac-ip-address-move">
          <name>Host MAC+IP address move</name>
          <t>This is the baseline scenario, and the most common one where the host's MAC address and IP address move to a new endpoint together. The existing MAC mobility procedures defined in <xref target="RFC7432"/>, and updated in <xref target="RFC9721"/> are sufficient to cater to this use case.</t>
        </section>

        <section anchor="host-mac-address-move-to-a-new-ip-address">
          <name>Host MAC address move to a new IP address</name>
          <t>In this scenario, a host's MAC address moves to a different endpoint in the overlay network, and acquires a new IP address. The recommendations as per <xref target="RFC7432"/> and <xref target="RFC9721"/> are sufficient to cater to this use case as well.</t>
          <figure>
            <artwork type="ascii-art"><![CDATA[
                        +------------------------+
                        | Underlay Network Fabric|
                        +------------------------+
     +-----+   +-----+      +-----+   +-----+      +-----+   +-----+
     | PE1 |   | PE2 |      | PE3 |   | PE4 |      | PE5 |   | PE6 |
     +-----+   +-----+      +-----+   +-----+      +-----+   +-----+
        \         /            \         /            \         /
         \ ESI-1 /              \ ESI-2 /              \ ESI-3 /
          \     /                \     /                \     /
          +\---/+                +\---/+                +\---/+
          | \ / |                | \ / |                | \ / |
          +--+--+                +--+--+                +--+--+
             |                      |                      |
          Server1                Server2                Server3
             |                      |                      |
       IP1-M1, IP2-M2        IP3-M3, IP4-M4         IP5-M5, IP6-M6
            ]]></artwork>
          </figure>
          <t>Consider M1 moving from ESI-1 to ESI-2 and acquiring a new IP address - IP7</t>
          <t>When PE3/ PE4 chooses a sequence number for advertising IP7-M1, it considers the following:</t>
          <ol>
            <li>
              <t>The sequence number M1 was associated with in the overlay - <tt>S(M1)</tt>: <tt>S(M1)</tt> will be the highest of the sequence numbers of all the MAC-only and MAC-IP EVPN RT-2 routes associated with M1. This is regardless of</t>
              <ol type="a">
                <li>Whether PE1/ PE2 has chosen to advertise a MAC-only route, because MAC-IP route is advertised</li>
                <li>Whether PE1/ PE2 has chosen to use out of sync sequence numbers for the MAC-only route and MAC-IP route</li>
              </ol>
            </li>
            <li>The previous sequence number IP7 was associated with, since IP7 is a new IP address - this will be 0.</li>
          </ol>
          <t>Now, PE3/ PE4 would advertise MAC-IP for IP7-M1, and optionally a MAC-only for M1 with a sequence number of <tt>S(M1) + 1</tt></t>
        </section>

        <section anchor="host-ip-address-moves-to-a-new-mac-address">
          <name>Host IP address moves to a new MAC address</name>
          <t>In this scenario, a host's IP address moves to a different MAC address in the overlay network. The destination MAC address may be associated with one or more other IP addresses already.</t>
          <t>This is the most interesting case as far as this document is concerned:</t>
          <ol>
            <li>The mobility recommendations defined in <xref target="RFC7432"/> are insufficient to deterministically pick the most recent IP-MAC binding in the overlay network</li>
            <li>The mobility recommendations as per <xref target="RFC9721"/>, while sufficient in providing the determinism in picking the most recent IP-MAC binding, suffers from a high overhead of control plane advertisements directly proportional to the the number of IP addresses bound to the destination MAC address.</li>
          </ol>
          <t>This can be illustrated with the following example:</t>
          <figure>
            <artwork type="ascii-art"><![CDATA[
               +------------------------+
               | Underlay Network Fabric|
               +------------------------+

     +-----+   +-----+            +-----+   +-----+
     | PE1 |   | PE2 |            | PE3 |   | PE4 |
     +-----+   +-----+            +-----+   +-----+
        \         /                  \         /
         \ ESI-1 /                    \ ESI-2 /
          \     /                      \     /
          +\---/+                      +\---/+
          | \ / |                      | \ / |
          +--+--+                      +--+--+
             |                            |
          Server1                      Server2
             |
       IP1-M1, IP2-M2            IP3,IP4,IP5,..IP9-M3
          (Seq-2)                       (Seq-0)
          ]]></artwork>
          </figure>
          <t>Consider the above depicted scenario where the:</t>
          <ol>
            <li>IP1, and IP2 are associated with MAC M2, and are advertised by PE1/PE2 with sequence number 0</li>
            <li>IP3 through IP9 are associated with MAC M3, and are advertised by PE3/PE4 with sequence number 0</li>
          </ol>
          <t>When IP1 moves from Server-1 to Server-2, PE3/ PE4 considers the following while picking a sequence number to advertise the new binding with:</t>
          <ol>
            <li>The current sequence number in the overlay network for MAC M3: <tt>S(M3) = 0</tt></li>
            <li>The current sequence number in the overlay network for IP address: <tt>S(IP1) = 2</tt></li>
          </ol>
          <t>The new sequence number for advertising IP1-M3 would be <tt>max(S(M3), S(IP1)) +1</tt> = <tt>3</tt></t>
          <t>However, <xref target="RFC9721"/> recommends that an update in sequence number for one MAC-IP route, requires a re-advertisement of all the other MAC-IP routes associated with M3.</t>
          <t>In this case - IP1 moving from Server-1 to Server-2 would result in an update to the following:</t>
          <ol>
            <li>MAC-IP route for IP1-M3 binding with sequence number 3, resulting in one path update</li>
            <li>MAC-IP routes for IP3 through IP9 and M3 bindings with sequence number 3, resulting in seven path updates</li>
            <li>Optionally, MAC-only route for M3 with sequence number 3, resulting in one path update</li>
          </ol>
          <t>One IP moving, results in at least 8 path updates without including the update to the optional MAC-only route. The number of updates directly scales with the number of IP addresses associated with the given MAC in the server.</t>

        </section>
      </section>
    </section>

    <section>
      <name>Design Considerations and Solution Components</name>
      <t>The solution components and sequence number scheme presented in this draft takes into account the following:</t>
      <ol>
        <li>Optional MAC-only EVPN RT-2: In EVPN IRB, in the presence of a MAC-IP route, the MAC-only RT-2 route is optional. The receiving PEs are supposed to derive the MAC reachability from the MAC-IP route instead.</li>
        <li>MAC address reachability with out-of-sync sequence numbers: When MAC-only and the associated MAC-IP EVPN RT-2 routes carry different sequence numbers, MAC address reachability for a given PE is ascertained by considering the MAC's sequence number as the highest among all the sequence numbers contained in the MAC-only, and MAC-IP routes from that PE</li>
        <li>Synchronization of Sequence numbers across multihoming PE devices: This is a vital aspect to multi-homing functioning accurately. Same sequence numbers must be used for the same MAC-IP and MAC-only routes across the PEs with the same ES, respectively</li>
      </ol>

      <section>
        <name>Inessentiality of Sequence Number Inheritance</name>
        <t>This section illustrates the effects on MAC-only routes and MAC-IP routes without the requirement of sequence number inheritance.</t>
        <section>
          <name>MAC address reachability</name>
          <t>The requirement for identical sequence numbers stems from the fact that MAC-only routes are optional and MAC reachability can be derived from MAC-IP routes.</t>
          <t>However, to ensure MAC-IP and MAC-only routes provides reachability to a MAC originated by the same PE device, it is sufficient to ensure either MAC-only or MAC-IP routes originated by the same PE for the same MAC has a sequence number greater than or equal to the sequence number for the MAC originated by another PE/ Ethernet Segment.</t>
          <t>The BGP bestpath picks routes based on the sequence numbers attached:</t>
          <ol>
            <li>If MAC-only and MAC-IP share the same sequence number, both of them may qualify for BGP bestpath winner, and would communicate identical reachability information for the MAC address</li>
            <li>If MAC-only and MAC-IP have different sequence numbers, the higher sequence number route would win BGP best path, and would dictate the reachability of the MAC address. The scheme shall ensure that the owner of the MAC address shall always advertise a MAC-only and/or a MAC-IP with a higher sequence number.</li>
          </ol>
          <t>This draft permits MAC-IP routes to have sequence numbers different from those of their MAC-only counterparts, provided that MAC reachability remains consistent.</t>
          <t>While it is strictly not required for correctness, the draft proposes that the sequence numbers in the MAC-IP routes are at least as high as the sequence numbers in the corresponding MAC-only route if present. This helps better traceability of MACs and their corresponding MAC-IP routes.</t>
        </section>
        <section>
        <name>IP-MAC bindings and IP address routing reachability</name>
        <t>This is the base case, and the MAC-only route plays no role in determining IP-MAC bindings and determining routing reachability for an IP address in the EVPN overlay network. Regardless of the sequence number contained in the MAC-only route, the sequence numbers in the MAC-IP route are sufficient to point to the correct PE.</t>
        </section>
      </section>

      <section>
        <name>Sequence Number Assignment scheme</name>
        <t>The following sub sections discuss the scheme for sequence number assignment on various events that would require a sequence number recompute:</t>
        <ol>
          <li>Learning a local MAC or receiving Peer-Sync-Local MAC/ MAC-IP Route Update</li>
          <li>Learning a local ARP or NDP or receiving Peer-Sync-Local MAC-IP Route Update</li>
          <li>Remote MAC or MAC-IP route update</li>
        </ol>

        <section>
          <name>Learning a local MAC or receiving Peer-Sync-Local MAC/ MAC-IP Route Update</name>
          <t>Regardless of whether a deployment chooses to advertise a MAC-only route, the local Mac route Mx sequence number <bcp14>MUST</bcp14> be computed as follows:</t>
          <ol>
            <li>It <bcp14>MUST</bcp14> be higher than that of any existing remote (non peer-sync) MAC route for Mx, as per <xref target="RFC7432"/>.</li>
            <li>It <bcp14>MUST</bcp14> be higher than that of any existing remote (non peer sync) MAC-IP route for Mx and arbitrary IP.</li>
            <li>It <bcp14>MUST</bcp14> be equal or higher than that of the corresponding Peer-Sync-Local MAC route's sequence number, if present.</li>
          </ol>
          <t>If a MAC-only route needs to be advertised, it shall use the sequence number computed above.</t>
        </section>

        <section>
          <name>Learning a local ARP or NDP or receiving Peer-Sync-Local MAC-IP Route Update</name>
          <t>Local sequence number for MAC Mx <bcp14>MUST</bcp14> be computed first if not present. A local Mx-IPx sequence number <bcp14>MUST</bcp14> be computed as follows:</t>
          <ol>
            <li>It <bcp14>MUST</bcp14> be equal to or higher to the locally computed MAC sequence number for MAC Mx</li>
            <li>It <bcp14>MUST</bcp14> be higher than the sequence numbers of existing MAC-IP routes ( remote or local ) for IPx</li>
            <li>It <bcp14>MUST</bcp14> be equal to or higher than that of the Peer-Sync-Local MAC-IP route, if present</li>
          </ol>
          <t>The sequence number for the MAC-only route for MAC Mx remains unchanged.</t>
        </section>

        <section>
          <name>Remote MAC or MAC-IP route update</name>
          <t>Upon receiving a remote MAC route update or a MAC-IP route update that's associated with MAC Mx carrying either a zero-ESID or a non-zero non-local ESID, with a sequence number that is</t>
          <ol>
            <li>Higher than the sequence number assigned to local route for MAC Mx</li>
            <li>Equal to sequence number assigned to local route for MAC Mx, but the remote route is selected as best due to a lower VXLAN Tunnel End Point IP as per <xref target="RFC7432"/></li>
          </ol>
          <t>The following actions are <bcp14>REQUIRED</bcp14> on the receiving PE:</t>
          <ol>
            <li>The PE <bcp14>MUST</bcp14> probe the local MAC-IP routes for MAC Mx as per <xref target="RFC9721"/></li>
            <li>The PE <bcp14>MUST</bcp14> trigger deletion procedure for all local MAC-IP routes associated with MAC Mx</li>
            <li>The PE <bcp14>MUST</bcp14> trigger deletion procedure for the local MAC route for Mx</li>
          </ol>
          <t>If the said update is a MAC-IP route with IPx, the receiving PE is <bcp14>REQUIRED</bcp14> to do the following in addition to the above:</t>
          <ol>
            <li>The PE <bcp14>MUST</bcp14> probe the local MAC-IP route associated with IPx</li>
            <li>The PE <bcp14>MUST</bcp14> trigger deletion procedure for local MAC-IP route associated with IPx</li>
          </ol>
        </section>
      </section>

      <section>
        <name>Route Update optimizations due to the mobility scheme</name>
        <t>Due to the removal of the requirement for sequence number inheritance in the proposed scheme, IP move across endpoints result in less number of route updates.</t>

        <section>
          <name>IP move to a standalone PE</name>
          <t>Consider the following scenario:</t>
          <ol>
            <li>IP I1 behind PE1 associated with MAC M1. The MAC-IP route for I1-M1 advertised by PE1 has a sequence number 5.</li>
            <li>IPs I2-I10 are behind PE2, each associated with MAC M2. The MAC-IP route for I2-M2 through I10-M2 are at sequence number 0</li>
          </ol>
          <t>I1 moves to be behind PE2, and is now associated with MAC M2.</t>
          <t>RFC9721 scheme: Mobility scheme as per <xref target="RFC9721"/> would have required all the routes associated with MAC M2 from PE2 to be updated to sequence number 6, resulting in a total of at least 10 route updates.</t>
          <t>Route Updates with mobility scheme prescribed above: The mobility scheme prescribed above will result in exactly one route update from PE2 for I1-M2 MAC-IP route with a sequence number 6.</t>
        </section>

        <section>
          <name>IP move to a Multihomed PE</name>
          <t>Consider the following scenario:</t>
          <ol>
            <li>PE2 and PE3 are Multihoming PEs sharing an Ethernet Segment ES1. PE1 is a standalone PE.</li>
            <li>IP I1 behind PE1 associated with MAC M1. The MAC-IP route for I1-M1 advertised by PE1 has a sequence number 5.</li>
            <li>IPs I2-I10 are behind ES1, each associated with MAC M2. The MAC-IP route for I2-M2 through I10-M2 are at sequence number 0, and are advertised by both PE2 and PE3</li>
          </ol>
          <t>I1 moves to be behind ES1, and is now associated with MAC M2.</t>
          <t><xref target="RFC9721"/> scheme: The sequence number recomputation would result in the MAC M2's sequence number to be picked as 6, and this would result in route update for all the routes associated with MAC M2 from both PE2 and PE3, resulting in a total of at least 20 route updates</t>
          <t>Route Updates with mobility scheme prescribed above</t>
          <t>When MAC route is not advertised by PEs when MAC-IP is present:</t>
          <ol>
            <li>Assuming PE2 learns the binding I1-M2, it computes sequence number 6 for the MAC-IP route for I1-M2 and advertises the route</li>
            <li>PE3 receives the Peer Sync Local MAC-IP route update, and starts advertising MAC-IP route for I1-M2 with sequence number 6</li>
          </ol>
          <t>Note that there's no change in either the MAC-only route's sequence number nor a change in the MAC-IP route's sequence number for IPs I2 through I10. There's exactly two updates that are required to conform to the scheme.</t>
        </section>
      </section>
    </section>

    <section>
      <name>Upgrade Scenario</name>
      <section>
        <name>Upgrading a network with PEs with mobility procedures based on RFC7432</name>
        <t>Similar to the extended mobility procedures defined in <xref target="RFC9721"/>, the procedures defined in this draft are not backwards compatible with the procedures defined in <xref target="RFC7432"/>. An IP address moves from a speaker with extended mobility procedures defined in this draft to a speaker with mobility procedures according to <xref target="RFC7432"/>, the resulting MAC-IP route does not trigger a re-compute, and instead acquires the current sequence number of the MAC route.</t>
        <t>If the MAC route's sequence number happens to be lower than the original MAC-IP route, the speaker with extended mobility procedures will be unable to remove the stale MAC-IP route because the remote route has a lower sequence number than the advertised one. This necessitates the entire network to be upgraded to use the extended scheme for correctness. This section discusses procedures to allow a network with <xref target="RFC7432"/> EVPN speakers to upgrade to the extended mobility scheme discussed in this draft.</t>
        <t>Under the recommendations of <xref target="RFC7432"/>, it is left to a specific implementation on how a PE picks a winner when there exists multiple MAC-IP routes for a given IPx. Among the alternatives, a functional implementation that supports IP moves across MACs would pick the latest advertised MAC-IP route as the winner. Under the assumption that an <xref target="RFC7432"/> picks the latest MAC-IP route as the winner, we introduce a new "advertise-only" mode to help upgrade the network to the scheme discussed in this draft.</t>

        <section>
          <name>Advertise-Only Mode</name>
          <t>This is an intermediate mode in which the PE advertises routes by picking sequence numbers according to the scheme discussed in this draft. However, it continues to pick the winning route based on the latest received route criterion ( the <xref target="RFC7432"/> compliant ).</t>
          <t>This operating procedure allows this mode to be compatible with both <xref target="RFC7432"/> mobility procedures, and the extended mobility procedures defined in this draft.</t>
          <t>When a network where all the PEs are operating with <xref target="RFC7432"/> sequence number scheme has to be migrated to use the extended scheme covered in this draft, we first have all the PEs operate in advertise-only mode, prior to moving the PEs to follow the scheme recommended in this draft. This ensures that at no point in time, we have PEs that are not compatible with each other in terms of mobility schemes.</t>
          <t>While the advertise-only mode is discussed for the mobility scheme prescribed in this draft, it does equally apply when one wants to upgrade their network with PEs speaking <xref target="RFC7432"/> mobility scheme to the scheme dictated in <xref target="RFC9721"/>.</t>

          <section>
            <name>Compatibility of Advertise Only mode with RFC7432 mobility procedures</name>
            <t>Consider a (i) PE (PE1) that follows the recommendations of <xref target="RFC7432"/> and picks the winning MAC-IP route based on the latest received route criterion (ii) another PE (PE2) that follows the recommendations of this draft operating in advertise-only mode. Following cases are discussed when these PEs interop with each other:</t>
            <ol>
              <li>IP move from PE1 to PE2 from MAC M1 to M2</li>
            </ol>
            <t>PE2 increments the sequence number of the MAC-IP route, PE1 picks the incoming MAC-IP route as the winner based on recency of the route</t>
            <ol start="2">
              <li>IP move from PE2 to PE1 from MAC M2 to M1</li>
            </ol>
            <t>PE1 may advertise the MAC-IP route for IP-M1 with a lower sequence number, but advertise-only mode in PE2 allows it to pick the incoming MAC-IP route as the winner based on recency disregarding the higher sequence number in locally originated MAC-IP route for IP-M2</t>
          </section>

          <section>
            <name>Compatibility of Advertise Only mode with recommendations of this draft</name>
            <t>Consider a (i) PE (PE1) that follows the recommendations of this draft NOT operating in advertise-only mode, and (ii) another PE (PE2) that follows the recommendations of this draft operating in advertise-only mode. Following cases are discussed when these PEs interop with each other:</t>
            <ol>
              <li>IP move from MAC M1/PE1 to MAC M2/PE2</li>
            </ol>
            <t>PE2 increments the sequence number of the MAC-IP route, PE1 picks the incoming MAC-IP route as the winner based on the higher sequence number criteria</t>
            <ol start="2">
              <li>IP move from MAC M2/PE2 to MAC M1/PE1</li>
            </ol>
            <t>Upon move to PE1, it advertises the MAC-IP route for IP-M1 with a higher sequence number, but advertise-only mode in PE2 picks the incoming MAC-IP route as the winner based solely on recency.</t>
          </section>
        </section>
      </section>
    </section>

    <section>
      <name>Interoperability</name>
      <t>While the previous section describes the upgrade pathway from <xref target="RFC7432"/> mobility scheme to either <xref target="RFC9721"/> scheme or the mobility scheme prescribed in this draft, this section covers the interoperability of PEs operating in <xref target="RFC9721"/> scheme and the mobility scheme in this draft. The mobility schemes are completely compatible with each other.</t>

        <figure>
          <artwork type="ascii-art"><![CDATA[
               +------------------------+
               | Underlay Network Fabric|
               +------------------------+
               +-----+            +-----+
      RFC9721  | PE1 |            | PE2 |  current draft
     compliant +-----+            +-----+    compliant
                  |                  |
                Host1              Host2
               M1 / I1            M2 / I2, I3
               MAC M1: 2          MAC M2: 5
               MAC-IP I1/M1: 2    MAC-IP I2/M2: 3
                                  MAC-IP I3/M2: 7
          ]]></artwork>
        </figure>
        <t>Consider the following:</t>
        <ol>
          <li>PE1 employs the sequence number scheme defined in <xref target="RFC9721"/>.</li>
          <li>PE2 employs the sequence number scheme defined in this draft.</li>
          <li>MAC M1 is initially behind PE1, and is associated with IP I1</li>
          <li>MAC route for M1, and MAC-IP route for M2/I2 is advertised with sequence number 2</li>
          <li>MAC M2 is initially behind PE2, and is associated with IP I2, and IP I3.</li>
          <li>MAC route for M2 is advertised with sequence number 5</li>
          <li>MAC-IP route for M2/I2 is advertised with sequence number 3</li>
          <li>MAC-IP route for M2/I3 is advertised with sequence number 7</li>
        </ol>

        <t>The following interoperability scenarios are considered between PE1, which follows <xref target="RFC9721"/>, and PE2, which follows the procedures in this draft. The scenarios cover both IP moves and MAC moves, including cases where MAC-IP bindings are learned in different orders.</t>

        <section>
          <name>IP I1 moves from PE1 to PE2</name>
          <ol>
            <li>This move triggers a sequence number recompute for IP I1 at PE2</li>
            <li>Since there are no competing remote routes for M2, MAC-IP for I1 simply has to be better than (i) remote MAC-IP route for I1, and (ii) as good as local MAC route for MAC M2. The sequence number so computed is 5.</li>
            <li>PE2 sends exactly one MAC-IP route update for I1/M2 with sequence number 5.</li>
            <li>When PE1 processes this update, it triggers probing and withdrawal for the local I1/M2 binding.</li>
          </ol>
          <t>There is a total of 1 route update from PE2</t>
        </section>

        <section>
          <name>IP I2 moves from PE2 to PE1</name>
          <ol>
            <li>This move triggers a sequence number recompute for MAC M1 at PE1 due to sequence number inheritance.</li>
            <li>PE1 picks a sequence number that <bcp14>MUST</bcp14> be higher than the remote MAC-IP route for I2/M2, and applies it for all the routes associated with MAC M1. It picks sequence number 4.</li>
            <li>PE1 now sends 3 route updates (i) MAC route for M1, (ii) MAC-IP route for M1/I1, and (iii) MAC-IP route for M1/I2 with sequence number 4</li>
            <li>When PE2 receives these route updates, it triggers probing and removal procedures for the local I2/M2 binding.</li>
          </ol>
          <t>There are a total of 3 route updates from PE1</t>
        </section>

        <section>
          <name>Host I1/M1 moves from PE1 to PE2 and I1/M1 is learned later</name>
          <ol>
            <li>This move triggers a sequence number recompute for MAC M1 at PE2</li>
            <li>PE2 picks a sequence number that is higher than all the remote routes for MAC M1, and picks sequence number 3</li>
            <li>PE2 sends a MAC route update for M1 with sequence number 3.</li>
            <li>PE1 processes this update, and triggers a probe for IP1, and triggers removal of IP1/M1 local binding and MAC M1.</li>
            <li>I1/M1 binding is now learned at PE2, and triggers a sequence number recompute for IP I1 at PE2</li>
            <li>I1/M1 ends up picking sequence number 3 because there's no other remote route for either M1 or I1, and the local MAC route for M1 has sequence number 3.</li>
            <li>PE2 advertises MAC-IP route for I1/M1 with sequence number 3</li>
            <li>PE1 processes this update, and has no other actions aside from updating reachability for I1</li>
          </ol>
          <t>All the routes require an update when the MAC moves</t>
        </section>

        <section>
          <name>Host I1/M1 moves from PE1 to PE2 and I1/M1 binding is learned initially</name>
          <t>Regardless of whether IP-MAC binding is learned first or whether the MAC is learned first, the scheme dictates that the sequence number of the MAC is computed first, and then subsequently used in the computation of the sequence number for the MAC-IP route.</t>
          <t>Here are the sequence of events:</t>
          <ol>
            <li>This move triggers a sequence number recomputation for MAC M1 at PE2.</li>
            <li>PE2 picks a sequence number that is higher than all the remote routes for MAC M1, and picks sequence number 3</li>
            <li>I1/M1 ends up picking sequence number 3 because there's no other remote route for either M1 or I1, and the local MAC route for M1 has sequence number 3.</li>
            <li>PE2 sends a MAC-IP route update for I1/M1 with sequence number 3.</li>
            <li>PE1 processes this update, and triggers a probe for IP1, and triggers removal of IP1/M1 local binding and MAC M1.</li>
            <li>MAC M1 binding is now learned at PE2, and there's no change in the MAC sequence number already computed</li>
            <li>PE2 advertises MAC route for M1 with sequence number 3</li>
            <li>PE1 processes this update, and has no other actions</li>
          </ol>
          <t>All the routes require an update when the MAC moves</t>
        </section>

        <section>
          <name>Host I2/M2, and I3/M2 move from PE2 to PE1</name>
          <ol>
            <li>This move triggers a sequence number recompute for MAC M2 at PE1</li>
            <li>PE1 picks a sequence number that <bcp14>MUST</bcp14> be higher than the perceived sequence number for MAC M2 from the remote routes, which would be 7 because MAC-IP route for M2/I2 is at sequence number 7, and picks sequence number 8.</li>
            <li>PE1 advertises MAC route for M2 with sequence number 8</li>
            <li>PE2 processes the update, triggers a probe for IP I2, and triggers the removal of MAC M2, and binding M2/I2</li>
            <li>Regardless of when the bindings I2/M2, and I3/M2 show up at PE1, the sequence number computed would be the same, due to the inheritance of sequence number from the parent MAC route at PE1.</li>
          </ol>
          <t>All the routes require an update when the MAC moves</t>
        </section>
    </section>

    <section anchor="Security">
      <name>Security Considerations</name>
      <t>The security considerations discussed in <xref target="RFC9721"/> apply to this draft as well.</t>
    </section>

    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>

  <back>
    <references>
      <name>References</name>

      <references>
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7432.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9135.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9721.xml"/>
      </references>

      <references>
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.826.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3031.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4861.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7348.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8926.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml"/>
      </references>
    </references>
  </back>
</rfc>
