Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Informazioni generali

Configurazione

Esempio

Verifica

Risoluzione dei problemi

Informazioni correlate

Introduzione

Questo documento descrive l'uso dello strumento Embedded Logic Analyzer Module (ELAM) all'interno dell'Unified Computing System (UCS) 4th Generation Fabric Interconnect (FI) 6454 e come utilizzarlo al meglio.

Prerequisiti

Non sono previsti prerequisiti per questo documento.

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- UCS 6454 Fabric Interconnect

Componenti usati

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Informazioni generali

UCS 4th Gen FI ha la capacità di eseguire acquisizioni ELAM. Una cattura ELAM viene incorporata nell'ASIC.

Lo strumento ELAM consente di visualizzare in tempo reale i pacchetti inoltrati a livello ASIC. È possibile visualizzare i dettagli di un pacchetto, ad esempio:

- Interfaccia in ingresso e in uscita

- Dimensioni Maximum Transmission Unit (MTU)

- Tag VLAN

- Indirizzo MAC e IP del dispositivo di origine e di destinazione

- Packet Drop e causa

- Contrassegno QoS (Quality of Service)

ELAM fornisce i dettagli dell'inoltro dei pacchetti. Non comporta interruzioni per il piano dati.

Configurazione

Accedere a UCS tramite l'interfaccia della riga di comando (CLI).

Eseguire i seguenti comandi:

#connect nxos a|b

#attach module 1

#debug platform internal tah elam asic 0

#trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

#set outer ...

#start

#report

Nota: La quarta generazione FI è un'unità rack singola con un modulo singolo (modulo 1) con un ASIC (ASIC 0) e una slice (slice 0). Vedere l'output seguente.

RCH-SV-FFAIII-A(nx-os)# show hardware internal tah interface ethernet 1/30

#########################################

IfIndex: 436222464

DstIndex: 6028

IfType: 26

Interface name Ethernet1/30

Asic: 0

Asic: 0     <<<<<

AsicPort: 49

SrcId: 98

Slice: 0    <<<<<

PortOnSlice: 49

Table entries for interface Ethernet1/30

Per gli ELAM in cui il trigger si basa sugli attributi del pacchetto, viene utilizzato "lu-a2d 1". I valori 6 e 1 verranno utilizzati rispettivamente per "in-select" e "out-select" per l'interesse out

Il comando "set outer" è il nostro filtro, è qui che definiamo e diciamo al FI quale pacchetto vogliamo catturare, ci sono una serie di opzioni e possiamo essere granulari come necessario:

module-1(TAH-elam-insel6)# set outer ?

arp   ARP Fields

fcoe  FCoE Fields

ipv4  IPv4 Fields

ipv6  IPv6 Fields

l2    All Layer 2 Fields

l4    L4 Fields

module-1(TAH-elam-insel6)# set outer l2 ?

cfi            CFI Setting

cntag_vld      CNTag Information Valid

cos            Class of Service

dst_mac        Destination MAC Address

qtag_vld       VLAN Tag Information Valid

snap_vld       SNAP Header Information Valid

src_mac        Source MAC Address

vlan           VLAN Id (Present only in case of FEX)

vntag_dvif     VNTAG Destination vif

vntag_looped   VNTAG Header Looped Valid

vntag_pointer  VNTAG Header Pointer Valid

vntag_svif     VNTAG Source vif

vntag_vld      VNTAG Information Valid

module-1(TAH-elam-insel6)# set outer ipv4 ?

checksum       Checksum

dscp           Diff. Serv. Code Point

dst_ip         Destination IP Address

ecn            Explicit Congestion Ntfn

fragment-off   Fragments Offset

header-len     Header Length

more-frags     More Fragments Available

next-protocol  Next Protocol

packet-len     Packet Total Length

pyld-len       Payload Length

src_ip         Source IP Address

ttl            Time to Live

version        Version

Una volta definiti i filtri, eseguire il comando start per eseguire lo strumento ELAM. Se non è stato acquisito nulla che soddisfi la condizione del filtro, viene visualizzato quanto segue:

module-1(TAH-elam-insel6)# report

ELAM not triggered yet on slot - 1, asic - 0, slice - 0

Nota: Il comando "set" sopravvive su ELAM, una buona pratica è eseguire un comando "reset" ogni volta che si intende catturare il traffico con IP, MAC, ecc.

Esempio

1. Eseguire il ping tra VM 172.16.35.31 e gateway 172.16.35.126:

RCH-SV-FFAIII-A(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer ipv4 src_ip 172.16.35.31 dst_ip 172.16.35.126

module-1(TAH-elam-insel6)# start

GBL_C++:  [MSG] rocky_elam_wrapper_init:54:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:149:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000005608118F800000

000000000000000000560811BF00000000000000000000001000000000000000000000000000000000000000000000000000000000001

GBL_C++:  [MSG]   - writing mask=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFF800000

0000000000000000007FFFFFFF80000000000000000000003800000000000000000000000000000000000000000000000000000000001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

============================

Incoming Interface: Eth1/33

Src Idx : 0x1002, Src BD : 35

Outgoing Interface Info: dmod 1, dpid 4

Dst Idx : 0x604, Dst BD : 35

Packet Type: IPv4

Dst MAC address: 8C:60:4F:CD:FD:7C

Src MAC address: 00:25:C5:00:00:1E

.1q Tag0 VLAN: 35,  cos = 0x1

Dst IPv4 address: 172.16.35.126

Src IPv4 address: 172.16.35.31

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   =  1, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len =   84, Checksum       = 0x5f19

L4 Protocol  : 1

ICMP type    : 8

ICMP code    : 0

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

Verifica

Il pacchetto con src_ip 172.16.35.31 e dst_ip 172.16.35.126 è sulla VLAN 35 ed è arrivato sulla porta 1/33 (interfaccia in entrata) ed è stato destinato (interfaccia in uscita) all'interfaccia "dpid4" ...il cosa? "dpid" è l'identificatore interno della porta ASIC e la mappatura può essere trovata con "show interface hardware-mappings":

Incoming Interface: Eth1/33

Src Idx : 0x1002, Src BD : 35

interface Ethernet1/33

description S: Server, Port-channel 1025

no pinning server sticky

switchport mode fex-fabric

priority-flow-control mode on

fex associate 1

channel-group 1025

no shutdown

Outgoing Interface Info: dmod 1, dpid 4

Dst Idx : 0x604, Dst BD : 35

RCH-SV-FFAIII-A(nx-os)# show interface hardware-mappings

Legends:

SMod  - Source Mod. 0 is N/A

Unit  - Unit on which port resides. N/A for port channels

HPort - Hardware Port Number or Hardware Trunk Id:

HName - Hardware port name. None means N/A

FPort - Fabric facing port number. 255 means N/A

NPort - Front panel port number

VPort - Virtual Port Number. -1 means N/A

Slice - Slice Number. N/A for BCM systems

SPort - Port Number wrt Slice. N/A for BCM systems

SrcId - Source Id Number. N/A for BCM systems

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

Name       Ifindex  Smod Unit HPort FPort NPort VPort Slice SPort SrcId

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

.

Eth1/13    1a001800 1    0    4     255   48    -1    0     4     8

Questo "dpid 4" corrisponde anche a quanto consigliato dal "show hardware internal tah interface ethernet 1/13":

RCH-SV-FFAIII-A(nx-os)# show hardware internal tah interface ethernet 1/13

#########################################

IfIndex: 436213760

DstIndex: 6096

IfType: 26

Interface name Ethernet1/13

Asic: 0

Asic: 0

AsicPort: 4     <<<<<

SrcId: 8

Slice: 0

PortOnSlice: 4  <<<<<

Il pacchetto è stato identificato come Internet Control Message Protocol (ICMP) dal protocollo ELAM Layer 4 (L4). Fare riferimento all'elenco dei numeri di protocollo IANA. È possibile anche filtrare la rete usando una dimensione MTU specifica.  L'ELAM si attiva solo quando viene raggiunta la MTU esatta.

module-1(TAH-elam-insel6)# set outer ipv4 src_ip 172.16.35.31 dst_ip 172.16.35.126 packet-len 1500

Dst IPv4 address: 172.16.35.126

Src IPv4 address: 172.16.35.31

Ver     =  4, DSCP    =    0, Don't Fragment = 1

Proto   =  1, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len = 1500, Checksum       = 0x1758

L4 Protocol  : 1

ICMP type    : 8

ICMP code    : 0

Richiesta ARP dalla macchina virtuale (VM) alla rete upstream, con gli indirizzi MAC impostati come filtro:

RCH-SV-FFAIII-B(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer l2 src_mac 00:25:c5:00:00:1e dst_mac ff:ff:ff:ff:ff:ff

module-1(TAH-elam-insel6)# start

GBL_C++:  [MSG] rocky_elam_wrapper_init:36:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:95:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000015820463E004B8A00003C0000000000000000000002000000000000000000000000000000000000000000000000000000000001

GBL_C++:  [MSG]   - writing mask=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000001FFFFFFFFFFFFFFFFFFFE0000000000000000000003800000000000000000000000000000000000000000000000000000000001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

============================

Incoming Interface: Eth1/33

Src Idx : 0x1002, Src BD : 35

Outgoing Interface Info: dmod 1, dpid 4

Dst Idx : 0x604, Dst BD : 35

Packet Type: ARP

Dst MAC address: FF:FF:FF:FF:FF:FF

Src MAC address: 00:25:C5:00:00:1E

.1q Tag0 VLAN: 35,  cos = 0x1

Target Hardware address: 00:00:00:00:00:00

Sender Hardware address: 00:25:C5:00:00:1E

Target Protocol address: 172.16.35.110

Sender Protocol address: 172.16.35.31

ARP opcode: 1

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

Il pacchetto viene identificato dal sistema come ARP, cosa particolarmente utile quando è presente una voce ARP incompleta a livello di VM o gateway.

Se pertinente, vengono elencate anche le porte TCP/UDP. Il test SSH è eseguito qui:

RCH-SV-FFAIII-B(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer ipv4 src_ip 172.16.35.126 dst_ip 172.16.35.31

module-1(TAH-elam-insel6)# start

GBL_C++:  [MSG] rocky_elam_wrapper_init:36:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:95:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000560811BF0000

000000000000000000005608118F80000000000000000000001000000000000000000000000000000000000000000000000000000000001

GBL_C++:  [MSG]   - writing mask=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFF8000

000000000000000000007FFFFFFF80000000000000000000003800000000000000000000000000000000000000000000000000000000001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

============================

Incoming Interface: Eth1/14

Src Idx : 0x604, Src BD : 35

Outgoing Interface Info: dmod 1, dpid 44

Dst Idx : 0x1002, Dst BD : 35

Packet Type: IPv4

Dst MAC address: 00:25:C5:00:00:1E

Src MAC address: 8C:60:4F:CD:FD:7C

.1q Tag0 VLAN: 35,  cos = 0x0

Dst IPv4 address: 172.16.35.31

Src IPv4 address: 172.16.35.126

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   =  6, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len =   60, Checksum       = 0x27f5

L4 Protocol  : 6

TCP Dst Port : 22

TCP Src Port : 15067

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

Risoluzione dei problemi

Vengono registrate anche le gocce. L'FI rifiuta una richiesta ARP:

RCH-SV-FFAIII-B(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer l2 src_mac 00:25:c5:00:00:1e dst_mac ff:ff:ff:ff:ff:ff

module-1(TAH-elam-insel6)# start

GBL_C++:  [MSG] rocky_elam_wrapper_init:54:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:149:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000000000000000000000971400007BFFFFFFFFFFFC00001

GBL_C++:  [MSG]   - writing mask=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFC00001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

============================

Incoming Interface: Eth1/18

Src Idx : 0x603, Src BD : 35

Outgoing Interface Info: dmod 0, dpid 0

Dst Idx : 0x0, Dst BD : 35

Packet Type: ARP

Dst MAC address: FF:FF:FF:FF:FF:FF

Src MAC address: 00:25:C5:00:00:1E

.1q Tag0 VLAN: 35,  cos = 0x1

Target Hardware address: 00:00:00:00:00:00

Sender Hardware address: 00:25:C5:00:00:1E

Target Protocol address: 172.16.35.99

Sender Protocol address: 172.16.35.31

ARP opcode: 1

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

MC_RPF_FAIILURE

SRC_VLAN_MBR

Final Drops:

MC_RPF_FAIILURE

SRC_VLAN_MBR

Il FI riceve una richiesta ARP sulla porta 1/18 (porta uplink) con un MAC di origine di 00:25:c5:00:00:1e che viene appreso localmente su una porta Ethernet virtuale (vEth). Questa condizione attiva una perdita in avanti del percorso inverso (RPF, Reverse Path Forward). Si noti che Info interfaccia in uscita (Outgoing Interface Info) indica dpid 0 che è un drop.

La VLAN 35 non è consentita sulla porta 1/18 e questa condizione ha causato anche il rilascio di SRC_VLAN_MBR.

RCH-SV-FFAIII-A(nx-os)# show run interface ethernet 1/18

interface Ethernet1/18

description U: Uplink

pinning border

switchport mode trunk

switchport trunk allowed vlan 1

channel-group 105 mode active

Informazioni correlate

- Panoramica su ELAM

- Documentazione e supporto tecnico – Cisco Systems