Contenido

Introducción

Topología

Determine el motor de reenvío de entrada

Configuración del disparador

Iniciar la captura

Interpretar los resultados

Verificación adicional

Introducción

Este documento describe los pasos utilizados para realizar un ELAM en los módulos M3 Cisco Nexus 7700 (N7700), explica los resultados más relevantes y describe cómo interpretar los resultados.

Consejo: Refiérase al documento Descripción General de ELAM para ver una descripción general de ELAM.

Topología

En este ejemplo, un host en VLAN 2500 (10.0.5.101), el puerto Eth4/1 envía una solicitud de protocolo de mensajes de control de Internet (ICMP) a un host en VLAN 55 (10.0.3.101), puerto Eth3/5. ELAM se utiliza para capturar este paquete único de 10.0.5.101 a 10.0.3.101. Es importante recordar que ELAM le permite capturar una única trama.

Para realizar un ELAM en el N7K, primero debe conectarse al módulo apropiado (esto requiere el privilegio de administrador de red):

N7700# attach module 4

Attaching to module 4 ...

module-4#

Determine el motor de reenvío de entrada

Se espera que el tráfico ingrese el switch en el puerto Eth4/1. Cuando verifica los módulos en el sistema, ve que el Módulo 4 es un módulo M3. 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.

N7700# show module

Mod  Ports  Module-Type                         Model              Status

---  -----  ----------------------------------- ------------------ ----------

1    12     100 Gbps Ethernet Module            N77-F312CK-26      ok

3    48     1/10 Gbps Ethernet Module           N77-M348XP-23L     ok

4    24     10/40 Gbps Ethernet Module          N77-M324FQ-25L     ok

5    0      Supervisor Module-2                 N77-SUP2E          active *

6    0      Supervisor Module-2                 N77-SUP2E          ha-standby

7    24     10/40 Gbps Ethernet Module          N77-F324FQ-25      ok

Mod  Sw               Hw

---  ---------------  ------

1    7.3(0)DX(1)      1.1

3    7.3(0)DX(1)      1.1

4    7.3(0)DX(1)      1.0

5    7.3(0)DX(1)      1.2

6    7.3(0)DX(1)      1.2

7    7.3(0)DX(1)      1.0

Para los módulos de la serie M, ejecute el ELAM en el motor de reenvío de capa 2 (L2) (FE) con el nombre de código interno F4. Tenga en cuenta que el bus de datos L2 FE (DBUS) contiene la información de encabezado original antes de las búsquedas de capa 2 y capa 3 (L3), y el bus de resultados (RBUS) contiene los resultados después de las búsquedas de capa 3 y capa 2.

Los módulos M3 N7K pueden utilizar varios FE para cada módulo, por lo que debe determinar el ASIC F4 que se utiliza para el FE en el puerto Eth4/1. Ingrese este comando para verificar esto:

module-4# show hardware internal dev-port-map

(some output omitted)

--------------------------------------------------------------

CARD_TYPE:       24 port 40G

>Front Panel ports:24

--------------------------------------------------------------

Device name             Dev role              Abbr num_inst:

--------------------------------------------------------------

> SLF L3 Driver          DEV_LAYER_3_LOOKUP     L3LKP  4

> SLF L2FWD driver       DEV_LAYER_2_LOOKUP     L2LKP  4

+-----------------------------------------------------------------------+

+----------------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++------------+

+-----------------------------------------------------------------------+

FP port |  PHYS | MAC_0 | RWR_0 | L2LKP | L3LKP | QUEUE |SWICHF

1               0       0       0       0       0       0,1

2               0       0       0       0       0       0,1

3               0       0       0       0       0       0,1

En la salida, puede ver que el puerto Eth4/1 está en la instancia F4 (L2LKP) 0. En el módulo N77-M312CQ-26L, hay 6 ASIC F4 con 2 puertos en cada grupo de puertos. En el módulo N77-M324FQ-25L, hay 4 ASIC F4 con 6 puertos en cada grupo de puertos. El módulo N77-M348XP-23L tiene 2 ASIC F4 con 12 puertos en cada grupo de puertos.

Nota: Al igual que los módulos de la serie F, la sintaxis de ELAM del módulo M3 utiliza valores basados en 0. Este no es el caso de los módulos M1 y M2, que utilizan valores basados en 1.

module-4# elam asic f4 instance 0

module-4(f4-elam)# layer2

module-4(f4-l2-elam)#

Configuración del disparador

El F4 ASIC admite disparadores ELAM para IPv4, IPv6 y otros. El disparador ELAM debe alinearse con el tipo de trama. Si la trama es una trama IPv4, el disparador también debe ser IPv4. Una trama IPv4 no se captura con otro disparador. La misma lógica se aplica a IPv6.

Con Nexus Operating Systems (NX-OS), puede utilizar el carácter de signo de interrogación para separar el disparador ELAM:

module-4(f4-l2-elam)# trigger dbus ipv4 ingress if ?

(some output omitted)

destination-index         Destination-index

destination-ipv4-address  Destination ipv4 address

destination-ipv4-mask     Destination ipv4 mask

destination-mac-address   Destination mac address

l4-protocol               L4 protocol

source-index              Source-index

source-ipv4-address       Source ipv4 address

source-ipv4-mask          Source ipv4 mask

source-mac-address        Source mac address

Para este ejemplo, la trama se captura de acuerdo con las direcciones IPv4 de origen y destino, por lo que sólo se especifican esos valores.

F4 requiere activadores separados para el DBUS y el RBUS.

Este es el disparador DBUS:

module-4(f4-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address

10.0.5.101 destination-ipv4-address 10.0.3.101

Aquí está el disparador de RBUS:

module-4(f4-l2-elam)# trigger rbus ingress result if tr 1

Iniciar la captura

Ahora que se ha seleccionado el FE de ingreso y ha configurado el disparador, puede iniciar la captura:

module-4(f4-l2-elam)# start

Para verificar el estado del ELAM, ingrese el comando status:

module-4(f4-l2-elam)# status

ELAM Slot 4 instance 0: L2 DBUS/LBD Configuration: trigger dbus ipv4 ingress if

source-ipv4-address 10.0.5.101 destination-ipv4-address 10.0.3.101

L2 DBUS/LBD: Configured

ELAM Slot 4 instance 0: L2 RBUS Configuration: trigger rbus ingress result if tr 1

L2 RBUS: Configured

L2 BIS: Unconfigured

L2 BPL: Unconfigured

L2 EGR: Unconfigured

L2 PLI: Unconfigured

L2 PLE: Unconfigured

Una vez que la FE recibe la trama que coincide con el disparador, el estado de ELAM se muestra como Desencadenado:

module-4(f4-l2-elam)# status

ELAM Slot 4 instance 1: L2 DBUS/LBD Configuration: trigger dbus ipv4 ingress if

source-ipv4-address 10.0.5.101 destination-ipv4-address 10.0.3.101

L2 DBUS/LBD: Triggered

ELAM Slot 4 instance 1: L2 RBUS Configuration: trigger rbus ingress result if tr 1

L2 RBUS: Triggered

L2 BIS: Unconfigured

L2 BPL: Unconfigured

L2 EGR: Unconfigured

L2 PLI: Unconfigured

L2 PLE: Unconfigured

7

Interpretar los resultados

Para mostrar los resultados de ELAM, ingrese los comandos show dbus y show rbus. Si hay un gran volumen de tráfico que coincide con los mismos disparadores, el DBUS y el RBUS podrían activarse en tramas diferentes. Por lo tanto, es importante verificar los números de secuencia internos en los datos DBUS y RBUS para asegurarse de que coincidan:

module-4(f4-l2-elam)# show dbus | i seq

port-id             : 0x0             sequence-number : 0x868

module-4(f4-l2-elam)# show rbus | i seq

de-bri-rslt-valid   : 0x1             sequence-number : 0x868

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-4(f4-l2-elam)# show dbus

--------------------------------------------------------------------

LBD IPV4

--------------------------------------------------------------------

ttl                 : 0xff            l3-packet-length    : 0x54

destination-address: 10.0.3.101

source-address: 10.0.5.101

--------------------------------------------------------------------

packet-length       : 0x66            vlan                : 0x9c4

segid-lsb           : 0x0             source-index        : 0xe05

destination-mac-address : 8c60.4f07.ac65

source-mac-address : 8c60.4fb7.3dc2

port-id             : 0x0             sequence-number     : 0x868

module-4(f4-l2-elam)# show rbus

--------------------------------------------------------------------

L2 RBUS RSLT CAP DATA

--------------------------------------------------------------------

de-bri-rslt-valid   : 0x1             sequence-number     : 0x868

vlan                : 0x37            rbh                 : 0x65

cos                 : 0x0             destination-index   : 0x9ed

Con los datos DBUS, puede verificar que la trama se recibe en la VLAN 2500 con una dirección MAC de origen de 8c60.4fb6.3dc2 y una dirección MAC de destino de 8c60.4f07.ac65. También puede ver que esta es una trama IPv4 que se origina desde 10.0.5.101, y está destinada a 10.0.3.101.

Consejo: Existen otros campos útiles que no se incluyen en esta salida, como el valor de Tipo de servicio (TOS), indicadores IP, longitud de IP y longitud de trama L2.

Para verificar en qué puerto se recibe la trama, ingrese el comando SRC_INDEX (la LTL de destino local de origen). Ingrese este comando para asignar un LTL a un puerto o grupo de puertos para el N7K:

N7700# show system internal pixm info ltl 0xe05

Member info

------------------

Type            LTL

---------------------------------

PHY_PORT       Eth4/1

FLOOD_W_FPOE   0xc031

El resultado muestra que el SRC_INDEX de 0xe05 se mapea al puerto Eth4/1. Esto confirma que la trama se recibe en el puerto Eth4/1.

Con los datos RBUS, puede verificar que la trama se rutea a VLAN 55. Observe que el TTL comienza como 0xff en los datos DBUS. Además, puede confirmar el puerto de salida desde el DEST_INDEX (LTL de destino):

N7K# show system internal pixm info ltl 0x9ed

Member info

------------------

Type            LTL

---------------------------------

PHY_PORT       Eth3/5

FLOOD_W_FPOE   0x8017

FLOOD_W_FPOE   0x8016

El resultado muestra que el DEST_INDEX de 0x9ed se mapea al puerto Eth3/5. Esto confirma que la trama se envía desde el puerto Eth3/5.

Verificación adicional

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 una LTL de caída:

N7700# show system internal pixm info ltl 0xcad

0x0cad is Drop DI LTL

N7700# show system internal pixm info ltl-region

(some output omitted)

===========================================================

PIXM VDC 1 LTL MAP Version: 3

Description: LTL Map for Crossbow

===========================================================

LTL_TYPE                                           SIZE    START   END

========================================================================

LIBLTLMAP_LTL_TYPE_PHY_PORT                        3072    0x0     0xbff

LIBLTLMAP_LTL_TYPE_SUP_ETH_INBAND                  64      0xc00   0xc3f

LIBLTLMAP_LTL_TYPE_UCAST_VPC_VDC_SI                32      0xc40   0xc5f

LIBLTLMAP_LTL_TYPE_EXCEPTION_SPAN                  32      0xc60   0xc7f

LIBLTLMAP_LTL_TYPE_UCAST_GENERIC                   48      0xc80   0xcaf

-------------------------------------------------------------------

SUB-TYPE                                           LTL

-------------------------------------------------------------------

LIBLTLMAP_LTL_TYPE_UCAST_GENERIC_NOT_USED          0xcaf

LIBLTLMAP_LTL_TYPE_DROP_DI_WO_HW_BITSET            0xcae

LIBLTLMAP_LTL_TYPE_DROP_DI                         0xcad

LIBLTLMAP_LTL_TYPE_SUP_DIAG_SI_V5                  0xcac

LIBLTLMAP_LTL_TYPE_RESERVED_ERSPAN_LTL             0xcab

-------------------------------------------------------------------

LIBLTLMAP_LTL_TYPE_LC_CPU                          192     0xcb0   0xd6f

LIBLTLMAP_LTL_TYPE_UCAST_RESERVED                  144     0xd70   0xdff

LIBLTLMAP_LTL_TYPE_PC                              1536    0xe00   0x13ff

LIBLTLMAP_LTL_TYPE_DYNAMIC_UCAST                   5120    0x1400  0x27ff

LIBLTLMAP_LTL_TYPE_MCAST_RESERVED                  48      0x2800  0x282f

LIBLTLMAP_LTL_TYPE_DYNAMIC_MCAST                   38848   0x2830  0xbfef

LIBLTLMAP_LTL_TYPE_SAC_FLOOD                       16      0xbff0  0xbfff

LIBLTLMAP_LTL_TYPE_FLOOD_WITH_FPOE                 16384   0xc000  0xffff