Este documento descreve as etapas usadas para executar um ELAM em um módulo F1 do Cisco Nexus 7000 (N7K), explica as saídas mais relevantes e descreve como interpretar os resultados.
Neste exemplo, um host na VLAN 10 (10.1.1.101 com endereço MAC 0050.56a1.1a01), a porta Eth3/18 envia uma solicitação do Internet Control Message Protocol (ICMP) a um host que também está na VLAN 10 (10.1.1.1.1 com endereço MAC 0050.56a1.1aef), porta Eth3/26. ELAM é usado para capturar esse único quadro de 10.1.1.101 a 10.1.1.102. É importante lembrar que o ELAM permite capturar apenas 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 3
Attaching to module 3 ...
To exit type 'exit', to abort type '$.'
module-3#
Espera-se que o tráfego ingresse no switch na porta Eth3/18. Ao verificar os módulos no sistema, você verá que o Módulo 3 é um módulo F1. É 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 3
Mod Ports Module-Type Model Status
--- ----- -------------------------- ------------------ ----------
3 32 1/10 Gbps Ethernet Module N7K-F132XP-15 ok
Para os módulos F1, execute o ELAM no FE (Layer 2, L2, Mecanismo de Encaminhamento) com o codinome Orion interno. O N7K F1 tem 16 FEs por módulo, portanto você deve determinar o Orion ASIC usado para o FE na porta Eth3/18. Insira 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
Na saída, você pode ver que a porta Eth3/18 está na instância Orion (L2LKP) 8.
module-3# elam asic orion instance 8
module-3(orion-elam)#
O Orion ASIC tem um conjunto muito limitado de acionadores ELAM quando comparado com outros FEs na plataforma N7K. Isso porque F1 é um módulo somente L2. Portanto, ele toma decisões de switching com base nas informações de endereço MAC (ou SwitchID em ambientes FabricPath).
Com o Nexus Operating Systems (NX-OS), você pode usar o caractere de interrogação para separar o disparador do 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 exemplo, o quadro é capturado com base nos endereços MAC origem e destino no bloco de decisão de entrada.
Aqui está o gatilho:
module-3(orion-elam)# trigger di field sa 0050.56a1.1a01 da 0050.56a1.1aef
O módulo F1 é diferente dos outros módulos N7K, porque o ELAM começa imediatamente após a configuração do gatilho. Para verificar o status do ELAM, insira o comando status:
module-3(orion-elam)# status
Armed
Quando o quadro que corresponde ao disparador é recebido pelo FE, o status do ELAM é mostrado como Disparado:
module-3(orion-elam)# status
Triggered
Para exibir os resultados do ELAM, digite o comando show capture. Aqui está o trecho dos dados ELAM mais relevantes para este exemplo (alguns resultados são omitidos):
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
Com essa saída, você pode verificar a LTL (Local Target Logic) de origem (dc3v4_si), o LTL de destino (di), a VLAN (vlanx) e os endereços MAC de origem e destino (5056a11a01 e 5056a11aef , respectivamente).
O LTL de origem (dc3v4_si) representa a porta na qual o quadro é recebido. O ELAM F1 exibe dois resultados para o LTL de destino (1e ou 1f). Isso ocorre porque o analisador ELAM não pode ler o bit menos significativo dos dados ELAM, o que produz um resultado ambíguo. Portanto, a Cisco recomenda que você valide a entrada do endereço MAC do hardware para o endereço de destino e verifique-a com o LTL de destino no ELAM.
N7K# show system internal pixm info ltl 0x17
Type LTL
---------------------------------
PHY_PORT Eth3/18
A saída mostra que o LTL de origem de 0x17 mapeia para a porta Eth3/18. Isso confirma que o quadro é recebido na porta 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
Com essa saída, você pode verificar se a instância Orion 8 (o FE que toma a decisão de encaminhamento para Eth3/18) tem uma entrada de endereço MAC de hardware de 0x1f para o endereço MAC de destino 0050.56a1.1aef. Esse índice também é o LTL de destino (di) nos dados de ELAM F1.
Além disso, você pode verificar se o LTL 0x1f mapeia para a porta Eth3/26. Isso confirma que o quadro é enviado da porta Eth3/26.
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