Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Wat is ELAM?

Topologie

Het identificeren van de Ingress Forwarding Engine

Voorbeeld: ARP ELAM Capture

De trigger configureren

Het resultaat interpreteren

Voorbeeld: IPv4 ELAM Capture

De trigger configureren

Het resultaat interpreteren

Aanvullende verificatie (F3 LTL-regio)

ELAM-beestjes

Inleiding

Dit document beschrijft de stappen die zijn gebruikt om een ELAM (Embedded Logic Analyzer Module) uit te voeren op een Cisco Nexus 7000/7700 F3 module.

Voorwaarden

Vereisten

Cisco raadt u aan bekend te zijn met het Cisco Nexus Operating System (NX-OS) en de basis Nexus-architectuur voordat u doorgaat met de informatie die in dit document wordt beschreven.

ELAM kan alleen worden uitgevoerd door de rol netwerk-admin. Zorg ervoor dat u inlogt als gebruiker met de netwerkbeheerdersrechten.

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- Cisco Nexus 7700 Series switches

- Cisco N7700 F3-Series modules (N77-F324FQ-25, 24-poorts 10/40 Gigabit Ethernet-modules)

- Cisco NX-OS-versies 8.4.9

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Wat is ELAM?

De ELAM helpt bij het oplossen van problemen met het doorsturen van netwerkproblemen door real-time pakketten zonder onderbrekingen vast te leggen, en het heeft geen invloed op prestaties of besturingsplane bronnen. ELAM is een krachtig, korrelig en niet-opdringerig hulpmiddel dat het meest wordt gebruikt door Cisco Technical Assistance Center (TAC)-engineers. Het is echter van cruciaal belang om te weten dat het ELAM-programma slechts één pakket tegelijk opneemt - het eerste pakket dat wordt ontvangen nadat ELAM is gestart. Als u alle pakketten van een stroom moet opnemen, gebruik dan SPAN of ERSPAN.

De ELAM kan vragen beantwoorden als:

- Komt het belangenkader in de switch?

- Van welke haven en VLAN wordt het pakket ontvangen?

- Wat zijn de bron- en doelMAC-adressen van het inkomende pakket?

- Hoe wordt het pakket herschreven en naar welke poort wordt het verzonden?

Topologie

In dit artikel verstuurt Host1, aangesloten op N77-F3 poort E5/23, verkeer naar Host2. ELAM wordt gebruikt om het individuele frame van Host1 naar Host2 op te nemen.

Om een ELAM op de N7K uit te voeren, moet u eerst inloggen als gebruiker met netwerk-admin, en dan moet u verbinding maken met de module.

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

Identificatie van de Ingress Forwarding Engine

De Nexus 7000 werkt als een volledig gedistribueerde switch, waarbij de verzendbeslissingen worden genomen door de verzendende motor van de toegangslijnkaart.

In dit artikel wordt verwacht dat het verkeer van belang de switch via port 5/23 zal binnendringen. In het voorbeeld van de N7K wordt de mModule 5 is een F3-module.

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

Voor F3 modules, voer ELAM op Layer 2 (L2) Forwarding Engine (FE) uit met de interne codenaam 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

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

In deze output is duidelijk dat haven E5/23 bij FE-instantie 11 hoort.

Layer 2 FE Data Bus (DBUS) draagt de oorspronkelijke headerinformatie voorafgaand aan Layer 2 (L2) en Layer 3 (L3) lookups, terwijl de Result Bus (RBUS) de resultaten van zowel L3 als L2 lookups bevat. Voor de meeste probleemoplossingsscenario's volstaat een Layer 2 ELAM-opname.

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

Voorbeeld: ARP ELAM Capture

In dit voorbeeld stuurt Host1 op VLAN 100 (met een IP-adres van 192.168.1.1 en een MAC-adres van 8c60.4fc7.c5bc), gekoppeld aan poort E5/23, een ARP-verzoek (Address Resolution Protocol). Dit verzoek is bedoeld om het MAC-adres voor een andere host op dezelfde VLAN 100 op te lossen, die een IP-adres heeft van 192.168.1.2.

De trigger configureren

De Flanker ASIC ondersteunt ELAM-triggers voor verschillende frametypen. De ELAM-trigger moet overeenkomen met het frametype. Als het frame een ARP-frame is, moet de trigger ook op de ARP-optie zijn ingesteld. Een ARP-frame kan niet worden opgenomen door de andere L2-trigger. Als u ELAM gebruikt om een MPLS-frame op te nemen, selecteert u IPv4 of IPv6 in plaats van MPLS. Raadpleeg voor meer informatie de sectie met bugs.

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

In dit voorbeeld wordt het frame opgenomen op basis van het veld IP-adres van het ARP-frame, zodat alleen deze waarde wordt gespecificeerd.

Flanker vereist dat triggers zijn ingesteld voor zowel de DBUS als de RBUS. De RBUS-trigger is vereenvoudigd,trig komt overeen met dezelfde criteria als de DBUS-trigger.

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

Nu u de trigger hebt ingesteld, kunt u de opname starten.

module-5(fln-l2-elam)# start

Om te controleren of ELAM alle pakketten heeft opgenomen, kunt u de opdracht uitvoerenstatus. De term Armed geeft aan dat er nog geen bijpassende pakketten zijn opgenomen.

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

Pingen van Host1 (192.168.1.1) tot 192.168.1.2. Aangezien er geen ARP ingang op Host1 is, stuurt Host1 het ARP verzoek in een uitzendingspakket. Zodra de FE het ARP frame ontvangt, controleert hij de trigger. Als er een overeenkomst is, vangt ELAM het door:sturen besluit van dit kader, en de status ELAM wordt dan getoond zoals Teweeggebracht.

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

Het resultaat interpreteren

Het resultaat is alleen geldig als de DBUS en de RBUS hetzelfde pakket hebben opgenomen. Daarom is het noodzakelijk om het volgnummer te controleren in zowel de DBUS- als de RBUS-resultaten. Als zij niet aanpassen, kunt u opnieuw beginnen en hen opnieuw vangen tot zij zich richten.

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

Het is aan te raden om eerst de DBUS uitvoer te controleren, omdat het gegevens bevat voorafgaand aan een herschrijven. Hier is een voorbeeld van een ARP ELAM-opname. Een deel van de output is weggelaten.

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

Met de DBUS-gegevens kunt u bevestigen dat het frame wordt ontvangen op VLAN100 (VLAN:0x64) met een MAC-adres van 8c60.4fc7.c5bc en een MAC-adres van de bestemming van ffff.ffff.ffff. U kunt ook identificeren dat dit een ARP verzoekkader uit IP 192.168.1.1 is.

Om de poort te verifiëren waarop het frame is ontvangen, gebruikt u de opdracht (Port Index Manager)PIXM. Deze opdracht geeft de koppeling van een Local Target Logic (LTL) aan een voorpoort of een groep voorpoorten weer.

N77-F3# show system internal pixm info ltl 0xb79

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

Type LTL

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

PHY_PORT Eth5/23

FLOOD_W_FPOE 0xc031

De output onthult dat een bron-index van 0xb79 aan haven E5/23 in kaart brengt. Dit verifieert dat het kader op haven E5/23 wordt ontvangen.

Na het bevestigen dat ELAM het kader van belang heeft gevangen, kunt u het resultaat van het het door:sturen besluit verifiëren met behulp van de RBUS-gegevens (merk op dat sommige output is weggelaten).

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

Met de RBUS-gegevens kunt u bevestigen dat het frame is ingeschakeld op VLAN 100 (0x64). Gebruik de opdracht pixm opnieuw om de uitgaande poort(en) vanaf de di-ltl-index te bepalen.

N77-F3# show system internal pixm info ltl 0xc031

Member info

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

IFIDX LTL

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

Eth5/24 0x0b78

Eth5/23 0x0b79

De output laat zien dat de poorten E5/23 en E5/24 beide behoren tot LTL 0xc031. De ARP-pakketmodules switches naar beide poorten. Zoals het van E5/23 wordt ontvangen, wordt het slechts verzonden van E5/24.

Voorbeeld: IPv4 ELAM Capture

ipv4 l3-elam

In dit voorbeeld is Host1 op VLAN 100 (met een IP-adres van 192.168.1.1/24 en het MAC-adres van 8c60.4fc7.c5bc) verbonden met poort E5/23 en verstuurt een ICMP-verzoek (Internet Control Message Protocol) naar Host2. Host2 heeft een IP-adres van 192.168.2.2/24 en bevindt zich op een ander VLAN, VLAN200.

De trigger configureren

In dit voorbeeld, aangezien Host1 en Host2 in verschillende VLAN’s zijn, wordt het ICMP-pakket van Host1 naar Host2 via Layer 3 op N77-F3 gerouteerd. Layer 2 ELAM wordt gebruikt om het ICMP-verzoekpakket op te nemen.

Zowel de IP-bron (192.168.1.2) als de IP-bestemming (192.168.2.2) worden gecombineerd als DBUS-triggers. ELAM neemt alleen het pakket op dat aan alle triggers voldoet.

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

Start een ping van Host1 (192.168.1.2) naar Host2 (192.168.2.2). Zodra het pakket dat de triggers aanpast door FE-instantie 11 wordt ontvangen, wordt de ELAM-status weergegeven als geactiveerd.

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

Het resultaat interpreteren

Zorg ervoor dat de RBUS en DBUS hetzelfde volgnummer hebben. Deze stap is nodig voor elke opname.

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

Hier is een voorbeeld van een IPv4 ICMP ELAM-opname. Een deel van de output is weggelaten.

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

Met de DBUS-gegevens kunt u bevestigen dat het pakket wordt ontvangen op VLAN100 (VLAN:0x64) met een IP-bron van 192.168.1.2 en een IP-bestemming van 192.168.2.2. U kunt ook identificeren dat dit een IPv4 ICMP-pakket is.

Om de poort te verifiëren waarop het frame is ontvangen, voert u de opdracht (Port Index Manager) uitPIXM. Deze opdracht geeft de koppeling van een Local Target Logic (LTL) aan een voorpoort of een groep voorpoorten weer.

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

De output toont aan dat een bron-index van 0xb79 aan haven E5/23 in kaart brengt. Dit bevestigt dat het frame wordt ontvangen op poort E5/23.

Nadat u hebt bevestigd dat ELAM het ICMP-pakketbelang heeft opgenomen, kunt u het resultaat van het doorsturen verifiëren met behulp van de RBUS-gegevens (let op dat een bepaalde uitvoer is weggelaten). Van de RBUS-gegevens kunt u zien dat het frame van VLAN 100 (0x64) naar VLAN 2000 wordt gerouteerd.

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

Om de uitgaande poort(en) vanaf de di-ltl-index te bepalen, voert u de opdrachtPIXMuit. De output toont aan dat de uitgangspoort E5/24 is.

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

Aanvullende verificatie (F3 LTL-regio)

De output van deze opdracht is nuttig om het doel van een LTL te begrijpen als het niet overeenkomt met een fysieke poort. Voorbeelden zijn Drop LTL en 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

ELAM-beestjes

Cisco bug-ID

Bug title

Versie herstellen

Cisco fout-id CSCux73273

Mpls-trigger voor ELAM op F3 werkt niet

Geen vaste versie, gebruik de tijdelijke oplossing

Cisco bug-id CSCvm65736

N7k: ELAM release trigger clp_elam crash/LC reload

7.3(3)D1(1), 8.2(3) of 8.3(2)