<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 3.2.2) -->


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

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC7432 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7432.xml">
<!ENTITY RFC7623 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7623.xml">
<!ENTITY RFC9135 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9135.xml">
<!ENTITY RFC9136 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9136.xml">
<!ENTITY RFC7209 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7209.xml">
<!ENTITY SELF "[RFCXXXX]">
]>


<rfc ipr="trust200902" docName="draft-sajassi-bess-evpn-l3-optimized-irb-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title>EVPN L3-Optimized IRB</title>

    <author initials="A." surname="Sajassi" fullname="Ali Sajassi">
      <organization>Cisco</organization>
      <address>
        <email>sajassi@cisco.com</email>
      </address>
    </author>
    <author initials="C." surname="Wang" fullname="Chuanfa Wang">
      <organization>Cisco</organization>
      <address>
        <email>chuanwan@cisco.com</email>
      </address>
    </author>
    <author initials="K." surname="Ananthamurthy" fullname="Krishna Ananthamurthy">
      <organization>Cisco</organization>
      <address>
        <email>kriswamy@cisco.com</email>
      </address>
    </author>

    <date year="2023"/>

    <area>Routing</area>
    <workgroup>BESS WorkGroup</workgroup>
    

    <abstract>


<?line 49?>

<t>Ethernet VPN Integrated Routing and Bridging (EVPN-IRB) provides dynamic 
and efficient intra and inter-subnet connectivity among Tenant Systems and 
end devices while maintaining very flexible multihoming capabilities. This 
document describes how EVPN-IRB can be optimized for IP hosts and devices 
such that PE devices only maintain MAC addresses for locally-connected IP hosts, 
thus improving MAC scalability of customer bridges and PE devices significantly. This 
document describes how such optimization is acheived while still supporting host 
moblity which is one of the fundmental features in EVPN and EVPN-IRB. With such 
optimization PE devices perform routing for both intra and inter-subnet traffic
which results in some some caveats that operators and service providers 
need to be fully aware of.</t>



    </abstract>



  </front>

  <middle>


<?line 63?>

<section anchor="introduction"><name>Introduction</name>
<t>Ethernet VPN Integrated Routing and Bridging (EVPN-IRB, <xref target="RFC9135"/> and 
<xref target="RFC9136"/>) provides dynamic 
and efficient intra and inter-subnet connectivity among Tenant Systems and 
end devices while maintaining very flexible multihoming capabilities. This 
document describes how EVPN-IRB can be optimized for IP hosts and devices 
such that PE devices only maintain MAC addresses for locally-connected IP hosts, 
thus improving MAC scalability of customer bridges and PE devices significantly. 
This document
describes how such optimization is acheived while still supporting host moblity 
which is one of the fundmental features in EVPN (<xref target="RFC7432"/>) and 
EVPN-IRB (<xref target="RFC9135"/> and <xref target="RFC9136"/>). With such 
optimization PE devices perform routing for both intra and inter-subnet traffic
which results in some some caveats that operators and service providers 
need to be fully aware of.</t>

<t>In some use cases, it is required to limit the number of MAC 
addresses learned in Customer Edge bridges connected to PE devices. These CE bridges 
can maintain a limited number of MAC addresses and thus when a subnet is 
stretched across one or more Enterprise or SP networks, the CE bridge needs to learn 
all MAC addresses in that stretched subnet for EVPN PE devices operating in 
Bridging mode or IRB mode. EVPN L3-Optimized IRB solution described in 
this document, limits the number of MAC addresses learned by CE bridges, 
connected to their local EVPN PEs, to a single MAC and that is the PE&#39;s anycast MAC address 
associated with the IRB interface for that subnet or VLAN; therefore, 
significantly reducing the number of MAC addresses that are needed to be 
learned by a CE bridge. Of course, this assumes that most hosts aggregated 
by CE bridges are IP hosts.</t>

<t>In some other use cases, it is highly desireable to enable L3-only policy 
and QoS for both intra and inter-subnet traffic of IP hosts when PEs operate in
EVPN IRB mode while maintaining host mobility - i.e., to avoid turning on L2 
features such as L2 QoS, L2 ACL, L2 Policy forwarding, etc. The assumption is that 
by turning L3 features only, the operator can simplify 
the operation of their networks by avoiding enablement of both L2 and L3 features 
simultenously. In other words, with certain assumptions and 
caveats that are described later, PEs running in EVPN IRB mode, can run in 
Routed-only mode to enable L3-only features.</t>

<t>In the <xref target="irb-model"/> below, H1 and H2 are in the same MAC-VRF/subnet and H3 is in a different MAC-VRF/subnet. According to <xref target="RFC9135"/>, the intra-subnet traffic between H1 and H2 is bridged and the inter-subnet traffic between H1 and H3 is routed. With L3-Optimized IRB solution, the intra-subnet traffic between H1 and H2 is routed as well.</t>

<figure title="IRB Model with Distributed IRB Gateways" anchor="irb-model"><artwork><![CDATA[
                                               PE2
                            +---------+   +-------------+
               PE1          |         |   | (Mgw, IPgw) |
         +-------------+    |         |   |  IP-VRF1    |
         | (Mgw, IPgw) |    |         |   |     |       |
         |  IP-VRF1    |    |  MPLS/  |---|  MAC-VRF1   |---H2
         |     |       |----|  VXLAN/ |   +-------------+ (M2/IP2)
    H1---|  MAC-VRF1   |    |  NVGRE  |
(M1/IP1) |             |    |         |        PE3
         +-------------+    |         |   +-------------+
                            |         |---| (Mgw, IPgw) |
                            |         |   |   IP-VRF1   |
                            |         |   |      |      |
                            +---------+   |  MAC-VRF2   |---H3
                                          +-------------+ (M3/IP3)
IRB Gateway Anycast MAC: Mgw
IRB Gateway Anycast IP: IPgw
]]></artwork></figure>

<section anchor="terminology"><name>Terminology</name>

<t><list style="symbols">
  <t>AC: Attachment Circuit</t>
  <t>EVPN: Ethernet VPN</t>
  <t>IRB: Integrated Routing and Bridging</t>
  <t>L2FIB: MAC-VRF Forwarding Table</t>
  <t>L2RIB: MAC-VRF Routing Table</t>
  <t>L3FIB: IP-VRF Forwarding Table</t>
  <t>L3RIB: IP-VRF Routing Table</t>
  <t>MAC-VRF: A Virtual Routing and Forwarding table for Media Access
    Control (MAC) addresses on a PE.</t>
  <t>PE: Provider Edge Device</t>
</list></t>

</section>
<section anchor="caveats-to-consider"><name>Caveats to Consider</name>

<t>EVPN L3-Optimized IRB solution provides MAC scalability benefits for both CE bridges 
and PE devices as mentioned previously. Traffic from a connected host destined to a 
host in the same subnet will be routed at Layer-3 by the PE. This is made possible 
through the proxy ARP action described in details in subsequent sections.</t>

<t>Packets that are forwarded in this manner undergo TTL decrements at the ingress and 
egress PE devices. They also undergo an outer MAC header rewrite such that the source 
address is the PE&#39;s IRB interface MAC address (i.e., overlay gateway anycast MAC address). This results in certain restrictions 
due to the changed forwarding semantics in supporting certain types of traffic and applications.</t>

<t>As a result of the changed forwarding semantics, following network traits are impacted for IP packets forwarded within a subnet:</t>

<t><list style="symbols">
  <t>Multiple TTL decrements within subnet: Applications that depend on TTL=1 to control traffic to remain within subnet will not work with this mode of operation.</t>
  <t>Source MAC Rewrite: Due to the routing semantics, source address is rewritten with the PE&#39;s IRB interface MAC address (i.e., overlay gateway anycast MAC address). This breaks an assumption about the traffic within subnet: If an application depends on SMAC for some identification of a host then it might see a common MAC for many hosts within a subnet.</t>
  <t>Subnet broadcast will not work: In fact any unknown IP traffic is dropped or sent to CPU (glean) to trigger an ARP or install a route.</t>
  <t>Pv6 link local and DaD: Both requires hosts within same subnet a layer2 reachability.</t>
  <t>Duplicate MAC detection within subnet will not work.</t>
  <t>Static ARP configuration, or anything that avoids ARP process will not work.</t>
</list></t>

<t>Certain environments where nature of applications is well known can benefit from this mode of operation by gaining the scale offered by this solution. However, it is expected that the operator or the service provider is fully aware of these caveats and when enabling this functionality, they enable it on all relevant PE devices in order to get the correct and consistent behavior for the subnet on all PE devices across the fabric and the network.</t>

</section>
</section>
<section anchor="solution-overview"><name>Solution Overview</name>

<t>The solution described in this document is called EVPN L3-Optimized IRB 
and achieved by a simple modification to the existing EVPN IRB, i.e., by 
terminating ARP messages received from local hosts which is also referred to as 
Local Proxy ARP. In other words, when a PE is configured to operate in 
L3-Optimized IRB mode for a subnet (i.e., for a VLAN), then the PE acts as 
a router for that subnet by performing one of the following two options for the received 
ARP Request message from an IP host:</t>

<t>Option A: Unconditional ARP response and host discovery via data packet gleaning</t>

<t><list style="numbers">
  <t>It replies unconditionally to the ARP Request message received from 
the locally connected host with its own anycast IRB MAC address as Sender 
MAC address in the ARP Reply message.</t>
  <t>It initiates a glean procedure upon receiving the first data packet with 
a miss IP destination address (DA) lookup by punting the packet to the 
control path (e.g., CPU) and generating a new ARP Request for the missed IP DA.</t>
</list></t>

<t>Option B: Conditional ARP response and host discovery via ARP Request Optimization</t>

<t><list style="numbers">
  <t>It replies to the ARP Request message received from the locally connected host with its own anycast IRB MAC address as Sender MAC address in the ARP Reply message, ONLY IF the target host is known to the PE.</t>
  <t>If the target host is unknown, the PE will NOT respond to the ARP Request immediately, instead, the PE re-originates the ARP request with its own anycast IRB MAC and IP addresses as the Sender MAC and IP addresses to discover the target host. Once the target host is learned via EVPN RT-2 route, the PE can respond to the original ARP Request or the next ARP Request from host if the original one is expired on the PE.</t>
</list></t>

<t>These 2 options both have pros and cons. Option A leverages the regular Local Proxy ARP functionality for ARP response and host discovery, which is simple and straight forward to implement, but it may suffer performance impact due to the first data packet loss caused by data plane gleaning to discover the target host. Option B integrates the Local Proxy ARP with EVPN control plane, which is relatively more complicated to implement, but it solves the first data packet loss issue, which might be critical for some applications.</t>

<t>Option B is the recommended approach which takes advantage of EVPN control plane to solve the first data packet loss issue. Choosing between Option A or Option B is a local manner on the PE which won&#39;t introduce any interoperability problem, since eventually the PE would send an ARP request from its IRB interface to discover the target host, no matter it&#39;s originated in Option A or re-originated in Option B.</t>

<t>The procedure described in this section for ingress PE is that of a typical router executes upon receiving an ARP Request message with one additional enhancement with respect to the processing of a received EVPN MAC/IP route where the receiving PE does not populate MAC-VRF Forwarding Table (L2FIB), but it populates MAC-VRF Routing Table (L2RIB), IP-VRF Routing Tables (L3RIB) and IP-VRF Forwarding Tables (L3FIB). Since there is no L2 forwarding, there is no need for populating L2FIB; however, L2RIB needs to be populated for host mobility procedures because host mobility in EVPN is based on MAC mobility which is tracked in L2RIB.</t>

<t>When a PE operates in EVPN L3-Optimized IRB mode, it advertises a MAC/IP Advertisement route (aka route-type 2) along with a flag (via BGP extended community) to indicate this mode of operation so that the receiving PE adds the received MAC address to the L2RIB table but not the L2FIB. As it will be seen in Interop section, such flag is needed to ensure backward compatibility and seamless interoperability for brownfield deployment. If there is no such flag, then the received MAC address is added to both the L2RIB and the L2FIB.</t>

<t>This &quot;L3-Optimized IRB flag&quot; can be carried in an extended flag field in &quot;EVPN ARP/ND Extended Community&quot; (RFC 9047).</t>

<figure title="EVPN ARP/ND Extended Community" anchor="evpn-arp-nd-ect"><artwork><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Type=0x06     | Sub-Type=0x08 |Flags (1 octet)| Reserved=0    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                       Reserved=0                              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 Flags field:

  0 1 2 3 4 5 6 7
 +-+-+-+-+-+-+-+-+
 |L|     |I| |O|R|
 +-+-+-+-+-+-+-+-+

R: Router flag (Bit 23 of the Extended Community)
O: Override flag (Bit 22 of the Extended Community)
I: Immutable ARP/ND Binding flag (Bit 20 of the Extended Community)

Proposed New flag (TBD)
L: L3-Optimized IRB flag (Bit 16 of the Extended Community)
]]></artwork></figure>

<t>EVPN L3-Optimized IRB shall operate seamlessly with all existing EVPN baseline 
features such as:</t>

<t><list style="symbols">
  <t>All-Active and Single-Active Multi-Homing</t>
  <t>Aliasing</t>
  <t>Proper BUM filtering using DF election</t>
  <t>Host (MAC) Mobility</t>
</list></t>

<t>Furthermore, EVPN L3-Optimized IRB shall support the following services and
deployment scenarios:</t>

<t><list style="symbols">
  <t>EVPN IRB Multicast Service</t>
  <t>EVPN IRB E-Tree Service</t>
  <t>Greenfield deployment where all EVPN PEs operate in L3-Optimized mode</t>
  <t>Brownfield deployment where some EVPN PEs operate in L3-optimized IRB 
mode and the rest operate in EVPN Traditional IRB mode</t>
</list></t>

<section anchor="arp-message-handling"><name>ARP Message Handling</name>
<t>The following subsections describe ingress and egress PEs behaviors in details along 
with the corresponding ladder diagrams for the following:</t>

<t><list style="symbols">
  <t>ARP Request from an IP host</t>
  <t>Host discovery via data packet gleaning (Option A)</t>
  <t>Host discovery via ARP Request Optimization (Option B)</t>
  <t>ARP response from an IP host</t>
  <t>Gratuitous ARP from an IP host</t>
</list></t>

<section anchor="arp-request-from-an-ip-host"><name>ARP Request from an IP Host</name>
<t>The following steps in <xref target="arp-request-host"/> describe in detail the system behavior (procedures on ingress and egress PEs) upon receiving an ARP Request message from an IP host:</t>

<t><list style="numbers">
  <t>Host H1 ARP for host H2 MAC address.</t>
  <t>PE1 receives the ARP Request broadcast message from H1, and it terminates it on its IRB interface associated with that subnet -- i.e., it punts the message to its CPU. The punting should be done for ARP broadcast messages and not unicast messages. If ARP Request message is a unicast message with MAC DA different than that of IRB interface, then this ARP Request message should get bridged and not punted (and if punted then it needs to get forwarded as is). This ensures backward compatibility with traditional-IRB PEs as described in Interoperability section. If H1 MAC address and IP are learned for the first time, then PE1 populates L3RIB and L3FIB with the H1 IP address, L2RIB and L2FIB with H1 MAC address, and ARP table with H1 &lt;MAC, IP&gt; addresses. PE1 also advertises H1 MAC and IP addresses in EVPN MAC/IP route with a flag indicating L3-Optimized IRB operation.</t>
  <t>With Option A, PE1 generates an unconditional ARP Response message with the Anycast MAC address of its IRB interface as the Sender MAC address and sends the message to H1. With Option B, PE1 only responds if the Target host (H2) is known on PE1. If the target host is unknown, PE1 will NOT respond the ARP Request and follow the ARP Request Optimization procedure as defined in the later section.</t>
  <t>When PE2 receives the EVPN MAC/IP route, it populates its L3RIB and L3FIB. Then, it checks for the L3-Optimized-IRB flag, if the flag is set, then it populates the L2RIB (for new MAC address) but not the L2FIB. PE2 does NOT populate its L2FIB because the forwarding is performed in only L3 (packets are IP routed for both inter and intra subnet traffic). The reason L2RIB is populated is for mobility procedure as described before. However, if the flag is not present or is not set, then it populates both the L2RIB and L2FIB as for traditional IRB.</t>
  <t>If PE2 realizes that this is not a new MAC (and IP) address but rather a MAC move because the received sequence number from EVPN MAC/IP route is higher than locally stored sequence number, then after sending an ARP probe to the host and ensuring that the host is no longer present locally, it performs mobility procedure and update the adjacency for that MAC in the L2RIB to point to the remote PE.  It also deletes that MAC from its L2FIB if the MAC was learned locally. If the MAC is not advertised with the L3-Optimized IRB flag, then the adjacency for that MAC is also updated in the L2FIB as for traditional IRB since in such cases Intra-subnet forwarding is performed using bridging (as opposed to routing) to ensure backward compatibility.</t>
</list></t>

<figure title="ARP Request from an IP Host" anchor="arp-request-host"><artwork><![CDATA[
H1             PE1           RR           PE2         PE3      H2
| ARP REQ(BC)   |            |             |           |
|-------------->| RT-2(H1)   |             |           |
|               |----------->| RT-2(H1)    |           |
|               |            |------------>|           |
|               |            |------------------------>|
| ARP REP (UC)  |            |             |           |
|<--------------|            |             |           |
(IP2:Mgw)
ARP REQ (BC): Broadcast ARP REQUEST
ARP REP (UC): Unicast ARP REPLY
]]></artwork></figure>

</section>
<section anchor="host-discovery-via-data-packet-gleaning-option-a"><name>Host discovery via data packet gleaning (Option A)</name>
<t>The following steps in <xref target="first-data-packet"/> describe in detail the system behavior (procedures on ingress and egress PEs) upon receiving the first data packet from an IP host destined to another IP host with a miss IP destination lookup:</t>

<t><list style="numbers">
  <t>Host H1 sends its first data packet destined to host H2 with DMAC of Anycast-IRB-Interface MAC address.</t>
  <t>PE1 does route lookup. If host H2&#39;s IP address is known to PE1, then PE1 forwards the packet accordingly.</t>
  <t>If host H2&#39;s IP address is unknown to PE1 thus resulting in a lookup miss, then PE1 performs the longest-match prefix lookup for H2&#39;s IP address which results in glean adjacency for that prefix and the packet is punted to the CPU.</t>
  <t>PE1&#39;s CPU for glean adjacency, initiates ARP procedure by generating an ARP Request message with its own Anycast IRB MAC and IP addresses as Sender MAC and IP addresses.</t>
  <t>PE1 sends its ARP Request message over all the local interfaces for that bridge domain (BD), over its virtual PW interfaces (if any), and over its core-facing interface. Since the glean packet is received from a local interface, PE1 uses source-interface filtering to ensure that the ARP request packet is not sent back over the same interface from which it received the data packet.</t>
  <t>When remote PEs (PE2 and PE3) receive this ARP Request message, they forward it over their physical or virtual (PW) interfaces. The ARP Request message is not punted to the CPU -- i.e., &quot;punt&quot; action is enabled on access interfaces (physical or virtual) but not on core-facing interface.</t>
</list></t>

<figure title="Host discovery via data packet gleaning (Option A)" anchor="first-data-packet"><artwork><![CDATA[
H1             PE1          RR             PE2          PE3      H2
| DATA (to H2)  |                          |             |       |
|==============>| H2 known, Routing        | (DATA to H2)|       |
| (IP2:Mgw)     |=========================>|====================>|
|               |                          |             |       |
|               | H2 unknown, ARP REQ (BC) |             |       |
|               |------------------------->|-------------------->|
|               |--------------------------------------->|-->    |
|    ARP REQ(BC)|                          |             |       |
|      <--------|                          |             |       |
ARP REQ (BC): Broadcast ARP REQUEST
ARP REP (UC): Unicast ARP REPLY
]]></artwork></figure>

</section>
<section anchor="host-discovery-via-arp-request-optimization-option-b"><name>Host discovery via ARP Request Optimization (Option B)</name>
<t>The following steps in <xref target="arp-request-optimization"/> describe in detail the system behavior (procedures on ingress and egress PEs) of host discovery via ARP Request Re-Origination if the target host is unknown to the ingress PE:</t>

<t><list style="numbers">
  <t>Since the target host (H2) is unknown to PE1, PE1 re-originates an ARP Request message with its own Anycast IRB MAC and IP addresses as Sender MAC and IP addresses and H2 as the Target IP Address.</t>
  <t>PE1 sends its ARP Request message over all the local interfaces for that bridge domain (BD), over its virtual PW interfaces (if any), and over its L2-stretch (core-facing) interface. Since the original ARP Request packet is received from a local physical interface, PE1 uses source-interface filtering to ensure that the Re-originated ARP request packet is not sent back over the same interface.</t>
  <t>When remote PEs (PE2 and PE3) receive this ARP Request message, they forward it over their physical or virtual (PW) interfaces. The ARP Request message is not punted to the CPU -- i.e., &quot;punt&quot; action is enabled on access interfaces (physical or virtual) but not on L2-stretch interface.</t>
</list></t>

<figure title="Host discovery via ARP Request Optimization (Option B)" anchor="arp-request-optimization"><artwork><![CDATA[
H1             PE1          RR             PE2          PE3      H2
| ARP REQ(BC)   |                          |             |       |
|-------------->|                          |             |       |
|               | H2 unknown, ARP REQ (BC) |             |       |
|               |------------------------->|-------------------->|
|               |--------------------------------------->|-->    |
|    ARP REQ(BC)|                          |             |       |
|      <--------|                          |             |       |
ARP REQ (BC): Broadcast ARP REQUEST
ARP REP (UC): Unicast ARP REPLY
]]></artwork></figure>

</section>
<section anchor="arp-response-from-an-ip-host"><name>ARP Response from an IP host</name>
<t>The following steps in <xref target="arp-response-host"/> describe in detail the system behavior (procedures on ingress and egress PEs) upon receiving the ARP Response message from the remote host:</t>

<t><list style="numbers">
  <t>Host H2 sends its ARP Response message with Anycast-IRB-MAC and Anycast-IRB-IP addresses as its target addresses.</t>
  <t>PE2 receives this message and if H2&#39;s MAC and IP addresses are new, it populates its ARP cache table, its MAC &amp; IP FIB tables, and its MAC &amp; IP RIB tables. Next, it sends the corresponding EVPN MAC/IP Advertisement route along with a flag indicating L3-Optimized IRB mode.</t>
  <t>When PE1 receives the EVPN MAC/IP route, it populates its L3RIB and L3FIB. Then, it checks for the L3-Optimized-IRB flag, if the flag is set, then it populates the L2RIB (for new MAC address) but not the L2FIB. However, if the flag is not present or is not set, then it populates both the L2RIB and L2FIB as for traditional IRB. PE1 does NOT populate its L2FIB because the forwarding is performed in only L3 (packets are IP routed for both inter and intra subnet traffic). The reason L2RIB is populated is for mobility procedure as described before.</t>
</list></t>

<figure title="ARP Response from an IP host" anchor="arp-response-host"><artwork><![CDATA[
H1             PE1          RR             PE2          PE3      H2
|               |            |              | ARP REP(UC)|        |
|               |            |              |<--------------------|
|               |            | RT-2 (H2)    |            |        |
|               |            |<-------------|            |        |
|               | RT-2 (H2)  | RT-2 (H2)    |            |        |
|               |<-----------|-------------------------->|        |
]]></artwork></figure>
<t>Note: For Option B, once H2 is learned by PE1 via EVPN RT-2, PE1 may respond to the original ARP Request if it&#39;s not expired or respond to the next ARP request from H1.</t>

</section>
<section anchor="gratuitous-arp-from-an-ip-host"><name>Gratuitous ARP from an IP host</name>
<t>The following steps in <xref target="gratuitous-arp-host"/> describe in detail the system behavior (procedures on ingress and egress PEs) upon receiving the Gratuitous ARP message from an IP host:</t>

<t><list style="numbers">
  <t>Host H1 sends a Gratuitous ARP broadcast message with target IP address of its own.</t>
  <t>PE1 receives this message and if H1&#39;s MAC and IP addresses are new, it populates its ARP cache table as well as MAC and IP RIB and FIB tables accordingly and sends the corresponding EVPN MAC/IP Advertisement route along with a flag indicating L3-Optimized IRB mode. PE1 does not generate a Gratuitous ARP message with its Anycast-IRB addresses as sender&#39;s addresses.</t>
  <t>When PE2 receives the EVPN MAC/IP route, it populates its L3RIB and L3FIB. Then, it checks for the L3-Optimized-IRB flag, if the flag is set, then it populates the L2RIB (for new MAC address) but not the L2FIB. However, if the flag is not present or is not set, then it populates both the L2RIB and L2FIB as for traditional IRB. PE2 does NOT populate its L2FIB because the forwarding is performed in only L3 (packets are IP routed for both inter and intra subnet traffic). The reason L2RIB is populated is for mobility procedure as described before.</t>
</list></t>

<figure title="Gratuitous ARP from an IP host" anchor="gratuitous-arp-host"><artwork><![CDATA[
H1             PE1           RR           PE2         PE3      H2
| GARP (BC)     |            |             |           |    
|-------------->| RT-2(H1)   |             |           |
|               |----------->| RT-2(H1)    |           |
|               |            |------------>|           |
|               |            |------------------------>|
GARP (BC): Broadcast GARP
]]></artwork></figure>

</section>
</section>
</section>
<section anchor="deployment-scenarios"><name>Deployment Scenarios</name>

<t>When considering deployment scenarios, both greenfield and brownfield must be considered. For greenfield scenarios where all PEs are L3-Optimized-IRB PEs, procedures of <xref target="arp-message-handling"/> are applicable as-is and the control-plane and data-plane flows are as depicted in that section. However, for brownfield deployment, there are some changes to control-plane and data-plane flows as described below and the following subsections concentrate on data-plane and control-plane flows for brownfield deployments.</t>

<t>EVPN IRB has been in deployment for many years; therefore, it is important to ensure backward compatibility with existing EVPN IRB PEs when L3-Optimized IRB is introduced into an existing network. Such backward compatibility and seamless interoperability with existing EVPN IRB, ensures gradual migration of PE devices in an EVPN IRB network with this feature.</t>

<t>As it will be seen, L3-Optimized IRB PEs can easily interoperate with existing IRB PEs as-is. In otherwords, L3-Optimized IRB PEs can be inserted into an existing network with traditional EVPN PEs (either IRB or just L2), and they can work seamlessly without the need for any gateway devices. Since no gateway devices are required for such interoperabilty, this can facilitate brownfield deployment of L3-Optimized-IRB PEs.</t>

<t>In traditional EVPN IRB, the intra-subnet traffic (traffic within the same subnet) is forwarded using bridging, whereas, in L3-Optimized IRB, the intra-subnet traffic is forwarded using routing. The following section describes in terms of control and data plane operations how this inter-operability works when for a given subnet some PE devices operate in L3-Optimized IRB while some other PE devices operate in traditional IRB.</t>

<section anchor="control-plane-operation"><name>Control-Plane Operation</name>

<t>As shown in the following figures, no changes to the control-plane are needed for this inter-operability. The traditional-IRB PEs operate as before and the new L3-Optimized-IRB PEs do not require any new functionality on top of what has already been described in the previous sections. The following just list some of the salient points for such interoperability.</t>

<t><list style="numbers">
  <t>ARP Request broadcast messages arriving from ACs (either physical or virtual) get punted to the CPU. The ARP Request broadcast messages from core-facing interface do not get punted to the CPU.</t>
  <t>ARP Request unicast messages should not get punted to the CPU. If these messages get punted to the CPU, then the CPU should send them back to get bridged based on their MAC DA addresses.</t>
  <t>When ARP Response message is generated by the CPU unconditionally, the sender MAC address is that of Anycast-IRB MAC address and the sender IP address is that of target IP address in ARP Request.</t>
  <t>When ARP Request message is generated by the CPU as the result of glean procedure or re-originatation, both sender MAC and IP addresses are that of Anycast-IRB interface.</t>
</list></t>

</section>
<section anchor="data-plane-operation"><name>Data-Plane Operation</name>

<t>Intra-subnet traffic (traffic within a subnet or VLAN) among L3-Optimized-IRB PEs gets always routed and among traditional-IRB PEs gets always bridged. However, for such intra-subnet traffic exchanged between a L3-Optimized IRB PE and a traditional-IRB PE, majority of time it gets bridged except for the following case as listed below in <xref target="traffic-oirb-trad"/> and described in detail in interoperability section later.</t>

<t><list style="numbers">
  <t>Traffic is in the direction of Optimized-IRB PE toward traditional-IRB PE</t>
  <t>Traditional-IRB PE operates with ARP suppression enabled; where it has MAC &amp; IP addresses of a remote host in its ARP table so that when a local host sends an ARP Request for this remote host, the traditional-IRB PE can respond locally to this local host.</t>
</list></t>

<t>Under the above condition, the Optimized-IRB PE, attached to the remote host (H1), never receives and never forwards an ARP Request destined to the remote host and thus the remote host uses Anycast-IRB MAC address of the Optimized-IRB PE to send traffic to the local host (H2). And since Anycast-IRB MAC address is used, the traffic gets routed in that direction.</t>

<figure title="Traffic between Optimized and Traditional IRB PE" anchor="traffic-oirb-trad"><artwork><![CDATA[
H1             PE1          RR             PE2          PE3      H2
|         (Optimized IRB)             (Traditional IRB)           |
|               |                           |                     |
| DATA (to H1)  |        Bridging           | DATA (to H1)        |
|<==============|<==========================|<====================|
| DATA (to H2)  |    Bridging/Routing       | DATA (to H2)        |
|==============>|==========================>|====================>|
]]></artwork></figure>

</section>
<section anchor="interoperability-scenarios"><name>Interoperability Scenarios</name>

<t>When considering backward compatibility with EVPN IRB PEs, it is important to consider such interoperability with both traditional IRB PEs with and without ARP suppression since there can be deployments with such mixed of PEs. Since traditional IRB PEs can easily interoperate with IRB PEs with ARP suppression feature, when L3-Optimized-IRB PEs get inserted in such networks, these PEs must seamlessly interoperate with existing IRB PEs with and without ARP suppression feature.</t>

<t>Since L3-Optimized IRB support both routing and bridging for intra-subnet traffic and since traditional IRB PEs support only bridging for intra-subnet traffic, the traffic exchange from a traditional-IRB PE (with and without ARP suppression) to a L3-Optimized-IRB PE gets always settled in bridging mode (i.e., the common denominator forwarding mode). Furthermore, the traffic exchange from a L3-Optimized-IRB PE to a traditional-IRB PE without ARP suppression gets always bridged; whereas, the traffic exchange from a L3-Optimized-IRB PE to a traditional-IRB PE with ARP suppression can get routed if a host that sends an ARP request to its locally connected PE, gets an ARP response back right away because of ARP suppresion feature as shown in the use case for ARP suppression.</t>

<t>The following scenarios describe the interoperability between L3-Optimized-IRB PEs and traditional-IRB PEs. Furthermore, they illustrate when intra-subnet traffic is routed and when it is bridged.</t>

<t><list style="numbers">
  <t>ARP Request Originated by a L3-Optimized-IRB PE</t>
  <t>ARP Request Originated by a Traditional IRB PE</t>
</list></t>

<section anchor="arp-request-received-by-a-traditional-irb-pe"><name>ARP Request received by a Traditional-IRB PE</name>
<t>The following <xref target="arp-request-trad"/> describes the scenario where an ARP Request message is first originated by a host connected to a traditional-IRB PE.</t>

<t><list style="numbers">
  <t>Host 2 sends an ARP Request broadcast message for host H1 MAC address.</t>
  <t>Traditional-IRB PE2 receives the ARP Request broadcast message from H2, and it floods it over its local and core-facing interface. It also learns H2&#39;s MAC address and advertises it in EVPN MAC/IP route.</t>
  <t>PE1 and PE3 receive the ARP Request broadcast message over their core-facing interfaces and subsequently forward it over their local interfaces.</t>
  <t>Host H1 receives this ARP Request message and adds H2 MAC &amp; IP addresses to its ARP table and send an ARP Reply message to H2.</t>
  <t>PE1 receives the ARP Reply from H1 and forwards it to PE2 (via either known unicast or unknown unicast packet). It also learns H1&#39;s MAC address and advertises it in EVPN MAC/IP route.</t>
  <t>Host H2 upon receiving ARP Reply, updates its ARP table with MAC &amp; IP addresses of H1.</t>
  <t>Since both PE2 and PE1 have adjacency information for H1 and H2 MAC addresses, data traffic between H1 to H2 gets bridged via PE1 and PE2.</t>
</list></t>

<figure title="ARP Request received by a Traditional-IRB PE" anchor="arp-request-trad"><artwork><![CDATA[
H1             PE1          RR             PE2         PE3        H2
|         (Optimized IRB)    |        (Traditional IRB) |         |
|               |            |              |           |         |
|               |            |              |ARP REQ(H1)|         |
|<--------------|<--------------------------|<--------------------|
|(IP2:M2)       | ARP REP    |              |---------->|-->      |
| ARP REP (H1)  |(BUM or Uni)|              |           |         |
|-------------->|-------------------------->|-------------------->|
|               |            |              |           | (IP1:M1)|
|               |-------------------------------------->|-->      |
|               |            | RT-2 (H2)    |           |         |
|               |            |<-------------|           |         |
|               | RT-2 (H2)  | RT-2 (H2)    |           |         |
|               |<-----------|------------------------->|         |
|               | RT-2 (H1)  |              |           |         |
|               |----------->|              |           |         |
|               |            | RT-2 (H1)    |           |         |
|               |            |------------->|           |         |
|               |            |------------------------->|         |
| DATA (to H1)  |        Bridging           | DATA (to H1)        |
|<==============|<==========================|<====================|
| DATA (to H2)  |        Bridging           | DATA (to H2)        |
|==============>|==========================>|====================>|
]]></artwork></figure>

</section>
<section anchor="arp-request-received-by-a-l3-optimized-irb-pe"><name>ARP Request received by a L3-Optimized-IRB PE</name>
<t>The following <xref target="arp-request-oirb"/> describes the scenario where an ARP Request message is first originated by a host connected to a L3-Optimized-IRB PE with Option A (Unconditional ARP Response).</t>

<t><list style="numbers">
  <t>Host H1 ARP for host H2 MAC address.</t>
  <t>L3-Optimized-IRB PE1 receives the ARP Request broadcast message from H1, and it terminates it on its IRB interface associated with that subnet and generates an unconditional ARP Response message with the anycast MAC address of its IRB interface as the sender MAC address and target IP address in ARP Request as the sender IP address.</t>
  <t>L3-Optimized-IRB PE1 adds MAC &amp; IP addresses of H1 to its ARP table, adds H1&#39;s MAC to its L2 FIB and RIB table, and adds H1&#39;s IP to its L3 FIB and RIB tables. It also advertises an EVPN MAC/IP route for H1&#39;s MAC &amp; IP addresses.</t>
  <t>Host H1 receives this ARP response and adds H2 IP address along with anycast-IRB MAC address of PE1 to its ARP table.</t>
  <t>When the PE1 receives the first data packet generated by H1 destined to H2, it performs an IP lookup for H2 which triggers the glean procedure and as the result PE1 generates an ARP Request message with its anycast-IRB MAC and IP addresses as sender MAC and IP and this message is forwarded in data-plane and it is received by H2.</t>
  <t>H2, upon receiving this ARP Request, sends a reply to the anycast-IRB address which is received and terminated by the PE2. PE2 generates an EVPN MAC/IP Advertisement route for H2 MAC and IP addresses. When PE1 receives this advertisement, it adds H2 MAC and IP addresses to its RIBs and FIBs.</t>
  <t>The next time H1 sends data traffic to H2, because H2 IP address is resolved in PE1, the packet is routed via PE1 and PE2 to H2.</t>
  <t>When H2 wants to send data traffic to H1, it first sends an ARP Request for H1 which gets forwarded all the way to H1 as BUM traffic via PE2 and PE1.</t>
  <t>Upon receiving this ARP Request message, H1 updates its ARP table to associate H2 MAC address (M2) with H2 IP address (IP2). This update overrides the previous association. H1 sends an ARP response which gets bridged by PE1 and PE2 all the way to H2.</t>
  <t>All subsequent data traffic between H1 to H2 gets bridged via PE1 and PE2.</t>
</list></t>

<figure title="ARP Request received by a L3-Optimized-IRB PE" anchor="arp-request-oirb"><artwork><![CDATA[
H1             PE1          RR             PE2          PE3      H2
|         (Optimized IRB)    |        (Traditional IRB)  |        |
|               |            |              |            |        |
| ARP REQ (H2)  |            |              |            |        |
|-------------->|            |              |            |        |
| ARP REP (H2)  |            |              |            |        |
|<--------------|            |              |            |        |
| (IP2:Mgw)     | RT-2 (H1)  |              |            |        |
|               |----------->|              |            |        |
|               |            | RT-2 (H1)    |            |        |
|               |            |------------->|            |        |
|               |            |-------------------------->|        |
|               |            |              |            |        |    
| DATA (to H2)  |            |              |            |        |
|==============>|            |              |            |        |
|               |ARP REQ(H2) |              |            |        |
|               |-------------------------->|-------------------->|
|               |(IPgw:Mgw)  |              |            |        |
|               |--------------------------------------->|-->     |
|               |            |              | ARP REP (H2)        |
|               |            |              |<--------------------|
|               |            | RT-2 (H2)    |            |        |
|               |            |<-------------|            |        |
|               |<-----------|-------------------------->|        |
| DATA (to H2)  |        Routing            | DATA (to H2)        |
|==============>|==========================>|====================>|
|               |                           | ARP REQ (H1)        |
|<--------------|<--------------------------|<--------------------|
| (IP2:M2)      |                           |            |        |
| ARP REP (H1)  |                           |            |        |
|-------------->|-------------------------->|-------------------->|
|               |                           |            |(IP1:M1)|
| DATA (to H1)  |        Bridging           | DATA(to H1)|        |
|<==============|<==========================|<====================|
| DATA (to H2)  |        Bridging           | DATA(to H1)|        |
|==============>|==========================>|====================>|
]]></artwork></figure>
<t>Note: The above procedure is described with Option A, but the end result will be the same for both options, since the only difference is whether the target host discovery is triggered from data packet gleaning or ARP Request Re-Origination.</t>

<t>Note: Due to the propagation delay of RT-2, the ARP messages might be exchanged earlier between the 2 hosts behind L3-Optimized IRB PE and Traditional IRB PE, which would end up the situation that the traffic between the 2 hosts get bridged only.</t>

</section>
</section>
</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>
<t>The authors would like to thank Neeraj Malhotra, Mei Zhang, Lukas Krattiger, Ramchander Nadipally, and Rahul Kachalia for their reviews of this document and feedbacks.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>
<t>All the security considerations in <xref target="RFC7432"/> and <xref target="RFC7623"/> apply directly to this document because this document leverages the control and data plane procedures described in those documents.</t>

<t>This document does not introduce any new security considerations beyond that of <xref target="RFC7432"/> and <xref target="RFC7623"/> because advertisements and
processing of Ethernet Segment route for vES in this document follows that of physical ES in those RFCs.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>
<t>This document requests no actions from IANA.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC2119;
&RFC7432;
&RFC7623;
&RFC9135;
&RFC9136;


    </references>

    <references title='Informative References'>

&RFC7209;


    </references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

