La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive i passaggi utilizzati per eseguire un ELAM sui moduli M3 Cisco Nexus 7700 (N7700), spiega gli output più rilevanti e descrive come interpretare i risultati.
Suggerimento: Fare riferimento al documento ELAM Overview per una panoramica su ELAM.
Nell'esempio, un host sulla VLAN 2500 (10.0.5.101), la porta Eth4/1 invia una richiesta ICMP (Internet Control Message Protocol) a un host sulla VLAN 5 (10.0.3.101), la porta Eth3/5. ELAM viene usato per acquisire questo pacchetto singolo da 10.0.5.101 a 10.0.3.101. È importante ricordare che ELAM consente di acquisire un singolo frame.
Per eseguire un ELAM sulla N7K, è necessario prima connettersi al modulo appropriato (è necessario avere il privilegio di amministratore di rete):
N7700# attach module 4 Attaching to module 4 ... module-4#
È previsto che il traffico entri nello switch sulla porta Eth4/1. Quando si controllano i moduli nel sistema, si osserverà che il modulo 4 è un modulo M3. È 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.
N7700# show module Mod Ports Module-Type Model Status --- ----- ----------------------------------- ------------------ ---------- 1 12 100 Gbps Ethernet Module N77-F312CK-26 ok
3 48 1/10 Gbps Ethernet Module N77-M348XP-23L ok 4 24 10/40 Gbps Ethernet Module N77-M324FQ-25L ok 5 0 Supervisor Module-2 N77-SUP2E active * 6 0 Supervisor Module-2 N77-SUP2E ha-standby 7 24 10/40 Gbps Ethernet Module N77-F324FQ-25 ok Mod Sw Hw --- --------------- ------ 1 7.3(0)DX(1) 1.1
3 7.3(0)DX(1) 1.1 4 7.3(0)DX(1) 1.0 5 7.3(0)DX(1) 1.2 6 7.3(0)DX(1) 1.2 7 7.3(0)DX(1) 1.0
Per i moduli serie M, eseguire l'ELAM sul Layer 2 (L2) Forwarding Engine (FE) con nome in codice interno F4. Notare che l'L2 FE Data Bus (DBUS) contiene le informazioni di intestazione originali prima delle ricerche L2 e Layer 3 (L3) e il Result Bus (RBUS) contiene i risultati dopo entrambe le ricerche L3 e L2.
I moduli M3 N7K possono utilizzare più FE per ciascun modulo, quindi è necessario determinare l'ASIC F4 utilizzato per FE sulla porta Eth4/1. Per verificare questa condizione, immettere questo comando:
module-4# show hardware internal dev-port-map (some output omitted)
-------------------------------------------------------------- CARD_TYPE: 24 port 40G >Front Panel ports:24 -------------------------------------------------------------- Device name Dev role Abbr num_inst: -------------------------------------------------------------- > SLF L3 Driver DEV_LAYER_3_LOOKUP L3LKP 4 > SLF L2FWD driver DEV_LAYER_2_LOOKUP L2LKP 4 +-----------------------------------------------------------------------+ +----------------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++------------+ +-----------------------------------------------------------------------+ FP port | PHYS | MAC_0 | RWR_0 | L2LKP | L3LKP | QUEUE |SWICHF 1 0 0 0 0 0 0,1 2 0 0 0 0 0 0,1 3 0 0 0 0 0 0,1
Nell'output, è possibile vedere che la porta Eth4/1 si trova sull'istanza F4 (L2LKP) 0. Sul modulo N77-M312CQ-26L, sono presenti 6 ASIC F4 con 2 porte in ciascun gruppo di porte. Sul modulo N77-M324FQ-25L sono presenti 4 ASIC F4 con 6 porte in ciascun gruppo di porte. Il modulo N77-M348XP-23L dispone di 2 ASIC F4 con 12 porte in ciascun gruppo di porte.
Nota: Come i moduli della serie F, la sintassi ELAM del modulo M3 utilizza valori basati su 0. Ciò non avviene per i moduli M1 e M2, che utilizzano valori a base 1.
module-4# elam asic f4 instance 0 module-4(f4-elam)# layer2
module-4(f4-l2-elam)#
L'ASIC F4 supporta i trigger ELAM per IPv4, IPv6 e altri. Il trigger ELAM deve essere allineato al tipo di frame. Se il frame è un frame IPv4, il trigger deve essere anche IPv4. Un frame IPv4 non viene acquisito con un altro trigger. La stessa logica si applica a IPv6.
Con Nexus Operating Systems (NX-OS), è possibile utilizzare il punto interrogativo per separare il trigger ELAM:
module-4(f4-l2-elam)# trigger dbus ipv4 ingress if ?
(some output omitted)
destination-index Destination-index
destination-ipv4-address Destination ipv4 address
destination-ipv4-mask Destination ipv4 mask
destination-mac-address Destination mac address
l4-protocol L4 protocol
source-index Source-index
source-ipv4-address Source ipv4 address
source-ipv4-mask Source ipv4 mask
source-mac-address Source mac address
Nell'esempio, il frame viene acquisito in base agli indirizzi IPv4 di origine e di destinazione, quindi vengono specificati solo i valori specificati.
F4 richiede trigger separati per DBUS e RBUS.
Di seguito è riportato il trigger DBUS:
module-4(f4-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address
10.0.5.101 destination-ipv4-address 10.0.3.101
Di seguito è riportato il trigger RBUS:
module-4(f4-l2-elam)# trigger rbus ingress result if tr 1
Dopo aver selezionato la FE in entrata e configurato il trigger, è possibile avviare l'acquisizione:
module-4(f4-l2-elam)# start
Per controllare lo stato dell'ELAM, immettere il comando status:
module-4(f4-l2-elam)# status
ELAM Slot 4 instance 0: L2 DBUS/LBD Configuration: trigger dbus ipv4 ingress if
source-ipv4-address 10.0.5.101 destination-ipv4-address 10.0.3.101
L2 DBUS/LBD: Configured
ELAM Slot 4 instance 0: L2 RBUS Configuration: trigger rbus ingress result if tr 1
L2 RBUS: Configured
L2 BIS: Unconfigured
L2 BPL: Unconfigured
L2 EGR: Unconfigured
L2 PLI: Unconfigured
L2 PLE: Unconfigured
Quando il frame che corrisponde al trigger viene ricevuto dal FE, lo stato ELAM viene visualizzato come Triggered:
module-4(f4-l2-elam)# status
ELAM Slot 4 instance 1: L2 DBUS/LBD Configuration: trigger dbus ipv4 ingress if
source-ipv4-address 10.0.5.101 destination-ipv4-address 10.0.3.101
L2 DBUS/LBD: Triggered
ELAM Slot 4 instance 1: L2 RBUS Configuration: trigger rbus ingress result if tr 1
L2 RBUS: Triggered
L2 BIS: Unconfigured
L2 BPL: Unconfigured
L2 EGR: Unconfigured
L2 PLI: Unconfigured
L2 PLE: Unconfigured 7
Per visualizzare i risultati ELAM, immettere i comandi show dbus e show rbus. Se il volume di traffico è elevato e corrisponde agli stessi trigger, DBUS e RBUS potrebbero attivare due frame diversi. È quindi importante controllare i numeri di sequenza interni sui dati DBUS e RBUS per verificare che corrispondano:
module-4(f4-l2-elam)# show dbus | i seq
port-id : 0x0 sequence-number : 0x868
module-4(f4-l2-elam)# show rbus | i seq
de-bri-rslt-valid : 0x1 sequence-number : 0x868
Di seguito è riportato l'estratto dei dati ELAM più importante per questo esempio (alcuni output sono omessi):
module-4(f4-l2-elam)# show dbus -------------------------------------------------------------------- LBD IPV4 -------------------------------------------------------------------- ttl : 0xff l3-packet-length : 0x54 destination-address: 10.0.3.101 source-address: 10.0.5.101 -------------------------------------------------------------------- packet-length : 0x66 vlan : 0x9c4 segid-lsb : 0x0 source-index : 0xe05 destination-mac-address : 8c60.4f07.ac65 source-mac-address : 8c60.4fb7.3dc2 port-id : 0x0 sequence-number : 0x868 module-4(f4-l2-elam)# show rbus -------------------------------------------------------------------- L2 RBUS RSLT CAP DATA -------------------------------------------------------------------- de-bri-rslt-valid : 0x1 sequence-number : 0x868 vlan : 0x37 rbh : 0x65 cos : 0x0 destination-index : 0x9ed
Con i dati DBUS, è possibile verificare che il frame venga ricevuto sulla VLAN 2500 con un indirizzo MAC di origine pari a 8c60.4fb6.3dc2 e un indirizzo MAC di destinazione pari a 8c60.4f07.ac65. Si tratta inoltre di un frame IPv4 originato da 10.0.5.101 e destinato a 10.0.3.101.
Suggerimento: Sono disponibili diversi altri campi utili non inclusi in questo output, ad esempio il valore TOS (Type of Service), i flag IP, la lunghezza IP e la lunghezza del frame L2.
Per verificare su quale porta viene ricevuto il frame, immettere il comando SRC_INDEX (la logica di destinazione locale (LTL) di origine). Immettere questo comando per eseguire il mapping di una LTL a una porta o a un gruppo di porte per la scheda N7K:
N7700# show system internal pixm info ltl 0xe05 Member info
------------------
Type LTL
---------------------------------
PHY_PORT Eth4/1
FLOOD_W_FPOE 0xc031
L'output mostra che SRC_INDEX di 0xe05 è mappato alla porta Eth4/1. Ciò conferma che il frame viene ricevuto sulla porta Eth4/1.
Con i dati RBUS, è possibile verificare che il frame sia instradato alla VLAN 5. Si noti che il valore TTL inizia come 0xff nei dati DBUS. Inoltre, è possibile confermare la porta in uscita da DEST_INDEX (LTL di destinazione):
N7K# show system internal pixm info ltl 0x9ed
Member info
------------------
Type LTL
---------------------------------
PHY_PORT Eth3/5
FLOOD_W_FPOE 0x8017
FLOOD_W_FPOE 0x8016
L'output mostra che il valore DEST_INDEX di 0x9ed viene mappato sulla porta Eth3/5. Ciò conferma che il frame viene inviato dalla porta Eth3/5.
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 è il comando Drop LTL:
N7700# show system internal pixm info ltl 0xcad 0x0cad is Drop DI LTL N7700# show system internal pixm info ltl-region
(some output omitted) =========================================================== PIXM VDC 1 LTL MAP Version: 3 Description: LTL Map for Crossbow =========================================================== LTL_TYPE SIZE START END ======================================================================== LIBLTLMAP_LTL_TYPE_PHY_PORT 3072 0x0 0xbff LIBLTLMAP_LTL_TYPE_SUP_ETH_INBAND 64 0xc00 0xc3f LIBLTLMAP_LTL_TYPE_UCAST_VPC_VDC_SI 32 0xc40 0xc5f LIBLTLMAP_LTL_TYPE_EXCEPTION_SPAN 32 0xc60 0xc7f LIBLTLMAP_LTL_TYPE_UCAST_GENERIC 48 0xc80 0xcaf ------------------------------------------------------------------- SUB-TYPE LTL ------------------------------------------------------------------- LIBLTLMAP_LTL_TYPE_UCAST_GENERIC_NOT_USED 0xcaf LIBLTLMAP_LTL_TYPE_DROP_DI_WO_HW_BITSET 0xcae LIBLTLMAP_LTL_TYPE_DROP_DI 0xcad LIBLTLMAP_LTL_TYPE_SUP_DIAG_SI_V5 0xcac LIBLTLMAP_LTL_TYPE_RESERVED_ERSPAN_LTL 0xcab ------------------------------------------------------------------- LIBLTLMAP_LTL_TYPE_LC_CPU 192 0xcb0 0xd6f LIBLTLMAP_LTL_TYPE_UCAST_RESERVED 144 0xd70 0xdff LIBLTLMAP_LTL_TYPE_PC 1536 0xe00 0x13ff LIBLTLMAP_LTL_TYPE_DYNAMIC_UCAST 5120 0x1400 0x27ff LIBLTLMAP_LTL_TYPE_MCAST_RESERVED 48 0x2800 0x282f LIBLTLMAP_LTL_TYPE_DYNAMIC_MCAST 38848 0x2830 0xbfef LIBLTLMAP_LTL_TYPE_SAC_FLOOD 16 0xbff0 0xbfff LIBLTLMAP_LTL_TYPE_FLOOD_WITH_FPOE 16384 0xc000 0xffff