Contents

Introduction

Topologia

Determine o mecanismo de encaminhamento de entrada

Configurar o disparador

Iniciar a captura

Interpretar os resultados

Verificação adicional

Introduction

Este documento descreve as etapas usadas para executar um ELAM nos módulos Cisco Nexus 7700 (N7700) M3, explica as saídas mais relevantes e descreve como interpretar os resultados.

Tip: Consulte o documento ELAM Overview para obter uma visão geral sobre ELAM.

Topologia

Neste exemplo, um host na VLAN 2500 (10.0.5.101), a porta Eth4/1 envia uma solicitação ICMP (Internet Control Message Protocol) a um host na VLAN 55 (10.0.3.101), porta Eth3/5. O ELAM é usado para capturar esse único pacote de 10.0.5.101 a 10.0.3.101. É importante lembrar que o ELAM permite capturar um único quadro.

Para executar um ELAM no N7K, você deve primeiro se conectar ao módulo apropriado (isso requer o privilégio de administrador de rede):

N7700# attach module 4

Attaching to module 4 ...

module-4#

Determine o mecanismo de encaminhamento de entrada

Espera-se que o tráfego ingresse no switch na porta Eth4/1. Ao verificar os módulos no sistema, você verá que o Módulo 4 é um módulo M3. É importante lembrar que o N7K é totalmente distribuído e que os módulos, não o supervisor, tomam as decisões de encaminhamento para o tráfego de dataplane.

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 os módulos da série M, execute o ELAM no FE (L2, Layer 2 Forwarding Engine) com o nome de código interno F4. Observe que o L2 FE Data Bus (DBUS) contém as informações originais do cabeçalho antes das pesquisas de L2 e Camada 3 (L3), e o RBUS (Result Bus) contém os resultados após as pesquisas de L3 e L2.

Os módulos N7K M3 podem usar vários FEs para cada módulo, então você deve determinar o ASIC F4 usado para o FE na porta Eth4/1. Insira este comando para verificar isso:

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

Na saída, você pode ver que a porta Eth4/1 está na instância F4 (L2LKP)0. No módulo N77-M312CQ-26L, há 6 ASICs F4 com 2 portas em cada grupo de portas. No módulo N77-M324FQ-25L, há 4 ASICs F4 com 6 portas em cada grupo de portas. O módulo N77-M348XP-23L tem 2 ASICs F4 com 12 portas em cada grupo de portas.

Note: Assim como os módulos da série F, a sintaxe ELAM do módulo M3 usa valores baseados em 0. Não é o caso dos módulos M1 e M2, que usam valores baseados em 1.

module-4# elam asic f4 instance 0

module-4(f4-elam)# layer2

module-4(f4-l2-elam)#

Configurar o disparador

O ASIC F4 suporta acionadores ELAM para IPv4, IPv6 e outros. O gatilho ELAM deve ser alinhado com o tipo de quadro. Se o quadro for um quadro IPv4, o disparador também deve ser IPv4. Um quadro IPv4 não é capturado com um outro acionador. A mesma lógica se aplica ao IPv6.

Com o Nexus Operating Systems (NX-OS), você pode usar o caractere de interrogação para separar o disparador do 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 exemplo, o quadro é capturado de acordo com os endereços IPv4 origem e destino, portanto, somente esses valores são especificados.

F4 exige acionadores separados para o DBUS e o RBUS.

Aqui está o gatilho do 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

Aqui está o gatilho do RBUS:

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

Iniciar a captura

Agora que o FE de entrada está selecionado e você configurou o acionador, você pode iniciar a captura:

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

Para verificar o status do ELAM, insira o 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

Quando o quadro que corresponde ao disparador é recebido pelo FE, o status do ELAM é mostrado como Disparado:

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 os resultados

Para exibir os resultados do ELAM, insira os comandos show dbus e show rbus. Se houver um alto volume de tráfego que corresponda aos mesmos disparadores, o DBUS e o RBUS podem disparar em quadros diferentes. Portanto, é importante verificar os números de sequência interna nos dados DBUS e RBUS para garantir que eles correspondam:

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

Aqui está o trecho dos dados ELAM mais relevantes para este exemplo (alguns resultados são omitidos):

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

Com os dados DBUS, você pode verificar se o quadro é recebido na VLAN 2500 com um endereço MAC de origem de 8c60.4fb6.3dc2 e um endereço MAC de destino de 8c60.4f07.ac65. Você também pode ver que esse é um quadro IPv4 originado de 10.0.5.101 e destinado a 10.0.3.101.

Tip: Há vários outros campos úteis que não estão incluídos nessa saída, como o valor de Tipo de Serviço (TOS), flags IP, comprimento de IP e comprimento de quadro L2.

Para verificar em que porta o quadro é recebido, insira o comando SRC_INDEX (a LTL (Local Target Logic) de origem). Insira este comando para mapear um LTL para uma porta ou grupo de portas para o N7K:

N7700# show system internal pixm info ltl 0xe05

Member info

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

Type            LTL

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

PHY_PORT       Eth4/1

FLOOD_W_FPOE   0xc031

A saída mostra que o SRC_INDEX de 0xe05 mapeia para a porta Eth4/1. Isso confirma que o quadro é recebido na porta Eth4/1.

Com os dados RBUS, você pode verificar se o quadro é roteado para a VLAN 55. Observe que o TTL começa como 0xff nos dados DBUS. Além disso, você pode confirmar a porta de saída do 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

A saída mostra que o DEST_INDEX de 0x9ed mapeia para a porta Eth3/5. Isso confirma que o quadro é enviado da porta Eth3/5.

Verificação adicional

Para verificar como o switch aloca o pool LTL, insira o comando show system internal pixm info ltl-region. A saída desse comando é útil para entender a finalidade de um LTL se ele não for combinado a uma porta física. Um bom exemplo disso é um LTL de queda:

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