Questo documento descrive i passaggi utilizzati per eseguire un ELAM su un modulo Cisco Nexus 7000 (N7K) F1, spiega gli output più rilevanti e come interpretare i risultati.
Nell'esempio, un host sulla VLAN 10 (10.1.1.101 con indirizzo MAC 0050.56a1.1a01), la porta Eth3/18 invia una richiesta ICMP (Internet Control Message Protocol) a un host sulla VLAN 10 (10.1.1.102 con indirizzo MAC 0050.56a1.1aef), la porta Eth3/26. Per acquisire questo tipo di dati, viene utilizzato ELAM. singolo frame da 10.1.1.101 a 10.1.1.102. È importante ricordare che ELAM consente di acquisire solo un singolo frame.
Per eseguire un ELAM sulla N7K, è necessario prima connettersi al modulo appropriato (è necessario avere il privilegio di amministratore di rete):
N7K# attach module 3
Attaching to module 3 ...
To exit type 'exit', to abort type '$.'
module-3#
È previsto che il traffico entri nello switch sulla porta Eth3/18. Quando si controllano i moduli nel sistema, si osserverà che il modulo 3 è un modulo F1. È importante ricordare che la N7K è completamente distribuita e che i moduli, non il supervisore, prendono le decisioni di inoltro per il traffico della corsia dati.
N7K# show module 3
Mod Ports Module-Type Model Status
--- ----- -------------------------- ------------------ ----------
3 32 1/10 Gbps Ethernet Module N7K-F132XP-15 ok
Per i moduli F1, eseguire l'ELAM sul Layer 2 (L2) Forwarding Engine (FE) con nome in codice interno Orion. La N7K F1 ha 16 FE per modulo, quindi è necessario determinare l'Orion ASIC che viene utilizzato per la FE sulla porta Eth3/18. Immettere questo comando per verificare:
module-3# show hardware internal dev-port-map
(some output omitted)
--------------------------------------------------------------
CARD_TYPE: DCE 32 port 10G
>Front Panel ports:32
--------------------------------------------------------------
Device name Dev role Abbr num_inst:
--------------------------------------------------------------
> Orion Fwding Driver DEV_LAYER_2_LOOKUP L2LKP 16
+--------------------------------------------------------------+
+-----------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++--------+
+--------------------------------------------------------------+
FP port | PHYS | MAC_0 | L2LKP | QUEUE |SWICHF
...
18 8 8 8 8 1
Nell'output, è possibile vedere che la porta Eth3/18 si trova sull'istanza Orion (L2LKP) 8.
module-3# elam asic orion instance 8
module-3(orion-elam)#
L'Orion ASIC dispone di una serie molto limitata di trigger ELAM rispetto alle altre FE sulla piattaforma N7K. Ciò è dovuto al fatto che F1 è un modulo solo L2. Pertanto, prende decisioni di commutazione in base alle informazioni sull'indirizzo MAC (o SwitchID negli ambienti FabricPath).
Con Nexus Operating Systems (NX-OS), è possibile utilizzare il punto interrogativo per separare il trigger ELAM:
module-3(orion-elam)# trigger di field ?
da Destination mac-address
mim_da Destination mac-in-mac-address
mim_sa Source mac-in-mac-address
sa Source mac-address
vlan
Per questo esempio, il frame viene acquisito in base agli indirizzi MAC di origine e di destinazione sul blocco decisionale in entrata.
Trigger:
module-3(orion-elam)# trigger di field sa 0050.56a1.1a01 da 0050.56a1.1aef
Il modulo F1 è diverso dagli altri moduli N7K, in quanto l'ELAM inizia immediatamente dopo la configurazione del trigger. Per controllare lo stato dell'ELAM, immettere il comando status:
module-3(orion-elam)# status
Armed
Quando il frame che corrisponde al trigger viene ricevuto dal FE, lo stato ELAM viene visualizzato come Triggered:
module-3(orion-elam)# status
Triggered
Per visualizzare i risultati ELAM, immettere il comando show capture. Di seguito è riportato l'estratto dei dati ELAM più importante per questo esempio (alcuni output sono omessi):
module-3(orion-elam)# show capture
dc3v4_si[11:0] : 17
vlanx : a
di : 1e or 1f
res_eth_da : 5056a11aef
res_eth_sa : 5056a11a01
Destination MAC (res_eth_da) 5056a11aef = 0050.56a1.1aef
Source MAC (res_eth_sa) 5056a11a01 = 0050.56a1.1a01
Con questo output, è possibile verificare la logica di destinazione locale (LTL) di origine (dc3v4_si), la LTL di destinazione (di), la VLAN (vlanx) e gli indirizzi MAC di origine e di destinazione (rispettivamente, 5056a11a01 e 5056a11aef).
L'LTL di origine (dc3v4_si) rappresenta la porta su cui viene ricevuto il frame. Il comando ELAM F1 visualizza due risultati per il comando LTL di destinazione (1e o 1f). Ciò si verifica perché il parser ELAM non è in grado di leggere il bit meno significativo dei dati ELAM, il che produce un risultato ambiguo. Pertanto, Cisco consiglia di convalidare la voce dell'indirizzo MAC hardware per l'indirizzo di destinazione e di verificarla con il LTL di destinazione nell'ELAM.
N7K# show system internal pixm info ltl 0x17
Type LTL
---------------------------------
PHY_PORT Eth3/18
L'output mostra che l'LTL di origine 0x17 è mappato alla porta Eth3/18. Ciò conferma che il frame viene ricevuto sulla porta Eth3/18.
module-3# show hardware mac address-table fe 8
address 0050.56a1.1aef vlan 10 vdc 1
(some output omitted)
FE | Valid| PI| BD | MAC | Index|
| | | | | |
---+------+---+------+---------------+-------+
8 1 0 34 0050.56a1.1aef 0x0001f
N7K# show system internal pixm info ltl 0x1f
Type LTL
---------------------------------
PHY_PORT Eth3/26
Con questo output, è possibile verificare che l'istanza 8 di Orion (la FE che prende la decisione di inoltro per Eth3/18) abbia una voce di indirizzo MAC hardware di 0x1f per l'indirizzo MAC di destinazione 0050.56a1.1aef. Questo indice è anche la destinazione LTL (di) all'interno dei dati F1 ELAM.
Inoltre, è possibile verificare che LTL 0x1f esegua il mapping alla porta Eth3/26. Ciò conferma che il frame viene inviato dalla porta Eth3/26.
Per verificare in che modo lo switch alloca il pool LTL, immettere il comando show system internal pixm info ltl-region. L'output di questo comando è utile per comprendere lo scopo di una LTL se non corrisponde a una porta fisica. Un buon esempio è un Drop LTL:
N7K# show system internal pixm info ltl 0x11a0
0x11a0 is not configured
N7K# show system internal pixm info ltl-region
LTL POOL TYPE SIZE RANGE
=====================================================================
DCE/FC Pool 1024 0x0000 to 0x03ff
SUP Inband LTL 32 0x0400 to 0x041f
MD Flood LTL 1 0x0420
Central R/W 1 0x0421
UCAST Pool 1536 0x0422 to 0x0a21
PC Pool 1720 0x0a22 to 0x10d9
LC CPU Pool 32 0x1152 to 0x1171
EARL Pool 72 0x10da to 0x1121
SPAN Pool 48 0x1122 to 0x1151
UCAST VDC Use Pool 16 0x1172 to 0x1181
UCAST Generic Pool 30 0x1182 to 0x119f
LISP Pool 4 0x1198 to 0x119b
Invalid SI 1 0x119c to 0x119c
ESPAN SI 1 0x119d to 0x119d
Recirc SI 1 0x119e to 0x119e
Drop DI 2 0x119f to 0x11a0
UCAST (L3_SVI_SI) Region 31 0x11a1 to 0x11bf
UCAST (Fex/GPC/SVI-ES) 3648 0x11c0 to 0x1fff
UCAST Reserved for Future Use Region 2048 0x2000 to 0x27ff
======================> UCAST MCAST BOUNDARY <======================
VDC OMF Pool 32 0x2800 to 0x281f