O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve as etapas usadas para executar um ELAM (Embedded Logic Analyzer Module) em um módulo Cisco Nexus 7000/7700 F3.
A Cisco recomenda que você tenha familiaridade com o Cisco Nexus Operating System (NX-OS) e a arquitetura Nexus básica antes de continuar com as informações descritas neste documento.
O ELAM só pode ser feito pela função de administrador de rede. Certifique-se de fazer logon como um usuário com privilégio de administrador de rede.
As informações neste documento são baseadas nestas versões de software e hardware:
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
O ELAM auxilia na solução de problemas de encaminhamento de rede, capturando pacotes em tempo real sem interrupções, e não afeta o desempenho ou os recursos do plano de controle. O ELAM é uma ferramenta poderosa, granular e não intrusiva mais comumente usada pelos engenheiros do Cisco Technical Assistance Center (TAC). No entanto, é crucial saber que a ferramenta ELAM captura apenas um pacote por vez - o primeiro pacote recebido após o início do ELAM. Se precisar capturar todos os pacotes de um fluxo, use SPAN ou ERSPAN.
O ELAM pode responder a perguntas como:
Neste artigo, o Host1 conectado à porta N77-F3 E5/23 envia tráfego ao Host2. O ELAM é usado para capturar o quadro individual de Host1 para Host2.
Para executar um ELAM no N7K, você primeiro precisa fazer login como um usuário com network-admin e, em seguida, precisa se conectar ao 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
O Nexus 7000 opera como um switch totalmente distribuído, com decisões de encaminhamento feitas pelo mecanismo de encaminhamento da placa de linha de entrada.
Neste artigo, espera-se que o tráfego de interesse entre no switch através da porta 5/23. No exemplo do N7K, o mMódulo 5 é um 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 módulos F3, execute o ELAM no Layer 2 (L2) Forwarding Engine (FE) com o codinome 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
+-----------------------------------------------------------------------+
Nesta saída, é evidente que a porta E5/23 pertence à instância 11 do FE.
O DBUS (Barramento de Dados FE) de Camada 2 transporta as informações do cabeçalho original antes das pesquisas de Camada 2 (L2) e Camada 3 (L3), enquanto o RBUS (Barramento de Resultado) contém os resultados das pesquisas de L3 e L2. Para a maioria dos cenários de solução de problemas, uma captura ELAM de Camada 2 é 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
Neste exemplo, o Host 1 na VLAN 100 (com um endereço IP de 192.168.1.1 e um endereço MAC de 8c60.4fc7.c5bc), vinculado à porta E5/23, envia uma solicitação de Address Resolution Protocol (ARP). Essa solicitação destina-se a resolver o endereço MAC para outro host na mesma VLAN 100, que tem um endereço IP 192.168.1.2.
O ASIC Flanker suporta acionadores ELAM para vários tipos de quadros. O acionador ELAM deve corresponder ao tipo de quadro. Se o quadro for um quadro ARP, o disparador também deverá ser definido como a opção ARP. Um quadro ARP não pode ser capturado pelo disparador Outro L2. Se você usar o ELAM para capturar um quadro MPLS, selecione IPv4 ou IPv6 em vez de MPLS. Para obter mais detalhes, consulte a seção de bug.
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
Neste exemplo, o quadro é capturado com base no campo de endereço IP de destino do quadro ARP, de modo que somente este valor é especificado.
A Flanker precisa que gatilhos sejam definidos para o DBUS e o RBUS. O acionador RBUS é simplificado,trig
corresponde aos mesmos critérios do acionador 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
Agora que você configurou o disparador, poderá iniciar a captura.
module-5(fln-l2-elam)# start
Para verificar se o ELAM capturou algum pacote, você pode executar ostatus
comando. O termo Armado indica que nenhum pacote correspondente foi capturado ainda.
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
Faça um ping do Host1 (192.168.1.1) para 192.168.1.2. Como não há entrada ARP no Host1, o Host1 envia a solicitação ARP em um pacote de broadcast. Quando o FE recebe o quadro ARP, ele verifica o disparador. Se houver uma correspondência, o ELAM captura a decisão de encaminhamento desse quadro e o status do ELAM é exibido como Triggered.
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
O resultado será válido somente se o DBUS e o RBUS tiverem capturado o mesmo pacote. Portanto, é necessário verificar o número de sequência nos resultados de DBUS e RBUS. Se eles não corresponderem, você poderá reiniciá-los e capturá-los novamente até que se alinhem.
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
É aconselhável primeiro verificar a saída de DBUS, pois ela contém dados antes de qualquer regravação. Este é um exemplo de uma captura ELAM ARP. Observe que parte da saída foi omitida.
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
Com os dados DBUS, você pode confirmar que o quadro é recebido na VLAN100 (vlan:0x64) com um endereço MAC origem de 8c60.4fc7.c5bc e um endereço MAC destino de ffff.ffff.ffff. Você também pode identificar que este é um quadro de solicitação ARP originado do IP 192.168.1.1.
Para verificar a porta na qual o quadro é recebido, use o comandoPIXM
(Port Index Manager). Este comando exibe o mapeamento de uma Lógica de destino local (LTL) para uma porta frontal ou um grupo de portas frontais.
N77-F3# show system internal pixm info ltl 0xb79
------------------
Type LTL
---------------------------------
PHY_PORT Eth5/23
FLOOD_W_FPOE 0xc031
A saída revela que um índice de origem de 0xb79 mapeia para a porta E5/23. Isso verifica se o quadro é recebido na porta E5/23.
Depois de confirmar que o ELAM capturou o quadro de interesse, você pode verificar o resultado da decisão de encaminhamento usando os dados RBUS (observe que algumas saídas foram omitidas).
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
Com os dados RBUS, você pode confirmar se o quadro está comutado na VLAN 100 (0x64). Para determinar a(s) porta(s) de saída do índice di-ltl, use o comando pixm novamente.
N77-F3# show system internal pixm info ltl 0xc031
Member info
------------------
IFIDX LTL
---------------------------------
Eth5/24 0x0b78
Eth5/23 0x0b79
A saída mostra que as portas E5/23 e E5/24 pertencem a LTL 0xc031. O pacote ARP comuta para essas duas portas. Como é recebido de E5/23, só é enviado de E5/24.
Neste exemplo, o Host 1 na VLAN 100 (com um endereço IP de 192.168.1.1/24 e um endereço MAC de 8c60.4fc7.c5bc), está conectado à porta E5/23 e envia uma solicitação do Internet Control Message Protocol (ICMP) ao Host 2. O Host 2 tem um endereço IP 192.168.2.2/24 e está em uma VLAN diferente, VLAN200.
Neste exemplo, como Host1 e Host2 estão em VLANs diferentes, o pacote ICMP de Host1 para Host2 é roteado através da Camada 3 em N77-F3. Um ELAM de Camada 2 é usado para capturar o pacote de solicitação ICMP.
Tanto o IP de origem (192.168.1.2) quanto o IP de destino (192.168.2.2) são combinados como disparadores DBUS. O ELAM captura somente o pacote que corresponde a todos os acionadores.
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 um ping desde o Host 1 (192.168.1.2) até o Host 2 (192.168.2.2). Quando o pacote que corresponde aos acionadores é recebido pela instância 11 do FE, o status do ELAM é exibido como Acionado.
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
Certifique-se de que o RBUS e o DBUS tenham o mesmo número de sequência. Essa etapa é necessária 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 é um exemplo de uma captura de ELAM ICMP IPv4. Observe que parte da saída foi omitida.
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
Com os dados DBUS, você pode confirmar que o pacote é recebido na VLAN100 (vlan:0x64) com um IP origem de 192.168.1.2 e um IP destino de 192.168.2.2. Você também pode identificar que esse é um pacote ICMP IPv4.
Para verificar a porta na qual o quadro é recebido, execute o comandoPIXM
(Port Index Manager). Este comando exibe o mapeamento de uma Lógica de destino local (LTL) para uma porta frontal ou um grupo de portas frontais.
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
A saída mostra que um índice de origem de 0xb79 mapeia para a porta E5/23. Isso confirma que o quadro é recebido na porta E5/23.
Depois de confirmar que o ELAM capturou o pacote ICMP de interesse, você pode verificar o resultado da decisão de encaminhamento usando os dados RBUS (observe que alguma saída foi omitida). A partir dos dados RBUS, você pode ver que o quadro é roteado da VLAN 100 (0x64) para a VLAN 200.
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 a(s) porta(s) de saída do índice di-ltl, execute o comandoPIXM
. A saída mostra que a porta de saída é 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
A saída desse comando é útil para entender a finalidade de um LTL se ele não corresponder a uma porta física. Exemplos incluem Drop LTL e 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 bug da Cisco | Título do erro | Corrigir versão |
ID de bug da Cisco CSCux73273 | O disparador Mpls para ELAM em F3 não está funcionando | Sem versão fixa, use a solução |
ID de bug da Cisco CSCvm65736 | N7k: disparador da versão ELAM clp_elam crash/LC reload | 7.3(3)D1(1) ou 8.2(3) ou 8.3(2) |
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
30-Jan-2024 |
Versão inicial |