A Leaf switch that can't find the route to a destination VM is one of the most common tickets in a BGP EVPN VXLAN fabric. This is the check order that finds the fault fastest — confirm the ARP is really there, confirm the route is really generated, confirm it's really learned, and confirm the VPN Target actually lets it in.
By the AtlasCommTech engineering team — 13 years of carrier & enterprise network deployments · Updated July 2026
The route is missing for one of exactly four reasons, and they sit in a strict order — check them in that order and you stop guessing.
On a Leaf switch in a BGP EVPN VXLAN fabric, "the route to that VM isn't there" almost never means the fabric is broken end to end. It means one specific link in a four-link chain didn't complete: the destination Leaf never learned the VM's ARP, that Leaf never turned the ARP into an EVPN route, this Leaf never learned the route the other side advertised, or the route arrived but the VPN Target community never let it cross into the local routing table.
What follows is the fault split this is built on, the display bgp evpn commands to run at each stage, the root causes that show up again and again once you're past the first check, and field-tested answers to the questions that come up around this exact fault.
EVPN route-missing faults split into two halves: the problem is still on the remote Leaf, or the remote Leaf did its job and the problem is in what came back to this one.
Placing the symptom on this split first tells you whether to keep working the remote Leaf or come back and work the local one — which saves a round trip to the wrong device.
Diagram labels are kept in English for engineering clarity.
Checks 1 and 2 below live entirely on the remote Leaf; checks 3 and 4 live entirely on this Leaf. Nothing about IP reachability, VLAN config elsewhere in the fabric, or the physical link belongs on this tree — those are separate faults with their own checks.
Four checks, one command each, and each one tells you whether to keep going or go fix something specific.
If the ARP isn't there, nothing past this point matters yet — the EVPN route can't exist before the ARP does.
<Leaf3> display arp network 192.168.1.11
ARP Entry Types: D - Dynamic, S - Static, I - Interface, O - OpenFlow, RD - Redirect
EXP: Expire-time VLAN:VLAN or Bridge Domain
IP ADDRESS MAC ADDRESS EXP(M) TYPE/VLAN INTERFACE VPN-INSTANCE
----------------------------------------------------------------------------------------
192.168.1.11 0019-9400-000b 1164 D/BD1012254 Eth-Trunk1.4 ABC
----------------------------------------------------------------------------------------
Total:1 Dynamic:1 Static:0 Interface:0 OpenFlow:0
Redirect:0
// ARP present -> move to check 2. Nothing here -> this is an ARP fault, not an EVPN fault.
An ARP entry existing locally doesn't mean it was ever turned into a route the rest of the fabric can see.
<Leaf3> display bgp instance overlay evpn all routing-table | include 192.168.1.11
Local AS number : 64888
BGP Local router ID is 172.31.58.20
Status codes: * - valid, > - best, d - damped, x - best external, a - add path,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
EVPN address family:
Number of Mac Routes: 82864
*> 0:48:0019-9400-000b:32:192.168.1.11 0.0.0.0
// 0.0.0.0 next-hop = this route was generated locally, on this Leaf
The remote Leaf can have advertised a perfectly correct route and this Leaf can still not have it — that's a receiving-side problem, not a generating-side one.
<Leaf3> display bgp instance overlay evpn all routing-table mac-route 0:48:0019-9400-000b:32:192.168.1.11
BGP local router ID : 172.31.58.20
Local AS number : 64888
Total routes of Route Distinguisher(2101:1012254): 1
BGP routing table entry information of 0:48:0019-9400-000b:32:192.168.1.11:
Imported route.
Label information (Received/Applied): NULL/1012254 1010000
From: 0.0.0.0 (0.0.0.0)
Route Duration: 0d07h52m39s
Original nexthop: 172.31.58.138
Ext-Community: RT <0 : 1010000>, RT <0 : 1012254>, Tunnel Type <VxLan>, Router's MAC <0000-5e00-02c9>
Route Type: 2 (MAC Advertisement Route)
Advertised to such 1 peers:
10.124.138.251
// this is the remote Leaf's own advertised copy -- confirm it looks like this before checking the local side
This is where almost every remaining case ends up: the route arrived, and the local VPN Target still doesn't let it into the routing table.
<Leaf1> display current-configuration configuration evpn-instance evpn10
evpn vpn-instance evpn10 bd-mode
route-distinguisher 1:10
vpn-target 1:100 10:1 export-extcommunity
vpn-target 10:1 import-extcommunity
// import-extcommunity must share at least one value with the Ext-Community RT the remote Leaf advertised
Once the four checks above have told you where the problem sits, these five account for most of what's actually wrong.
SYMPTOMdisplay arp network <VM-IP> on the remote Leaf comes back empty, and nothing further down the EVPN chain has anything to work with yet.
CAUSEThe EVPN route for a VM's IP is generated directly from the local ARP/host-route table on the Leaf it's attached to — if the ARP was never learned (host down, wrong VLAN, wrong access interface, gateway ARP suppression misconfigured), there is no source data for an EVPN route to be built from at all.
FIXTreat this as an ARP-learning fault on the remote Leaf first — check the access-side interface, VLAN/BD membership and gateway config there — before touching anything EVPN-related.
SYMPTOMThe ARP is confirmed present on the remote Leaf, but display bgp instance overlay evpn all routing-table | include <VM-IP> comes back with nothing.
CAUSEThe MAC/IP route only gets generated if the Vbdif interface for that VM's BD is correctly bound to the right VPN instance and the corresponding EVPN instance is actually configured — a gateway that's up but bound to the wrong vpn-instance, or an EVPN instance that's missing entirely for that BD, produces a Leaf that has the ARP and simply never turns it into a route.
FIXConfirm display current-configuration interface vbdif <BD-ID> shows the correct ip binding vpn-instance, and that an evpn vpn-instance exists and is bound to that BD.
SYMPTOMThe remote Leaf's own EVPN table shows the route generated and advertised, but the local Leaf's table shows nothing for the same prefix.
CAUSEA BGP route-policy applied on either Leaf, or on a Spine route reflector in between, can filter an EVPN route out of the advertisement without producing any error or log entry — the route simply never crosses to the other side.
FIXCheck for a route-policy configured under the BGP EVPN peer or address-family on every device in the advertisement path, not just the two endpoints, and confirm it isn't matching this specific prefix or RT.
SYMPTOMThe route is confirmed present on the local Leaf's EVPN table (display bgp instance overlay evpn all routing-table mac-route <prefix> shows it) but it never makes it into the actual forwarding/routing table.
CAUSEBGP EVPN accepts a route into the routing table only if at least one of the route's Ext-Community RT values matches one of the local EVPN instance's import-extcommunity values — if the export and import RT sets don't overlap at all, the route is dropped silently with nothing in the logs.
FIXCompare display current-configuration configuration evpn-instance <name>'s import-extcommunity against the Ext-Community RT values the remote side is actually advertising (not the values you assume it's advertising), and adjust the local import list to include a matching value.
SYMPTOMThe local EVPN table shows two entries for the exact same prefix, received from two different Router IDs, with one marked not preferred for peer address, and this gets reported as "the route looks wrong."
CAUSEIn any fabric with more than one Spine acting as a route reflector, the same EVPN route legitimately arrives twice — once reflected by each Spine — and BGP's own best-path selection picks one as active and marks the other as not preferred. This is normal redundant-path behavior, not evidence of a fault.
FIXConfirm both copies carry the same Label information and Ext-Community RT values; if they do, this isn't the cause of the missing-route ticket — keep looking at the VPN Target cross-check instead.
Pulled straight from the field — the ones worth having an answer ready for.
Route Type 2 is a MAC Advertisement Route — the EVPN route type that carries a host's MAC address and, when the host's IP is known, its IP as well. It's what this whole check sequence is chasing. Type 3 (Inclusive Multicast Route) is what builds the L2 tunnel itself, and Type 5 (IP Prefix Route) is what an IRB gateway advertises for a whole subnet — different fault, covered in the VXLAN Tunnel Won't Establish note.
Check ARP first. The EVPN MAC/IP route for a host is generated from that host's locally-learned ARP entry — there's no route to find in the EVPN table if the ARP was never learned on the Leaf the host is attached to, so starting with the EVPN table on a Leaf with no ARP just wastes a step.
Yes, for a single host's dynamic ARP entry — it only clears and re-triggers learning for that one IP, not the whole ARP table. It's a reasonable thing to try once configuration has already been confirmed correct, but it's a workaround for a symptom, not a fix; if the route doesn't come back after one reset, the underlying cause (RT mismatch, route-policy, missing EVPN instance) is still there and needs fixing.
Confirm you're comparing the right pair: the remote side's export-extcommunity (what it actually put on the wire, visible in the received route's Ext-Community field) against this Leaf's import-extcommunity (not its own export value, which is easy to compare against by mistake). A route only needs to share one RT value between those two specific fields, not match every RT the two Leafs have configured.
This note assumes the BGP EVPN neighbor is Established and the tunnel between the two VTEPs already exists — the fabric works, but one specific host's route is missing. If the BGP EVPN peer itself never reaches Established, or the tunnel-building Inclusive Multicast / IP Prefix route never crosses at all, that's a different fault covered in the VXLAN Tunnel Won't Establish note, which starts one layer lower.
When it's every host on one Leaf rather than one host, move the checks up a level: confirm that Leaf's BGP EVPN peer is still Established (not just was), and that its EVPN instance and RT configuration weren't touched in a recent change — a single instance-level misconfiguration affects every host behind it at once, while a single missing ARP only affects that one host.
This note is built around the Huawei CloudEngine-style BGP EVPN distributed-gateway fabric and its display bgp instance overlay evpn / display arp network / display current-configuration configuration evpn-instance commands, plus the field cases behind them. It assumes the BGP EVPN neighbor relationship and the underlying VXLAN tunnel already exist — for tunnel-establishment faults themselves, see the VXLAN Tunnel Won't Establish note. It doesn't cover controller-orchestrated (SDN fabric) automatic route provisioning, where the same symptoms can point back to the controller rather than the device configuration.
Tell us which of the four checks it's failing at — ARP, route generation, route reception, or VPN Target — plus the relevant display bgp evpn / display arp output, and we'll help you read it.