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 7000 (N7K) M-Series, 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):

N7K# attach module 4

Attaching to module 4 ...

To exit type 'exit', to abort type '$.'

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 da série M. É 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.

N7K# show module

Mod  Ports  Module-Type                         Model              Status

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

3    32     10 Gbps Ethernet Module             N7K-M132XP-12      ok

4    48     10/100/1000 Mbps Ethernet Module    N7K-M148GT-11      ok

5    0      Supervisor module-1X                N7K-SUP1           active *

6    0      Supervisor module-1X                N7K-SUP1           ha-standby

Para os módulos da série M, execute o ELAM no FE (L2, Layer 2 Forwarding Engine) com o codinome interno Eureka. 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. A pesquisa L3 é realizada pelo FE L3/Layer 4 (L4) com o nome de código interno Lamira, que é o mesmo processo usado na plataforma do switch Cisco Catalyst 6500 Series que executa o mecanismo de supervisão 2T.

Os módulos N7K M-Series podem usar vários FEs para cada módulo, então você deve determinar o ASIC Eureka 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:         48 port 1G

>Front Panel ports:48

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

Device name             Dev role              Abbr num_inst:

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

> Eureka                 DEV_LAYER_2_LOOKUP     L2LKP  1

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

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

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

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

1     0      0      0      0      0      0      0      0

2     0      0      0      0     0      0      0      0

Na saída, você pode ver que a porta Eth4/1 está na instância Eureka (L2LKP)0.

Note: Para os módulos da série M, a sintaxe ELAM usa valores baseados em 1, então a instância 0 se torna a instância 1 quando você configura o ELAM. Não é o caso dos módulos F-Series.

module-4# elam asic eureka instance 1

module-4(eureka-elam)#

Configurar o disparador

O Eureka ASIC 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(eureka-elam)# trigger dbus dbi ingress ipv4 if ?

(some output omitted)

destination-flood         Destination Flood

destination-index         Destination Index

destination-ipv4-address  Destination IP Address

destination-mac-address   Destination MAC Address

ip-tos                    IP TOS

ip-total-len              IP Total Length

ip-ttl                    IP TTL

source-mac-address        Source MAC Address

vlan-id                   Vlan ID Number

Para este exemplo, o quadro é capturado de acordo com os endereços IPv4 origem e destino, portanto, somente esses valores são especificados.

Eureka exige que os disparadores sejam configurados para o DBUS e o RBUS. Há dois buffers de pacote (PB) diferentes nos quais os dados de RBUS podem residir. A determinação da instância de PB correta depende do tipo exato de módulo e da porta de entrada. Normalmente, é recomendável configurar PB1 e, se o RBUS não disparar, repita a configuração com PB2.

Aqui está o gatilho do DBUS:

module-4(eureka-elam)# trigger dbus dbi ingress ipv4 if source-ipv4-address

10.0.5.101 destination-ipv4-address 10.0.3.101 rbi-corelate

Aqui está o gatilho do RBUS:

module-4(eureka-elam)# trigger rbus rbi pb1 ip if cap2 1

Note: A palavra-chave rbi-correlation no final do disparo DBUS é necessária para que o RBUS dispare corretamente no bit cap2.

Iniciar a captura

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

module-4(eureka-elam)# start

Para verificar o status do ELAM, insira o comando status:

module-4(eureka-elam)# status

Instance: 1

EU-DBUS: Armed

trigger dbus dbi ingress ipv4 if source-ipv4-address 10.0.5.101

destination-ipv4-address 10.0.3.101 rbi-corelate

EU-RBUS: Armed

trigger rbus rbi pb1 ip if cap2 1

LM-DBUS: Dis-Armed

No configuration

LM-RBUS: Dis-Armed

No configuration

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

module-4(eureka-elam)# status

Instance: 1

EU-DBUS: Triggered

trigger dbus dbi ingress ipv4 if source-ipv4-address 10.0.5.101

destination-ipv4-address 10.0.3.101 rbi-corelate

EU-RBUS: Triggered

trigger rbus rbi pb1 ip if cap2 1

LM-DBUS: Dis-Armed

No configuration

LM-RBUS: Dis-Armed

No configuration

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(eureka-elam)# show dbus | i seq

seq = 0x05

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

seq = 0x05

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

module-4(eureka-elam)# show dbus

seq = 0x05

vlan = 2500

source_index = 0x00a21

l3_protocol = 0x0   (0:IPv4, 6:IPv6)

l3_protocol_type = 0x01, (1:ICMP, 2:IGMP, 4:IP, 6:TCP, 17:UDP)

dmac = 00.00.0c.07.ac.65

smac = d0.d0.fd.b7.3d.c2

ip_ttl = 0xff

ip_source = 010.000.005.101

ip_destination = 010.000.003.101

module-4(eureka-elam)# show rbus

seq = 0x05

flood = 0x0

dest_index = 0x009ed

vlan = 55

ttl = 0xfe

data(rit/dmac/recir) = 00.05.73.a9.55.41

data(rit/smac/recir) = 84.78.ac.0e.47.41

Com os dados DBUS, você pode verificar se o quadro é recebido na VLAN 2500 com um endereço MAC de origem de d0d0.fdb7.3dc2 e um endereço MAC de destino de 0000.0c07.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:

N7K# show system internal pixm info ltl 0xa21

Member info

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

Type            LTL

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

PHY_PORT       Eth4/1

FLOOD_W_FPOE   0x8014

A saída mostra que o SRC_INDEX do 0xa21 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 e se o TTL é decrementado de 0xff nos dados DBUS para 0xfe nos RBUS. Você pode ver que os endereços MAC origem e destino são regravados para 8478.ac0e.4741 e 0005.73a9.5541, respectivamente. 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 Drop:

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