Este documento describe los pasos utilizados para realizar una ELAM en un módulo F1 Cisco Nexus 7000 (N7K), explica los resultados más relevantes y describe cómo interpretar los resultados.
En este ejemplo, un host en VLAN 10 (10.1.1.101 con dirección MAC 0050.56a1.1a01), puerto Eth3/18 envía una solicitud de protocolo de mensajes de control de Internet (ICMP) a un host que también está en VLAN 10 (10.1.1.1.1.1.1.1.1.1 02 con dirección MAC 0050.56a1.1aef), puerto Eth3/26. ELAM se utiliza para capturar esta trama única de 10.1.1.101 a 10.1.1.102. Es importante recordar que ELAM le permite capturar sólo una trama.
Para realizar un ELAM en el N7K, primero debe conectarse al módulo apropiado (esto requiere el privilegio de administrador de red):
N7K# attach module 3
Attaching to module 3 ...
To exit type 'exit', to abort type '$.'
module-3#
Se espera que el tráfico ingrese el switch en el puerto Eth3/18. Cuando verifica los módulos en el sistema, ve que el Módulo 3 es un módulo F1. Es importante recordar que el N7K está totalmente distribuido y que los módulos, no el supervisor, toman las decisiones de reenvío para el tráfico del plano de datos.
N7K# show module 3
Mod Ports Module-Type Model Status
--- ----- -------------------------- ------------------ ----------
3 32 1/10 Gbps Ethernet Module N7K-F132XP-15 ok
Para los módulos F1, realice el ELAM en el Motor de reenvío de capa 2 (L2) (FE) con el nombre de código interno Orion. El N7K F1 tiene 16 FE por módulo, por lo que debe determinar el ASIC Orion que se utiliza para el FE en el puerto Eth3/18. Ingrese este comando para verificar:
module-3# show hardware internal dev-port-map
(some output omitted)
--------------------------------------------------------------
CARD_TYPE: DCE 32 port 10G
>Front Panel ports:32
--------------------------------------------------------------
Device name Dev role Abbr num_inst:
--------------------------------------------------------------
> Orion Fwding Driver DEV_LAYER_2_LOOKUP L2LKP 16
+--------------------------------------------------------------+
+-----------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++--------+
+--------------------------------------------------------------+
FP port | PHYS | MAC_0 | L2LKP | QUEUE |SWICHF
...
18 8 8 8 8 1
En la salida, puede ver que el puerto Eth3/18 está en la instancia de Orion (L2LKP) 8.
module-3# elam asic orion instance 8
module-3(orion-elam)#
El ASIC Orion tiene un conjunto muy limitado de disparadores ELAM en comparación con los otros FE en la plataforma N7K. Esto se debe a que F1 es un módulo sólo de L2. Por lo tanto, toma decisiones de switching basadas en la información de dirección MAC (o SwitchID en entornos FabricPath).
Con Nexus Operating Systems (NX-OS), puede utilizar el carácter de signo de interrogación para separar el disparador ELAM:
module-3(orion-elam)# trigger di field ?
da Destination mac-address
mim_da Destination mac-in-mac-address
mim_sa Source mac-in-mac-address
sa Source mac-address
vlan
Para este ejemplo, la trama se captura en función de las direcciones MAC de origen y de destino en el bloque de decisión de ingreso.
Aquí está el disparador:
module-3(orion-elam)# trigger di field sa 0050.56a1.1a01 da 0050.56a1.1aef
El módulo F1 es diferente de los otros módulos N7K, porque el ELAM comienza inmediatamente después de que se configura el disparador. Para verificar el estado del ELAM, ingrese el comando status:
module-3(orion-elam)# status
Armed
Una vez que la FE recibe la trama que coincide con el disparador, el estado de ELAM se muestra como Desencadenado:
module-3(orion-elam)# status
Triggered
Para mostrar los resultados de ELAM, ingrese el comando show capture. A continuación se muestra el extracto de los datos de ELAM que es más relevante para este ejemplo (se omite algún resultado):
module-3(orion-elam)# show capture
dc3v4_si[11:0] : 17
vlanx : a
di : 1e or 1f
res_eth_da : 5056a11aef
res_eth_sa : 5056a11a01
Destination MAC (res_eth_da) 5056a11aef = 0050.56a1.1aef
Source MAC (res_eth_sa) 5056a11a01 = 0050.56a1.1a01
Con esta salida, puede verificar la lógica de destino local (LTL) de origen (dc3v4_si), la LTL de destino (di), la VLAN (vlanx) y las direcciones MAC de origen y destino (5056a11a01 y 5056a11aaaaaaaa respectivamente).
El LTL de origen (dc3v4_si) representa el puerto en el que se recibe la trama. El F1 ELAM muestra dos resultados para el LTL de destino (1e o 1f). Esto ocurre porque el analizador ELAM no puede leer el bit menos significativo de los datos ELAM, lo que produce un resultado ambiguo. Por lo tanto, Cisco recomienda que valide la entrada de dirección MAC de hardware para la dirección de destino y que la verifique con la LTL de destino en la ELAM.
N7K# show system internal pixm info ltl 0x17
Type LTL
---------------------------------
PHY_PORT Eth3/18
El resultado muestra que el LTL de origen de 0x17 se mapea al puerto Eth3/18. Esto confirma que la trama se recibe en el puerto Eth3/18.
module-3# show hardware mac address-table fe 8
address 0050.56a1.1aef vlan 10 vdc 1
(some output omitted)
FE | Valid| PI| BD | MAC | Index|
| | | | | |
---+------+---+------+---------------+-------+
8 1 0 34 0050.56a1.1aef 0x0001f
N7K# show system internal pixm info ltl 0x1f
Type LTL
---------------------------------
PHY_PORT Eth3/26
Con esta salida, puede verificar que la instancia de Orión 8 (el FE que toma la decisión de reenvío para Eth3/18) tenga una entrada de dirección MAC de hardware de 0x1f para la dirección MAC de destino 0050.56a1.1aef. Este índice es también el LTL de destino (di) dentro de los datos de F1 ELAM.
Además, puede verificar que LTL 0x1f se mapee al puerto Eth3/26. Esto confirma que la trama se envía desde el puerto Eth3/26.
Para verificar cómo el switch asigna el conjunto LTL, ingrese el comando show system internal pixm info ltl-region. El resultado de este comando es útil para entender el propósito de un LTL si no coincide con un puerto físico. Un buen ejemplo de esto es un Drop LTL:
N7K# show system internal pixm info ltl 0x11a0
0x11a0 is not configured
N7K# show system internal pixm info ltl-region
LTL POOL TYPE SIZE RANGE
=====================================================================
DCE/FC Pool 1024 0x0000 to 0x03ff
SUP Inband LTL 32 0x0400 to 0x041f
MD Flood LTL 1 0x0420
Central R/W 1 0x0421
UCAST Pool 1536 0x0422 to 0x0a21
PC Pool 1720 0x0a22 to 0x10d9
LC CPU Pool 32 0x1152 to 0x1171
EARL Pool 72 0x10da to 0x1121
SPAN Pool 48 0x1122 to 0x1151
UCAST VDC Use Pool 16 0x1172 to 0x1181
UCAST Generic Pool 30 0x1182 to 0x119f
LISP Pool 4 0x1198 to 0x119b
Invalid SI 1 0x119c to 0x119c
ESPAN SI 1 0x119d to 0x119d
Recirc SI 1 0x119e to 0x119e
Drop DI 2 0x119f to 0x11a0
UCAST (L3_SVI_SI) Region 31 0x11a1 to 0x11bf
UCAST (Fex/GPC/SVI-ES) 3648 0x11c0 to 0x1fff
UCAST Reserved for Future Use Region 2048 0x2000 to 0x27ff
======================> UCAST MCAST BOUNDARY <======================
VDC OMF Pool 32 0x2800 to 0x281f