Por que unha MAC de QFX aparece en EVPN pero non na táboa de envío
Unha MAC na base de datos EVPN é un feito do plano de control, non a proba de que a táboa de envío fose programada. Lea as catro etapas en orde antes de culpar a BGP.
Atopar unha MAC na base de datos EVPN demostra que se anunciou ou recibiu como ruta, e nada máis. A táboa de envío é outra estrutura, programada máis tarde, así que a mesma MAC pode aparecer nunha e faltar na outra mentres todos os protocolos se comportan correctamente. Tratar esas dúas saídas como copias unha da outra leva os enxeñeiros detrás dunha falla de BGP cando o oco real é unha política de importación ou un salto seguinte sen resolver. A pregunta que paga a pena facer non é se o fabric coñece a MAC, senón en que etapa deixou de pasala.
Dúas táboas que responden preguntas distintas
En Junos EVPN a base de datos lista os enderezos MAC por instancia xunto con como chegou cada un: aprendida dun porto de acceso, recibida nunha ruta Type 2 ou marcada como parte dun grupo de multihoming. A referencia de Juniper show evpn database cobre os filtros por MAC e por instancia que fan lexible a vista. É un resumo do plano de control indexado por instancia e MAC, non a táboa coa que o hardware conmuta as tramas.
A táboa de conmutación é ese estado de envío. Ambas as saídas listan MAC xunto ao contexto de VLAN ou VNI, que é exactamente por que se comparan liña por liña, e exactamente por que a comparación engana. Unha entrada na base de datos di que a ruta existe e se aceptou na instancia; non di nada sobre se a plataforma a instalou para o envío.
Unha ruta Type 2 transporta a MAC, unha IP opcional, unha etiqueta ou VNI, un distinguidor de ruta e un salto seguinte que nomea o VTEP remoto. Catro cousas poden romper entre o cable e esa ruta: o host nunca se aprende, a ruta nunca se anuncia, rexéitase na importación ou o seu salto seguinte non se resolve. Cada falla deixa un conxunto distinto de táboas poboadas, e por iso a secuencia pode diagnosticarse.
A aprendizaxe local segue ocorrendo primeiro
A suposición habitual é que EVPN asume a aprendizaxe de MAC, así que unha base de datos baleira debe significar un problema de overlay. A aprendizaxe local segue executándose no lado de acceso, exactamente como antes de que existise VXLAN: o switch aprende a MAC de orixe dunha trama permitida no VLAN e no servizo correctos, e só entón orixina unha Type 2 para ela. Un host que non enviou ningunha trama relevante non ten nada que anunciar. Un host cuxas tramas se descartan por pertenza ao VLAN, un filtro ou un membro caído dun agregado vese idéntico desde o punto de vista do overlay.
Comece no punto de conexión e avance con ordes de só lectura. O obxectivo é demostrar que unha trama do host cruzou no servizo previsto, porque nada augas abaixo compensa unha trama que nunca chegou.
show interfaces ge-0/0/1.0
show ethernet-switching interface ge-0/0/1.0
show lacp interfaces ae0
Os membros LACP seleccionados importan máis que o bundle estea activo, xa que un agregado pode estar activo nun membro mentres o tráfico do host se dispersa cara a unha ligazón caída ou bloqueada. Os contadores de interface separan un host silencioso dun que descarta, porque un host que nunca transmite e un host cuxas tramas se descartan por clasificación deixan a mesma táboa baleira.
Onde se perde unha MAC remota
Unha MAC remota falla na dirección oposta, e en silencio. A ruta Type 2 chega, pero só entra nunha instancia cando o seu obxectivo de ruta e o VNI coinciden coa configuración local, e só se volve utilizable cando o salto seguinte se resolve nun VTEP alcanzable. Un desaxuste do obxectivo de ruta deixa unha ruta válida na táboa BGP que ningunha instancia solicita.
Lea as tres vistas en orde: presenza de ruta, entrada de base de datos, entrada de envío. As ordes seguintes consultan a mesma MAC en cada etapa, e o enderezo de exemplo mantén as saídas comparables.
show evpn database instance blue mac-address 02:00:00:00:00:5c extensive
show route table bgp.evpn.0 | match 02:00:00:00:00:5c
show route table bgp.evpn.0 | match 02:00:00:00:00:5c extensive
Esas saídas responden tres preguntas separadas. Unha ruta en bgp.evpn.0 sen entrada de base de datos apunta a política de importación, obxectivo de ruta ou configuración de instancia. Unha entrada de base de datos sen entrada de envío apunta á programación da plataforma, que pertence a un camiño de escalado distinto. Unha ruta activa cuxo salto seguinte non se resolve é un problema de transporte ou de etiqueta, e ningunha cantidade de depuración de MAC o repara.
Un reinicio que o arranxou demostra moi pouco
Cando un reinicio fai desaparecer o síntoma, a conclusión tentadora é que a configuración debe ser sólida. Un reinicio reprograma cada táboa desde cero, así que tamén oculta o caso en que unha entrada obsoleta agochaba un erro de política; a falla adoita volver no seguinte cambio, no parpadeo dunha ligazón ou na retirada dunha ruta.
Antes de calquera ventá de mantemento, capture o que o reinicio borrará. Estas tres ordes abondan para comparar antes e despois, e non cambian nada no dispositivo.
show evpn database instance blue
show route table bgp.evpn.0
show version
Arquive esas saídas coa data e a compilación do software ao lado. Un informe posterior de que o mesmo reinicio funcionara antes é unha pista máis que unha proba, e a diferenza só se fai visible cando alguén conservou a saída anterior.
Catro observacións que resolven a maioría dos casos
Catro observacións cobren case todos os casos: o punto de conexión e o seu servizo, a MAC como valor de exemplo, o estado da ruta e da base de datos, e a compilación en uso. Escolla unha MAC obviamente de exemplo para que ninguén a confunda cun enderezo de produción: un primeiro octeto 02 marca un enderezo unicast administrado localmente, o resto de octetos queda libre, e 02:00:00:00:00:5c é polo tanto un marcador seguro.
Logo deixe que as respostas apunten á etapa que fallou. Ningunha aprendizaxe no punto de conexión significa o lado de acceso; unha ruta sen entrada de base de datos significa importación; unha entrada de base de datos sen estado de envío significa programación. Sexa cal sexa, entregue as saídas recollidas xunto co host, a interface, o servizo e a compilación, para que o seguinte enxeñeiro poida reproducir o camiño en lugar de repetir a consulta.