El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe los pasos utilizados para realizar un ELAM (Embedded Logic Analyzer Module) en un módulo F3 Cisco Nexus 7000/7700.
Cisco recomienda que esté familiarizado con el sistema operativo Cisco Nexus (NX-OS) y la arquitectura básica de Nexus antes de continuar con la información que se describe en este documento.
ELAM sólo puede realizarlo el rol de administrador de red. Asegúrese de iniciar sesión como un usuario con privilegios de administrador de red.
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
La ELAM ayuda a resolver problemas de reenvío de red mediante la captura de paquetes en tiempo real sin interrupciones, y no afecta al rendimiento ni a los recursos del plano de control. La ELAM es una herramienta potente, granular y no intrusiva que utilizan habitualmente los ingenieros del Cisco Technical Assistance Center (TAC). Sin embargo, es crucial saber que la herramienta ELAM captura solo un paquete a la vez - el primer paquete recibido después de que se inicia ELAM. Si necesita capturar todos los paquetes de un flujo, utilice SPAN o ERSPAN.
La ELAM puede responder preguntas como:
En este artículo, el Host1 conectado al puerto N77-F3 E5/23, envía el tráfico al Host2. ELAM se utiliza para capturar la trama individual del Host1 al Host2.
Para ejecutar un ELAM en el N7K, primero debe iniciar sesión como un usuario con network-admin y luego debe conectarse al módulo.
N77-F3# attach module 5
Attaching to module 5 ...
To exit type 'exit', to abort type '$.'
Last login: Thu Jan 18 05:31:04 pst 2024 from 127.1.1.3 on pts/0
Nexus 7000 funciona como un switch totalmente distribuido, con decisiones de reenvío tomadas por el motor de reenvío de la tarjeta de línea de entrada.
En este artículo, se espera que el tráfico de interés ingrese al switch a través del puerto 5/23. En el ejemplo del N7K, la mMódulo 5 es un módulo F3.
N77-F3# show module 5
Mod Ports Module-Type Model Status
--- ----- ----------------------------------- ------------------ ----------
5 24 10/40 Gbps Ethernet Module N77-F324FQ-25 ok
Mod Sw Hw
--- --------------- ------
5 8.4(9) 1.3
Para los módulos F3, realice el ELAM en el Motor de reenvío (FE) de capa 2 (L2) con el nombre de código interno Flanker.
module-5# show hardware internal dev-port-map
--------------------------------------------------------------
CARD_TYPE: 24 port 40G
>Front Panel ports:24
--------------------------------------------------------------
Device name Dev role Abbr num_inst:
--------------------------------------------------------------
> Flanker Fwd Driver DEV_LAYER_2_LOOKUP L2LKP 12
FP port | PHYS | MAC_0 | L2LKP | L3LKP | QUEUE |SWICHF
22 10 10 10 10 0,1
23 11 11 11 11 0,1 >>>Port 23 belongs to FE instance 11
24 11 11 11 11 0,1
+-----------------------------------------------------------------------+
En esta salida, es evidente que el puerto E5/23 pertenece a la instancia FE 11.
El bus de datos FE (DBUS) de capa 2 transporta la información de encabezado original antes de las búsquedas de capa 2 (L2) y capa 3 (L3), mientras que el bus de resultados (RBUS) contiene los resultados de las búsquedas L3 y L2. Para la mayoría de los escenarios de troubleshooting, una captura de ELAM de Capa 2 es suficiente.
N77-F3# attach module 5
Attaching to module 5 ...
To exit type 'exit', to abort type '$.'
Last login: Thu Jan 18 05:31:04 pst 2024 from 127.1.1.3 on pts/0
module-5# elam asic flanker instance 11
module-5(fln-elam)# ?
layer2 ELAMs for layer 2
layer3 ELAMs for layer 3
module-5(fln-elam)# layer2
En este ejemplo, el Host1 en la VLAN 100 (con una dirección IP de 192.168.1.1 y una dirección MAC de 8c60.4fc7.c5bc), vinculado al puerto E5/23, envía una solicitud de protocolo de resolución de direcciones (ARP). Esta solicitud está pensada para resolver la dirección MAC de otro host en la misma VLAN 100, que tiene una dirección IP de 192.168.1.2.
El ASIC de Flanker soporta disparadores ELAM para varios tipos de tramas. El disparador ELAM debe corresponderse con el tipo de trama. Si la trama es una trama ARP, el disparador también debe configurarse en la opción ARP. Una trama ARP no puede ser capturada por el disparador Otro L2. Si utiliza ELAM para capturar una trama MPLS, seleccione IPv4 o IPv6 en lugar de MPLS. Para obtener más detalles, consulte la sección de errores.
module-5(fln-l2-elam)# trigger dbus ?
arp ARP Frame Format >>>capture ARP packet. Other L2 does not work for ARP
fc Fc hdr Frame Format
ipv4 IPV4 Frame Format >>>capture IPv4 frame
ipv6 IPV6 Frame Format >>>capture IPv6 frame
mpls MPLS
other L2 hdr Frame Format >>>capture non-ip l2 frame
rarp RARP Frame Format
En este ejemplo, la trama se captura basándose en el campo de dirección IP de destino de la trama ARP, por lo que sólo se especifica este valor.
Flanker necesita que los disparadores estén configurados tanto para el DBUS como para el RBUS. El disparador RBUS se simplifica,trig
coincide con los mismos criterios que el disparador DBUS.
module-5(fln-l2-elam)# trigger dbus arp ingress if target-ip-address 192.168.1.2
module-5(fln-l2-elam)# trigger rbus ingress if trig
Ahora que ha configurado el disparador, puede iniciar la captura.
module-5(fln-l2-elam)# start
Para verificar si ELAM ha capturado algún paquete, puede ejecutar elstatus
comando. El término Armado indica que aún no se ha capturado ningún paquete coincidente.
module-5(fln-l2-elam)# status
ELAM Slot 5 instance 11: L2 DBUS Configuration: trigger dbus arp ingress if target-ip-address 192.168.1.2
L2 DBUS: Armed >>>no matched packet
ELAM Slot 5 instance 11: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS: Armed >>>no matched packet
Ping desde Host1 (192.168.1.1) a 192.168.1.2. Dado que no hay ninguna entrada ARP en Host1, Host1 envía la solicitud ARP en un paquete de difusión. Una vez que el FE recibe la trama ARP, verifica el disparador. Si hay una coincidencia, la ELAM captura la decisión de reenvío de esta trama y el estado de la ELAM se muestra como Desencadenado.
module-5(fln-l2-elam)# status
ELAM Slot 5 instance 11: L2 DBUS Configuration: trigger dbus arp ingress if target-ip-address 192.168.1.2
L2 DBUS: Triggered >>Packet hit
ELAM Slot 5 instance 11: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS: Triggered >>Packet hit
El resultado es válido sólo si el DBUS y el RBUS han capturado el mismo paquete. Por lo tanto, es necesario verificar el número de secuencia en los resultados de DBUS y RBUS. Si no coinciden, puede reiniciarlos y capturarlos de nuevo hasta que se alineen.
module-5(fln-l2-elam)# show dbus | in seq
sequence-number : 0x7 vl : 0x0
module-5(fln-l2-elam)# show rbus | in seq
l2-rbus-trigger : 0x1 sequence-number : 0x7
Es recomendable comprobar primero la salida DBUS, ya que contiene datos antes de cualquier reescritura. Este es un ejemplo de una captura ARP ELAM. Tenga en cuenta que se han omitido algunos resultados.
module-5(fln-l2-elam)# show dbus
cp = 0x20c6ad1c, buf = 0x20c6ad1c, end = 0x20c7706c
--------------------------------------------------------------------
Flanker Instance 11 - Capture Buffer On L2 DBUS:
<snip>
--------------------------------------------------------------------
L2 DBUS PRS MLH ARP/RARP
--------------------------------------------------------------------
valid : 0x1 requst-response : 0x1 >>>ARP request
(1:for ARP request,2: for ARP reply, 3:for RARP request, 4:for RARP reply)
port-id : 0x0 last-ethertype : 0x806 >>>Ethernet type, 0x0806 means ARP
packet-type : 0x0 l2-length-check : 0x0 >>>0 for ingress, 1 for egress
vqi : 0x0 packet-length : 0x40 >>>L2 ethernet frame totally length 64 byte
vlan : 0x64 destination-index : 0x0 >>>VLAN100
source-index : 0xb79 bundle-port : 0x0 >>>source port ltl index
status-is-1q : 0x0 trill-encap : 0x0 >>>0 means frame without vlan tag
sender-ip-address: 192.168.1.1 >>>sender-ip-address in ARP header
target-ip-address: 192.168.1.2 >>>target-ip-address in ARP header
sender-mac-address : 8c60.4fc7.c5bc >>>sender-mac-address in ARP header
target-mac-address : ffff.ffff.ffff >>>target-mac-address in ARP header
destination-mac-address : ffff.ffff.ffff >>>sestination mac in ethernet header
source-mac-address : 8c60.4fc7.c5bc >>>source mac in ethernet header
Con los datos DBUS, puede confirmar que la trama se recibe en VLAN100 (vlan:0x64) con una dirección MAC de origen de 8c60.4fc7.c5bc y una dirección MAC de destino de ffff.ffff.ffff. También puede identificar que ésta es una trama de solicitud ARP que se origina en IP 192.168.1.1.
Para verificar el puerto en el que se recibe la trama, utilice elPIXM
comando (Administrador de índices de puertos). Este comando muestra la asignación de una lógica de destino local (LTL) a un puerto frontal o a un grupo de puertos frontales.
N77-F3# show system internal pixm info ltl 0xb79
------------------
Type LTL
---------------------------------
PHY_PORT Eth5/23
FLOOD_W_FPOE 0xc031
El resultado revela que un source-index de 0xb79 se asigna al puerto E5/23. Esto verifica que la trama se reciba en el puerto E5/23.
Después de confirmar que ELAM ha capturado la trama de interés, puede verificar el resultado de la decisión de reenvío usando los datos de RBUS (observe que se omitieron algunos resultados).
module-5(fln-l2-elam)# show rbus
--------------------------------------------------------------------
L2 RBUS INGRESS CONTENT
--------------------------------------------------------------------
di-ltl-index : 0xc031 l3-multicast-di : 0xc00 >>> destination ltl index
source-index : 0xb79 vlan : 0x64 >>> vlan id after rewritten
vqi : 0x0 di2-valid : 0x0 >>> use l3-multicast-di as di if this is 1
routed-frame : 0x0 copy-cause : 0x0 >>> 0x0 means N7K performs layer 2 switching
Con los datos de RBUS, puede confirmar que la trama está conmutada en VLAN 100 (0x64). Para determinar los puertos de salida del índice di-ltl, utilice el comando pixm nuevamente.
N77-F3# show system internal pixm info ltl 0xc031
Member info
------------------
IFIDX LTL
---------------------------------
Eth5/24 0x0b78
Eth5/23 0x0b79
El resultado muestra que los puertos E5/23 y E5/24 pertenecen a LTL 0xc031. El paquete ARP conmuta a ambos puertos. Como se recibe de E5/23, sólo se envía desde E5/24.
En este ejemplo, el Host1 en la VLAN 100 (con una dirección IP de 192.168.1.1/24 y una dirección MAC de 8c60.4fc7.c5bc), está conectado al puerto E5/23 y envía una solicitud de protocolo de mensajes de control de Internet (ICMP) al Host2. Host2 tiene una dirección IP de 192.168.2.2/24 y se encuentra en una VLAN diferente, VLAN200.
En este ejemplo, dado que Host1 y Host2 están en VLAN diferentes, el paquete ICMP del Host1 al Host2 se rutea a través de la Capa 3 en N77-F3. Se utiliza un ELAM de Capa 2 para capturar el paquete de solicitud ICMP.
Tanto la IP de origen (192.168.1.2) como la IP de destino (192.168.2.2) se combinan como disparadores DBUS. ELAM solo captura el paquete que coincide con todos los disparadores.
N77-F3# attach module 5
Attaching to module 5 ...
To exit type 'exit', to abort type '$.'
Last login: Thu Jan 18 11:19:46 pst 2024 from 127.1.1.3 on pts/0
module-5# elam asic flanker instance 11
module-5(fln-elam)# layer2
module-5(fln-l2-elam)# trigger dbus ipv4 ingress if destination-ipv4-address 192.168.2.2 source-ipv4-address 192.168.1.2
module-5(fln-l2-elam)# trigger rbus ingress if trig
module-5(fln-l2-elam)# start
module-5(fln-l2-elam)# status
ELAM Slot 5 instance 11: L2 DBUS Configuration: trigger dbus ipv4 ingress if destination-ipv4-address 192.168.2.2 source-ipv4-address 192.168.1.2
L2 DBUS: Armed
ELAM Slot 5 instance 11: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS: Armed
Inicie un ping desde el Host1 (192.168.1.2) al Host2 (192.168.2.2). Una vez que la instancia FE 11 recibe el paquete que coincide con los desencadenadores, el estado de ELAM se muestra como Desencadenado.
module-5(fln-l2-elam)# status
ELAM Slot 5 instance 11: L2 DBUS Configuration: trigger dbus ipv4 ingress if destination-ipv4-address 192.168.2.2 source-ipv4-address 192.168.1.2
L2 DBUS: Triggered
ELAM Slot 5 instance 11: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS: Triggered
Asegúrese de que RBUS y DBUS tengan el mismo número de secuencia. Este paso es necesario para cada captura.
module-5(fln-l2-elam)# show dbus | in seq
sequence-number : 0x74 vl : 0x0
module-5(fln-l2-elam)# show rbus | in seq
l2-rbus-trigger : 0x1 sequence-number : 0x74 >>same sequence number, valid elam result
Este es un ejemplo de una captura de ELAM ICMP IPv4. Tenga en cuenta que se han omitido algunos resultados.
module-5(fln-l2-elam)# show dbus
--------------------------------------------------------------------
L2 DBUS PRS MLH IPV4
--------------------------------------------------------------------
l4-protocol : 0x1 df : 0x0 >>>L4 protocol id, 1 means icmp packet
ttl : 0xff l3-packet-length : 0x54 >>>ip total length is 84 in this packet, ttl is 255
port-id : 0x0 last-ethertype : 0x800 >>>Ethernet type, 0x0800 means IPv4
vqi : 0x0 packet-length : 0x66 >>>L2 frame length field
vlan : 0x64 destination-index : 0x0 >>>vlan id 100
source-index : 0xb79 bundle-port : 0x0 >>>source port ltl index
status-is-1q : 0x1 trill-encap : 0x0 >>>1 means frame with vlan tag
source-ipv4-address: 192.168.1.2 >>>Packet source IP
destination-ipv4-address: 192.168.2.2 >>>Packet destination IP
destination-mac-address : 003a.9c40.8ac3 >>>Packet destination mac
source-mac-address : 8c60.4fc7.c5bc >>>Packet source mac
Con los datos DBUS, puede confirmar que el paquete se recibe en VLAN100 (vlan:0x64) con una IP de origen de 192.168.1.2 y una IP de destino de 192.168.2.2. También puede identificar que se trata de un paquete ICMP IPv4.
Para verificar el puerto en el que se recibe la trama, ejecute elPIXM
comando (Administrador de índices de puertos). Este comando muestra la asignación de una lógica de destino local (LTL) a un puerto frontal o a un grupo de puertos frontales.
N77-F3# show system internal pixm info ltl 0xb79
------------------
Type LTL
---------------------------------
PHY_PORT Eth5/23
FLOOD_W_FPOE 0xc032
FLOOD_W_FPOE 0xc031
FLOOD_W_FPOE 0xc029
El resultado muestra que un source-index de 0xb79 se asigna al puerto E5/23. Esto confirma que la trama se recibe en el puerto E5/23.
Después de confirmar que ELAM ha capturado el paquete de ICMP de interés, puede verificar el resultado de la decisión de reenvío usando los datos RBUS (observe que se omitieron algunos resultados). A partir de los datos de RBUS, puede ver que la trama se enruta de VLAN 100 (0x64) a VLAN200.
module-5(fln-l2-elam)# show rbus
--------------------------------------------------------------------
L2 RBUS INGRESS CONTENT
--------------------------------------------------------------------
segment-id-valid : 0x0 ttl-out : 0xfe >>>TTL is 254
di-ltl-index : 0xb78 l3-multicast-di : 0x0 >>>destination port ltl
source-index : 0xb79 vlan : 0xc8 >>>vlan id is 200
routed-frame : 0x1 copy-cause : 0x0 >>>routed on N7K
Para determinar los puertos de salida del índice di-ltl, ejecute elPIXM
comando. El resultado muestra que el puerto de salida es E5/24.
N77-F3# show system internal pixm info ltl 0xb78
Member info
------------------
Type LTL
---------------------------------
PHY_PORT Eth5/24
FLOOD_W_FPOE 0xc032
FLOOD_W_FPOE 0xc031
FLOOD_W_FPOE 0xc029
El resultado de este comando es útil para entender el propósito de una LTL si no coincide con un puerto físico. Algunos ejemplos son Drop LTL y Inband LTL:
N77-F3# show system internal pixm info ltl-region
===========================================================
PIXM VDC 1 LTL MAP Version: 3
Description: LTL Map for Crossbow
===========================================================
LTL_TYPE SIZE START END
========================================================================
LIBLTLMAP_LTL_TYPE_SUP_ETH_INBAND 64 0xc00 0xc3f
-------------------------------------------------------------------
LIBLTLMAP_LTL_TYPE_DROP_DI_WO_HW_BITSET 0xcae
LIBLTLMAP_LTL_TYPE_DROP_DI 0xcad
ID de falla de funcionamiento de Cisco | Título del error | Versión de corrección |
ID de bug de Cisco CSCux73273 | El disparador Mpls para ELAM en F3 no funciona | No hay versión fija, utilice la solución alternativa |
ID de bug de Cisco CSCvm65736 | N7k: desencadenador de liberación de ELAM clp_elam crash/LC reload | 7.3(3)D1(1) u 8.2(3) u 8.3(2) |
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
30-Jan-2024 |
Versión inicial |