Accueil / Notes techniques / Route EVPN non apprise

Route EVPN non apprise : diagnostic BGP EVPN étape par étape

Un switch Leaf incapable de trouver la route vers une VM de destination est l'un des tickets les plus courants dans un fabric VXLAN BGP EVPN. Voici l'ordre de vérification qui trouve la panne le plus vite — confirmer que l'ARP est bien là, confirmer que la route est bien générée, confirmer qu'elle est bien apprise, et confirmer que le VPN Target la laisse bien passer.

Par Yuwen Zhang (Atlas), fondateur d'AtlasCommTech — 13 ans de déploiements de réseaux opérateurs et d'entreprise · Mis à jour en juillet 2026

Quatre raisons, un ordre strict

La route manque pour l'une de ces quatre raisons exactement, et elles suivent un ordre strict — vérifiez-les dans cet ordre et vous arrêtez de deviner.

Sur un switch Leaf d'un fabric VXLAN BGP EVPN, « la route vers cette VM n'existe pas » ne signifie presque jamais que le fabric est cassé de bout en bout. Cela signifie qu'un maillon précis d'une chaîne à quatre maillons ne s'est pas achevé : le Leaf de destination n'a jamais appris l'ARP de la VM, ce Leaf n'a jamais transformé l'ARP en route EVPN, ce Leaf-ci n'a jamais appris la route annoncée par l'autre côté, ou la route est arrivée mais la communauté VPN Target ne l'a jamais laissée entrer dans la table de routage locale.

Voici la répartition des pannes sur laquelle ce texte s'appuie, les commandes display bgp evpn à exécuter à chaque étape, les causes qui reviennent sans cesse une fois passée la première vérification, et des réponses éprouvées sur le terrain aux questions qui reviennent autour de cette panne précise.

Lisez la répartition avant de toucher à la configuration

Les pannes de route EVPN manquante se répartissent en deux moitiés : le problème est encore sur le Leaf distant, ou le Leaf distant a fait son travail et le problème est dans ce qui est revenu vers celui-ci.

Placer d'abord le symptôme dans cette répartition indique s'il faut continuer à travailler sur le Leaf distant ou revenir travailler sur le local — ce qui évite un aller-retour vers le mauvais équipement.

EVPN Route Missing on Leaf Problem Is Still on the Remote Leaf Problem Is in What Came Back to This Leaf Check 1 · ARP not learned for the VMno ARP entry on remote Leaf -- not an EVPN fault yet Check 2 · EVPN route not generatedVbdif gateway / EVPN instance / RT config / route-policy Check 3 · Route not learned locallynot advertised by remote peer, or filtered in transit Check 4 · VPN Target doesn't crossimport/export extcommunity mismatch -- silently dropped

Les légendes du schéma restent en anglais pour la clarté technique.

Les vérifications 1 et 2 ci-dessous se situent entièrement sur le Leaf distant ; les vérifications 3 et 4 se situent entièrement sur ce Leaf-ci. Rien concernant la joignabilité IP, la configuration VLAN ailleurs dans le fabric, ou le lien physique n'appartient à cet arbre — ce sont des pannes distinctes avec leurs propres vérifications.

Parcourir chaque vérification

Quatre vérifications, une commande chacune, et chacune indique s'il faut continuer ou aller corriger quelque chose de précis.

Vérification 1 — Confirmer que le Leaf distant a bien appris l'ARP de la VM

Si l'ARP n'est pas là, rien au-delà de ce point n'a encore d'importance — la route EVPN ne peut pas exister avant l'ARP.

  1. Identifiez d'abord sur quel Leaf la VM de destination se trouve réellement (le « Leaf distant ») — via la plateforme de gestion, le contrôleur, la table de routage du Border Leaf, ou l'inventaire des équipements.
  2. Exécutez display arp network <IP-VM> sur le Leaf distant. Une entrée ARP apprise affiche l'IP, le MAC, le VLAN/BD et l'interface d'accès de la VM.
  3. Si l'ARP n'est absolument pas là, il s'agit d'une panne d'apprentissage ARP distincte, pas d'une panne EVPN — traquez-la d'abord, puis revenez à la vérification 2.
<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.

Vérification 2 — Confirmer que le Leaf distant a bien généré la route EVPN

Une entrée ARP existant localement ne signifie pas qu'elle a été transformée en une route visible par le reste du fabric.

  1. Filtrez la table de routage EVPN du Leaf distant par l'IP de la VM : display bgp instance overlay evpn all routing-table | include <IP-VM>. Un résultat signifie que la route MAC locale a été générée ; le tronçon suivant affiche 0.0.0.0 car la source est locale.
  2. Si rien ne remonte, la route n'a jamais été générée — vérifiez la configuration de la passerelle Vbdif/BDIF pour le sous-réseau de cette VM, la configuration de l'instance EVPN, et si les attributs RT (route-target) du BD et du VPN sont bien définis, ainsi qu'une éventuelle route-policy BGP qui la filtrerait avant même sa création.
  3. Si tout ce qui précède est correct et que la route ne se génère toujours pas, exécutez une fois reset arp dynamic ip <IP-VM> pour forcer un nouvel apprentissage avant d'escalader.
<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

Vérification 3 — Confirmer que ce Leaf a bien appris la route envoyée par le côté distant

Le Leaf distant peut avoir annoncé une route parfaitement correcte et ce Leaf-ci peut quand même ne pas l'avoir — c'est un problème côté réception, pas côté génération.

  1. Sur le Leaf distant, recherchez la route MAC spécifique qu'il a générée : display bgp instance overlay evpn all routing-table mac-route <préfixe>, où <préfixe> est la chaîne 0:48:<mac>:32:<ip> filtrée à la vérification 2. Confirmez son Label information, ses valeurs Ext-Community RT, et la liste Advertised to such N peers.
  2. Répétez la même recherche sur ce Leaf, pour le même préfixe. Si elle n'apparaît pas du tout, soit le Leaf distant ne l'annonce pas à ce pair, soit une route-policy quelque part entre les deux la filtre — vérifiez les deux.
  3. Si ce Leaf a bien la route, notez qu'avec plusieurs Spine agissant comme réflecteurs de route, le même préfixe arrive souvent deux fois, une fois de chaque Spine, et la sélection du meilleur chemin BGP marque l'une d'elles « not preferred for peer address » — c'est attendu, pas une panne.
<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

Vérification 4 — Confirmer que le VPN Target laisse bien passer la route

C'est là que finissent presque tous les cas restants : la route est arrivée, et le VPN Target local ne la laisse toujours pas entrer dans la table de routage.

  1. Sur ce Leaf, comparez les valeurs Ext-Community RT de la route reçue (issues de la recherche locale de la vérification 3) à l'import-extcommunity de l'instance EVPN de ce Leaf : display current-configuration configuration evpn-instance <nom>.
  2. Les deux n'ont besoin que d'une seule valeur correspondante, pas d'une correspondance exacte — mais s'il n'y a aucun chevauchement du tout, la route est abandonnée silencieusement, sans journal ni erreur.
  3. Si les valeurs ne se chevauchent pas, corrigez l'import-extcommunity de l'instance EVPN de ce Leaf pour inclure au moins une valeur RT réellement exportée par le côté distant ; ne modifiez pas le côté distant sauf s'il est réellement mal configuré.
<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

5 causes qui reviennent sans cesse

Une fois que les quatre vérifications ci-dessus ont indiqué où se situe le problème, ces cinq causes expliquent l'essentiel de ce qui ne va vraiment pas.

1. Le Leaf distant n'apprend jamais l'ARP de la VM

SYMPTÔMEdisplay arp network <IP-VM> sur le Leaf distant ne remonte rien, et rien plus loin dans la chaîne EVPN n'a encore de quoi travailler.

CAUSELa route EVPN pour l'IP d'une VM est générée directement à partir de la table ARP/route hôte locale sur le Leaf auquel elle est rattachée — si l'ARP n'a jamais été appris (hôte éteint, mauvais VLAN, mauvaise interface d'accès, suppression ARP de la passerelle mal configurée), il n'existe tout simplement aucune donnée source à partir de laquelle construire une route EVPN.

SOLUTIONTraitez-la d'abord comme une panne d'apprentissage ARP sur le Leaf distant — vérifiez l'interface côté accès, l'appartenance VLAN/BD et la configuration de la passerelle — avant de toucher à quoi que ce soit lié à l'EVPN.

2. La passerelle BDIF ou l'instance EVPN n'est pas réellement configurée pour ce sous-réseau

SYMPTÔMEL'ARP est confirmée présente sur le Leaf distant, mais display bgp instance overlay evpn all routing-table | include <IP-VM> ne remonte rien.

CAUSELa route MAC/IP n'est générée que si l'interface Vbdif du BD de cette VM est correctement liée à la bonne instance VPN et que l'instance EVPN correspondante est réellement configurée — une passerelle active mais liée à la mauvaise vpn-instance, ou une instance EVPN totalement absente pour ce BD, produit un Leaf qui a l'ARP et ne la transforme tout simplement jamais en route.

SOLUTIONConfirmez que display current-configuration interface vbdif <ID-BD> affiche le bon ip binding vpn-instance, et qu'une evpn vpn-instance existe et est liée à ce BD.

3. Une route-policy quelque part entre les deux Leaf la filtre discrètement

SYMPTÔMELa table EVPN propre du Leaf distant montre la route générée et annoncée, mais la table du Leaf local ne montre rien pour le même préfixe.

CAUSEUne route-policy BGP appliquée sur l'un ou l'autre Leaf, ou sur un réflecteur de route Spine entre les deux, peut filtrer une route EVPN de l'annonce sans produire aucune erreur ni entrée de journal — la route ne traverse tout simplement jamais vers l'autre côté.

SOLUTIONVérifiez la présence d'une route-policy configurée sous le pair BGP EVPN ou la famille d'adresses sur chaque équipement du chemin d'annonce, pas seulement les deux extrémités, et confirmez qu'elle ne correspond pas à ce préfixe ou RT précis.

4. Le VPN Target ne se croise pas — la cause finale la plus fréquente

SYMPTÔMELa route est confirmée présente dans la table EVPN du Leaf local (display bgp instance overlay evpn all routing-table mac-route <préfixe> la montre) mais elle n'atteint jamais la table de transfert/routage réelle.

CAUSEBGP EVPN n'accepte une route dans la table de routage que si au moins une des valeurs Ext-Community RT de la route correspond à l'une des valeurs import-extcommunity de l'instance EVPN locale — si les ensembles RT d'export et d'import ne se chevauchent pas du tout, la route est abandonnée silencieusement, sans rien dans les journaux.

SOLUTIONComparez l'import-extcommunity de display current-configuration configuration evpn-instance <nom> aux valeurs Ext-Community RT réellement annoncées par le côté distant (pas celles que vous supposez qu'il annonce), et ajustez la liste d'import locale pour inclure une valeur correspondante.

5. Deux Spine, deux copies de la même route, une marquée non préférée — ce n'est pas le bug

SYMPTÔMELa table EVPN locale montre deux entrées pour exactement le même préfixe, reçues de deux Router ID différents, l'une marquée not preferred for peer address, et cela est signalé comme « la route semble incorrecte ».

CAUSEDans tout fabric avec plus d'un Spine agissant comme réflecteur de route, la même route EVPN arrive légitimement deux fois — une fois reflétée par chaque Spine — et la sélection du meilleur chemin propre à BGP en choisit une comme active et marque l'autre comme non préférée. C'est un comportement normal de chemin redondant, pas la preuve d'une panne.

SOLUTIONConfirmez que les deux copies portent les mêmes Label information et valeurs Ext-Community RT ; si c'est le cas, ce n'est pas la cause du ticket de route manquante — continuez plutôt à vérifier le croisement VPN Target.

Conceptions de solutions associées

Six questions qui reviennent constamment

Tirées directement du terrain — celles pour lesquelles il vaut la peine d'avoir une réponse prête.

Que signifie réellement le type de route « 2 » que je vois dans la sortie ?

Le type de route 2 est une MAC Advertisement Route — le type de route EVPN qui porte l'adresse MAC d'un hôte et, quand l'IP de l'hôte est connue, son IP également. C'est ce que poursuit toute cette séquence de vérification. Le type 3 (Inclusive Multicast Route) construit le tunnel L2 lui-même, et le type 5 (IP Prefix Route) est ce qu'une passerelle IRB annonce pour tout un sous-réseau — une panne différente, traitée dans la note VXLAN Tunnel Won't Establish.

Dois-je vérifier la table ARP avant la table de routage EVPN, ou puis-je les vérifier dans n'importe quel ordre ?

Vérifiez d'abord l'ARP. La route MAC/IP EVPN d'un hôte est générée à partir de l'entrée ARP apprise localement pour cet hôte — il n'y a aucune route à trouver dans la table EVPN si l'ARP n'a jamais été appris sur le Leaf auquel l'hôte est rattaché, donc commencer par la table EVPN sur un Leaf sans ARP ne fait que gaspiller une étape.

Est-il sûr d'exécuter reset arp dynamic ip sur un Leaf en production pour essayer de forcer le retour de la route ?

Oui, pour l'entrée ARP dynamique d'un seul hôte — cela ne fait qu'effacer et redéclencher l'apprentissage pour cette IP-là, pas toute la table ARP. C'est raisonnable à essayer une fois la configuration déjà confirmée correcte, mais c'est un contournement du symptôme, pas une correction ; si la route ne revient pas après une réinitialisation, la cause sous-jacente (RT incompatible, route-policy, instance EVPN manquante) est toujours là et doit être corrigée.

Les valeurs Ext-Community RT semblent identiques des deux côtés — pourquoi la route est-elle quand même rejetée ?

Confirmez que vous comparez la bonne paire : l'export-extcommunity du côté distant (ce qu'il a réellement mis sur le fil, visible dans le champ Ext-Community de la route reçue) par rapport à l'import-extcommunity de ce Leaf (pas sa propre valeur d'export, qu'il est facile de comparer par erreur). Une route n'a besoin de partager qu'une seule valeur RT entre ces deux champs précis, pas de correspondre à chaque RT configuré sur les deux Leaf.

En quoi est-ce différent d'un tunnel VXLAN qui ne s'établit pas du tout ?

Cette note suppose que le voisin BGP EVPN est Established et que le tunnel entre les deux VTEP existe déjà — le fabric fonctionne, mais la route d'un hôte précis manque. Si le pair BGP EVPN lui-même n'atteint jamais Established, ou si la route Inclusive Multicast / IP Prefix qui construit le tunnel ne se croise jamais du tout, c'est une panne différente traitée dans la note VXLAN Tunnel Won't Establish, qui commence une couche plus bas.

Plusieurs VM sur le même Leaf distant manquent toutes leurs routes — est-ce toujours un problème d'ARP ou de RT ?

Quand c'est chaque hôte d'un Leaf plutôt qu'un seul hôte, montez les vérifications d'un niveau : confirmez que le pair BGP EVPN de ce Leaf est toujours Established (pas seulement l'était), et que sa configuration d'instance EVPN et de RT n'a pas été touchée lors d'un changement récent — une mauvaise configuration au niveau instance affecte tous les hôtes derrière elle à la fois, tandis qu'un seul ARP manquant n'affecte que cet hôte-là.

Limites honnêtes de cette note

Limites honnêtes de cette note

Cette note s'appuie sur le fabric à passerelle distribuée BGP EVPN de type Huawei CloudEngine et ses commandes display bgp instance overlay evpn / display arp network / display current-configuration configuration evpn-instance, ainsi que sur les cas de terrain qui les sous-tendent. Elle suppose que la relation de voisinage BGP EVPN et le tunnel VXLAN sous-jacent existent déjà — pour les pannes d'établissement de tunnel elles-mêmes, voir la note VXLAN Tunnel Won't Establish. Elle ne couvre pas le provisionnement automatique de routes orchestré par contrôleur (fabric SDN), où les mêmes symptômes peuvent remonter au contrôleur plutôt qu'à la configuration de l'équipement.

Vous fixez un Leaf à qui manque une route précise ?

Dites-nous à laquelle des quatre vérifications ça échoue — ARP, génération de route, réception de route, ou VPN Target — avec la sortie display bgp evpn / display arp pertinente, et nous vous aiderons à l'interpréter.

WhatsApp avec un ingénieur →

Lectures connexes

Nous n'utilisons des cookies que pour des statistiques anonymes — pas de publicité, pas de suivi intersites.Politique de confidentialité