This document describes the steps used in order to perform an ELAM (Embedded Logic Analyzer Module) capture on Cisco Catalyst 6500 Series switches (6500) that run Supervisor Engine 720 (Sup720), explains the most relevant outputs, and describes how to interpret the results. This example also applies to DFC3-enabled linecards.
In this example, the 6500 acts as a router on a stick in order to route traffic between hosts on VLAN 10 and VLAN 20. ELAM is used in order to validate that an Internet Control Message Protocol (ICMP) request from host 10.1.1.100 received on port G5/3 of VLAN 10 is successfully routed back to 20.1.1.100 on port G5/3 of VLAN 20.
Traffic is expected to ingress the switch on port G5/3. When you check the modules in the system, you see that module 5 is the Active supervisor. Therefore, you should configure the ELAM on module 5.
Sup720#show module 5
Mod Ports Card Type Model Serial No.
--- ----- -------------------------------------- ------------------ -----------
5 5 Supervisor Engine 720 10GE (Active) VS-S720-10G SAL1429N5ST
For Sup720, perform the ELAM on the Layer 2 (L2) Forwarding Engine (FE) with internal codename Superman. Note that the L2 FE Data Bus (DBUS) contains the original header information before the L2 and Layer 3 (L3) lookup, and the Result Bus (RBUS) contains the results after both L3 and L2 lookups. The L3 lookup is performed by the L3 FE with internal codename Tycho.
Sup720(config)#service internal
Sup720#show platform capture elam asic superman slot 5
The Superman ASIC supports ELAM triggers for IPv4, IPv6, and others. The ELAM trigger must align with the frame type. If the frame is an IPv4 frame, then the trigger must also be IPv4. An IPv4 frame is not captured with an other trigger. The same logic applies to IPv6. The most commonly used triggers according to the frame-type are shown in this table:
IPv4 | IPv6 | All Frame Types |
---|---|---|
|
|
|
Most of these fields should be self-explanatory. For example, SMAC and DMAC refer to the Source MAC address and the Destination MAC address, IP_SA and IP_DA refer to the Source IPv4 address and the Destination IPv4 address, and L3_PT refers to the L3 Protocol Type, which can be Internet Control Message Protocol (ICMP), Internet Group Management Protocol (IGMP), TCP, or UDP.
For this example, the frame is captured according to the source and destination IPv4 address. Remember that ELAM triggers allow various levels of specificity. Therefore, you can use additional fields, such as Time To Live (TTL), Type of Service (TOS), and Layer3 Protocol Type (L3_PT), if needed. The Superman trigger for this packet is:
Sup720# show platform capture elam trigger dbus ipv4
if ip_sa=10.1.1.100 ip_da=20.1.1.100
Now that the ingress FE is selected and you configured the trigger, you can start the capture:
Sup720#show platform capture elam start
In order to check the status of the ELAM, enter the status command:
Sup720#show platform capture elam status
Active ELAM info:
Slot Cpu Asic Inst Ver PB Elam
---- --- -------- ---- --- -- ----
5 0 ST_SUPER 0 2.2 Y
DBUS trigger: FORMAT=IP L3_PROTOCOL=IPV4 IP_SA=10.1.1.100 IP_DA=20.1.1.100
ELAM capture in progress
Once the frame that matches the trigger is received by the FE, the ELAM status shows as completed:
Sup720#show platform capture elam status
Active ELAM info:
Slot Cpu Asic Inst Ver PB Elam
---- --- -------- ---- --- -- ----
5 0 ST_SUPER 0 2.2 Y
DBUS trigger: FORMAT=IP L3_PROTOCOL=IPV4 IP_SA=10.1.1.100 IP_DA=20.1.1.100
ELAM capture completed
In order to display the ELAM results, enter the data command. Here is an excerpt of the ELAM data output that is most relevant to this example:
Sup720#show platform capture elam data
(some output omitted)
DBUS:
VLAN ............................ [12] = 10
SRC_INDEX ....................... [19] = 0x102
L3_PROTOCOL ..................... [4] = 0 [IPV4]
L3_PT ........................... [8] = 1 [ICMP]
DMAC ............................ = 0014.f179.b640
SMAC ............................ = 0021.5525.423f
IP_TTL .......................... [8] = 255
IP_SA ........................... = 10.1.1.100
IP_DA ........................... = 20.1.1.100
RBUS:
FLOOD ........................... [1] = 1
DEST_INDEX ...................... [19] = 0x14
VLAN ............................ [12] = 20
IP_TTL .......................... [8] = 254
REWRITE_INFO
i0 - replace bytes from ofs 0 to ofs 11 with seq
'00 05 73 A9 55 41 00 14 F1 79 B6 40'.
With the DBUS data, you can verify that the frame is received on VLAN 10 with a source MAC address of 0021.5525.423f and a destination MAC address of 0014.f179.b640. You can also see that this is an IPv4 frame that is sourced from 10.1.1.100, and is destined to 20.1.1.100.
In order to verify on which port the frame is received, enter the SRC_INDEX command (the source Local Target Logic (LTL)). Enter this command in order to map an LTL to a port or group of ports for Sup720:
Sup720#remote command switch test mcast ltl-info index 102
index 0x102 contain ports 5/3
The output shows that the SRC_INDEX of 0x102 maps to port G5/3. This confirms that the frame is received on port G5/3.
With the RBUS data, you can verify that the frame is routed to VLAN 20, and that the TTL is decremented from 255 in the DBUS data to 254 in the RBUS. The REWRITE_INFO from the output shows that the FE replaces bytes 0 through 11 (the first 12 bytes) that represent the MAC address rewrite for the destination and source MAC addresses. Additionally, you can verify from the DEST_INDEX (destination LTL) information where the frame is sent.
Sup720#remote command switch test mcast ltl-info index 8014
index 0x8014 contain ports 5/3
The output shows that the DEST_INDEX of 0x8014 also maps to port G5/3. This confirms that the frame is sent to port G5/3.
For the Virtual Switching System (VSS), you must correlate the physical port with the virtual slot map. Consider this example, where an attempt is made to map the ports that forward frames that are sent to LTL 0xb42.
VSS#remote command switch test mcast ltl index b42
index 0xB42 contain ports 20/1, 36/1
We can see that the LTL maps to virtual slot numbers 20 and 36. In order to check the virtual slot map, enter this command:
VSS#show switch virtual slot-map
Virtual Slot to Remote Switch/Physical Slot Mapping Table:
Virtual Remote Physical Module
Slot No Switch No Slot No Uptime
---------+-----------+----------+----------
<some output omitted>
20 1 4 1d07h
21 1 5 1d08h
36 2 4 20:03:19
37 2 5 20:05:44
The output shows that Slot 20 maps to Switch 1, Module 4, and that Slot 36 maps to Switch 2, Module 4. Therefore, LTL 0xb42 maps to ports 1/4/1 and 2/4/1. If these ports are members of a port-channel, then only one of the ports forwards the frame according to the configured load-balancing scheme.