<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-fu-bess-evpn-umr-application-00"
     ipr="trust200902">
  <front>
    <title abbrev="UMR application in Ethernet VPN(EVPN)">UMR application in
    Ethernet VPN(EVPN)</title>

    <author fullname="Zheng Fu" initials="Z." surname="Fu">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>No.101 Software Avenue, Yuhuatai District</street>

          <city>Nanjing</city>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>fuzheng7@huawei.com</email>
      </address>
    </author>

    <author fullname="Tong Zhu" initials="T." surname="Zhu">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>No.101 Software Avenue, Yuhuatai District.</street>

          <city>Nanjing</city>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>zhu.tong@huawei.com</email>
      </address>
    </author>

    <author fullname="Haibo Wang" initials="H." surname="Wang">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Bld., No.156 Beiqing Rd.</street>

          <city>Beijing</city>

          <code>100095</code>

          <country>China</country>
        </postal>

        <email>rainsword.wang@huawei.com</email>
      </address>
    </author>

    <date day="8" month="March" year="2023"/>

    <abstract>
      <t>This document describes an application scenario that how unknown
      MAC-route(UMR) is used in the EVPN network. In particular, this document
      describes how MAC address route and UMR route are advertised on DC's GW
      or NVE. This document also describes the soloution that MAC mobility
      issue due to the lack of advertisement of specific MAC routes. However,
      some incremental work is required, which will be covered in a separate
      document.</t>
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in [RFC2119].</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>In DCI scenario, if multiple DCs are interconnected into a single
      EVI, each DC will have to import all of the MAC addresses from each of
      the other DCs. <xref target="RFC9014"/>. In addition, in user
      authentication scenario, a large number of users send authentication
      packets to the aggregation device through the access device, as a
      result, there are large scale of MAC addresses on RRs and aggregation
      devices. This document describes the use of the Unknown MAC-route(UMR).
      The solution advertises an unknown MAC-route (UMR) route<xref
      target="RFC9014"> </xref> instead of advertising all specific MAC routes
      and reducing the MAC scale. However, since the solution only sends UMR
      routes instead of advertising specific MAC routes, the MAC mobility
      function of EVPN cannot take effect normally. In particular, this
      document describes a MAC mobility procedure in UMR scenario.</t>
    </section>

    <section title="Terminology">
      <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 BCP14
      [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as
      shown here.</t>

      <t>"GW": Gateway or Data Center Gateway</t>

      <t>"DC": Data Center</t>

      <t>"NVE": Network Virtualization Edge</t>

      <t>"UMR": Unknown MAC Route</t>

      <t>"I-ES and I-ESI": Interconnect Ethernet Segment and Interconnect
      Ethernet Segment Identifier. An I-ES is defined on the GWs for
      multihoming to/from the WAN.</t>
    </section>

    <section title="The procedure of UMR">
      <t><figure>
          <artwork align="center"><![CDATA[              +----------+                
              |          |                
              |    GW    |                
              |          |                
              +----,-----+                
                  /   `.                  
                .'      ',                
               .`         .               
              /            `,             
            EVPN           EVPN           
           ,'                 `.          
          /                     ',        
         `                        .       
       ,'                          `,     
   +------+                      +---'--+ 
   |      |                      |      | 
   |  NVE1|                      |  NVE2| 
   |      |                      |      | 
   +------+                      +------+ 
  |---DC1---|                    |--DC2--|

  Figure 1
]]></artwork>
        </figure></t>

      <t>1. All the MAC addresses are learned on NVE1/NVE2 within DC should
      advertised to DC's GW device accrording EVPN MAC/IP routes in the
      control plane.</t>

      <t>2. All the MAC addresses are learned on NVE within DC should
      advertised to the other NVE that in the same DC, so that the NVE to NVE
      that in the same DC communication is always direct and does not go
      through the GW<xref target="RFC7543"/>.</t>

      <t>3. The MAC addresses are learned on NVE should not advertised to the
      other NVE that in the different DC.</t>

      <t>4. The DC's GW advertise UMR route to NVE1/NVE2 instead of
      advertising the specific MAC in order to reduce the device's routes
      pressure. The UMR route is defined in<xref target="RFC7543"/> <xref
      target="RFC9014"/>and is a regular EVPN MAC/IP advertisement route in
      which the MAC address length is set to 48, the MAC address is set to 0,
      and the ESI field is set to DC's GW I-ES.</t>

      <t>5. NVE1/NVE2 need to understand and process the UMR route, send frame
      to GW. Then GW will forward the packet to correct NVE.</t>
    </section>

    <section title="MAC Mobility for UMR">
      <t>As shown above, since GW only sends UMR routes to NVE devices, NVE
      will not import the MAC addresses of NVEs in different DCs. When the MAC
      of DC1 migrates from NVE1 to DC2&rsquo;s NVE2, NVE1 will not perceive
      this migration and keep learning the MAC that has migrated to NVE2. As a
      result, the frame traffic to MAC from GW may go to wrong site.</t>

      <section title="MAC Mobility Issue">
        <t>Step1: The user first goes online from NVE1, NVE1 learns the user's
        MAC1, and advertise EVPN MAC1 route to GW.</t>

        <t>Step2: The GW receives the MAC1 route from NVE1, installs MAC1 to
        the local MAC-VRF table which the next hop of MAC1 is NVE1. Since it
        only sends UMR routes to NVE, it will not send EVPN MAC1 route to
        NVE2.</t>

        <t>Step3: The user migrates to NVE2 and goes online. NVE2 learns the
        user's MAC1 and advertise EVPN MAC1 route to GW.</t>

        <t>Step4: The GW receives the MAC1 route from NVE2, which has the same
        prefix as the MAC1 route from NVE1, as a result, the GW will form load
        balancing MAC-VRF table.</t>

        <t>Step5: As a result, the frame traffic sent to MAC1 via the GW may
        be sent to NVE1 by mistake until MAC1 on NVE1 ages out.</t>
      </section>

      <section title="MAC Mobility Solution">
        <t>In order to solve this mac migration issue, the GW SHOULD advertise
        the MAC route to the NVE when the GW detect the MAC has been migrated.
        There are two scenarios as follows.</t>

        <t>1. One of the scenario:</t>

        <t>Step1: When the GW receives MAC routes that have the same prefix,
        rather than different next hop and different ESI, the following
        conclusion can be drawn, which the MAC has been migrated. At the same
        time, the GW only send UMR route.</t>

        <t>Step2: If MAC route from NVE1 is selected as the best, the GW
        advertise MAC1 route to NVE2 with a MAC mobility extended
        community<xref target="RFC7432"/>, that carrying the increased seq
        number.</t>

        <t>Step3: The NVE2 receives the MAC1 route with MAC mobility extended
        community, and will select the MAC1 from the GW as the best, and
        withdraw the MAC1 originally sent to the GW.</t>

        <t>Step4: The traffic from user will re-triggers NVE2 to learn the
        local MAC1, which resulting in migration, and the NVE2 will advertise
        MAC1 route with MAC mobility extended community that carrying the seq
        + 1.</t>

        <t>Step5: When the GW receives the MAC1 route with MAC mobility
        extended community that carrying seq + 1, the GW will select the MAC1
        from NVE2 as best, and send MAC1 route with seq + 1 to NVE1.</t>

        <t>Step6: After receiving the MAC1 route with MAC mobility extended
        community that carrying seq + 1, the NVE1 will select the MAC1 from
        the GW as the best, and withdraw the MAC1 originally sent to the
        GW.</t>

        <t>2. The other scenario:</t>

        <t>Step1: When the GW receives MAC routes that have the same prefix,
        rather than different next hop and different ESI, the following
        conclusion can be drawn, which the MAC has been migrated. At the same
        time, the GW only send UMR route.</t>

        <t>Step2: If MAC route from NVE2 is selected as the best, the GW
        advertise MAC1 route to NVE1 with a MAC mobility extended community,
        that carrying the increased seq number.</t>

        <t>Step3: After receiving the MAC1 route with MAC mobility extended
        community that carrying seq + 1, the NVE1 will select the MAC1 from
        the GW as the best, and withdraw the MAC1 originally sent to the
        GW.</t>
      </section>
    </section>

    <section title="E-tree for UMR">
      <t>In addition, the draft also consider to the E-tree function in the
      UMR solution. The procedures would be detailed in a future revision.</t>
    </section>

    <section title="IANA considerations">
      <t>TBD</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>TBD</t>
    </section>
  </middle>

  <back>
    <references title="References">
      <?rfc ?>

      <?rfc include="reference.RFC.7432"?>

      <?rfc include="reference.RFC.7543"
?>

      <?rfc include="reference.RFC.9014"?>
    </references>
  </back>
</rfc>
