Introduction
This document describes the steps used in order to perform an Embedded Logic Analyzer Module (ELAM) on a Cisco Nexus 6000 Switch, explains the most relevant outputs, and describes how to interpret the results.
Topology
IP: 12.12.12.2 SVI vlan 100 IP: 12.12.12.3 IP: 13.13.13.2
(Mac 78da.6e71.95ff) SVI vlan 200 IP: 13.13.13.3 (Mac 78da.6e71.9b7f
A Nexus 6001T switch is used in the previous example, but this procedure and commands used to troubleshoot apply to any model of the Nexus 6000 switch.
Host 1 in Vlan100 with the IP address 12.12.12.2 is connected to a Nexus 6000 switch on port Ethernet2/1. The other end of the Nexus 6000 switch is connected to Host 2 with the IP address 13.13.13.2 on Vlan200 port ethernet2/4.
In this instance Host 1 sends an Address Resolution Protocol (ARP) request to Host 2 in Vlan200. ELAM is used in order to capture this single broadcast packet from 12.12.12.2, which goes to 13.13.13.2. It is important to remember that ELAM allows you to capture a single frame.
Determine the ASIC Instance
Nexus6k-11.25-2-ESC# show platform fwm info pif ethernet 2/1 | inc slot_asic
Eth2/1 pd: slot 1 logical port num 0 slot_asic_num 0 global_asic_num 5 fw_ins
t 8 phy_fw_inst 2 fc 0
Nexus6k-11.25-2-ESC# show platform fwm info pif ethernet 2/4 | inc slot_asic
Eth2/4 pd: slot 1 logical port num 3 slot_asic_num 1 global_asic_num 6 fw_ins
t 4 phy_fw_inst 1 fc 0
The previous output shows that both eth2/1 and eth2/4 correspond to "slot 1."
Note: The slot numbers are 0-based, whereas the bigsur instances are 1-based. Therefore, in this example slot 1 corresponds to bigsur instance 2.
Configure the Trigger
Nexus6k-11.25-2-ESC(config)# elam slot 2 asic bigsur instance ?
*** No matching command found in current mode, matching in (exec) mode ***
<0-5> ASIC Instance Number
all All the ASICs in this slot.
Since the ASIC instance is 0 and 1, in this case you can use all instances.
This trigger captures a packet which matches these parameters:
- Source mac address 78da.6e71.95ff
- VLAN 100
Nexus6k-11.25-2-ESC(config)# elam slot 2 asic bigsur instance 0
Nexus6k-11.25-2-ESC(bigsur-elam)# trigger lu ingress arp if source-mac-address
78da.6e71.95ff vlan 0x64
Note: The VLAN is entered as a HEX value in the ELAM trigger. Enter the hex 100 command in order to convert the decimal to HEX.
Start the Capture
12.12.12.3Nexus6k-11.25-2-ESC(bigsur-elam)# start capture
Nexus6k-11.25-2-ESC(bigsur-elam)# show elam asic bigsur
+-------------------------------+
| Slot | Instance | State |
+-------------------------------+
| -- | -- | -- |
| -- | -- | -- |
| -- | -- | -- |
| -- | -- | -- |
| -- | -- | -- |
| 02 | 00 | Start |
| 02 | 01 | Start |
| 02 | 02 | Start |
| 02 | 03 | Start |
| 02 | 04 | Start |
Nexus6k-11.25-2-ESC(bigsur-elam)# show capture lu
Things of interest in elam capture
Ethernet2/1 IS NOT A PC
+-----------------------------------------+
| Lookup Vector |
+--------------------+--------------------+
| Field | Raw Value |
+--------------------+--------------------+
...
...
...
| CE_DA | 0x002a6a570401 |
| CE_SA | 0x78da6e7195ff |
...
...
| CE_Q0_ETYPE | 0x8100 |
| CE_Q0_VLAN | 100 |
| CE_Q0_VLAN | 100 |
...
...
| ARP_SHA | 0x78da6e7195ff |
| ARP_SPA | 12.12.12.2 |
| ARP_THA | 0x002a6a570401 |
| ARP_TPA | 12.12.12.3 |
Egress Interface: Ethernet2/4 IS NOT A PC
+-----------------------------------------+
| Lookup Vector |
+--------------------+--------------------+
| Field | Raw Value |
+--------------------+--------------------+
| CE_DA | 0xffffffffffff |
| CE_SA | 0x002a6a570401 |
...
...
| ARP_SHA | 0x002a6a570401 |
| ARP_SPA | 13.13.13.3 |
| ARP_THA | 0xffffffffffff |
| ARP_TPA | 13.13.13.2 |
Interpret the Results
This output displays the details of the captured packet.
Nexus6k-11.25-2-ESC(bigsur-elam)# show capture rs
+------------------------------------------+
| Result Vector |
+---------------------+--------------------+
| Field | Raw Value |
+---------------------+--------------------+
| NSH_WORD2 | 0x20640 |
| CE_DA | 0x002a6a570401 |
| CE_DA_RW | 0 |
| CE_SA | 0x78da6e7195ff | <<<<<<<<<< source mac address
| CE_SA_RW | 0 |
...
...
EXT_VLAN | 100 |
| CDCE_DA | 0x020abc000002 |
| CDCE_DA_RW | 1 |
| CDCE_SA | 0x020abc000033 |
| CDCE_SA_RW | 1 |
| CDCE_DTAG_ETYPE | 0x0000 |
| CDCE_QTAG_ETYPE | 0x0000 |
| CDCE_DTAG_TTL | 32 |
| CDCE_DTAG_TTL_RW | 1 |
| CDCE_DTAG_FTAG | 1023 |
| CDCE_DTAG_FTAG_RW | 1 |
Additional Verification
You can also modify the trigger in order to capture based on these parameters for additional verification:
- Source IP address 12.12.12.2
- Destination IP address 13.13.13.2
trigger lu ingress ipv4 if source-ipv4-address_ipv4 12.12.12.2
destination-ipv4-address_ipv4 13.13.13.2
Different Frame Formats Supported by Nexus 6000 ELAM
In addition to IPv4 packets, the Nexus 6000 ELAM can also be configured to capture these frame types:
arp ARP Frame Format
ce CE Frame Format
fc FC Frame Format
Some Common Triggers in ELAM for IPv4 and ARP
In addition to the examples provided, ELAM triggers can also be written to capture based on these parameters:
ce_q0_etype Ce_q0_etype
destination-ipv4-address_ipv4 Destination-ipv4-address_ipv4
destination-mac-address L2 destination address
l2_cos L2 cos (valid for lu ingress trigger only)
l3_ah L3_ah
l3_esp L3_esp
l3_frag L3_frag
l3_ipv6 L3_ipv6
l3_length L3_length
l3_mf L3_mf
l3_none_dest L3_none_dest
l3_none_frag L3_none_frag
l3_none_hbh L3_none_hbh
l3_none_route L3_none_route
l3_opt_none L3_opt_none
l3_prot L3_prot
l3_tos L3_tos
l3_ttl L3_ttl
l4_dp L4_dp
l4_sp L4_sp
l4_tcp_udp L4_tcp_udp
l4_tcpflags L4_tcpflags
max_ipv6_frag Max_ipv6_frag
max_ipv6_hbh Max_ipv6_hbh
pkt_id Pkt_id
sid Sid
source-ipv4-address_ipv4 Source-ipv4-address_ipv4
source-mac-address L2 source address
vlan L2 vlan (valid for lu ingress trigger only)
arp_hlen Arp_hlen
arp_htype Arp_htype
arp_oper Arp_oper
arp_plen Arp_plen
arp_ptype Arp_ptype
arp_sha Arp_sha
arp_spa Arp_spa
arp_tha Arp_tha
arp_tpa Arp_tpa
ce_q0_etype Ce_q0_etype
destination-mac-address L2 destination address
l2_cos L2 cos
pkt_id Pkt_id
sid Sid
source-mac-address L2 source address
vlan Vlan
Related Information