Sommario

Introduzione

Topologia

Determinare il motore di inoltro in ingresso

Configurazione del trigger

Avvia l'acquisizione

Interpreta i risultati

Ulteriore verifica

Introduzione

Questo documento descrive i passaggi utilizzati per eseguire un ELAM sui moduli Cisco Nexus serie 7000 (N7K) M, spiega gli output più rilevanti e come interpretare i risultati.

Suggerimento: Fare riferimento al documento ELAM Overview per una panoramica su ELAM.

Topologia

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):

N7K# attach module 4

Attaching to module 4 ...

To exit type 'exit', to abort type '$.'

module-4#

Determinare il motore di inoltro in ingresso

È 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 della serie M. È 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

Mod  Ports  Module-Type                         Model              Status

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

3    32     10 Gbps Ethernet Module             N7K-M132XP-12      ok

4    48     10/100/1000 Mbps Ethernet Module    N7K-M148GT-11      ok

5    0      Supervisor module-1X                N7K-SUP1           active *

6    0      Supervisor module-1X                N7K-SUP1           ha-standby

Per i moduli serie M, eseguire l'ELAM sul Layer 2 (L2) Forwarding Engine (FE) con il nome in codice interno Eureka. Il bus di dati L2 FE (DBUS) contiene le informazioni di intestazione originali prima delle ricerche L2 e Layer 3 (L3), mentre il bus di risultati (RBUS) contiene i risultati dopo entrambe le ricerche L3 e L2. La ricerca L3 viene eseguita dal layer L3/layer 4 (L4) FE con nome in codice interno Lamira, che è lo stesso processo utilizzato sulla piattaforma dello switch Cisco Catalyst serie 6500 con Supervisor Engine 2T.

I moduli serie M N7K possono utilizzare più FE per ciascun modulo, quindi è necessario determinare l'ASIC Eureka utilizzato per il FE sulla porta Eth4/1. Immettere questo comando per verificare:

module-4# show hardware internal dev-port-map

(some output omitted)

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

CARD_TYPE:         48 port 1G

>Front Panel ports:48

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

Device name             Dev role              Abbr num_inst:

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

> Eureka                 DEV_LAYER_2_LOOKUP     L2LKP  1

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

+-----------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++--------+

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

FP port|PHYS |SECUR |MAC_0 |RWR_0 |L2LKP |L3LKP |QUEUE |SWICHF

1     0      0      0      0      0      0      0      0

2     0      0      0      0     0      0      0      0

Nell'output, è possibile vedere che la porta Eth4/1 è sull'istanza Eureka (L2LKP) 0.

Nota: Per i moduli serie M, la sintassi ELAM utilizza valori basati su 1, pertanto l'istanza 0 diventa l'istanza 1 quando si configura l'ELAM. Ciò non è il caso dei moduli della serie F.

module-4# elam asic eureka instance 1

module-4(eureka-elam)#

Configurazione del trigger

Eureka ASIC 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(eureka-elam)# trigger dbus dbi ingress ipv4 if ?

(some output omitted)

destination-flood         Destination Flood

destination-index         Destination Index

destination-ipv4-address  Destination IP Address

destination-mac-address   Destination MAC Address

ip-tos                    IP TOS

ip-total-len              IP Total Length

ip-ttl                    IP TTL

source-mac-address        Source MAC Address

vlan-id                   Vlan ID Number

Nell'esempio, il frame viene acquisito in base agli indirizzi IPv4 di origine e di destinazione, quindi vengono specificati solo i valori specificati.

Eureka richiede l'impostazione di trigger per DBUS e RBUS. I dati RBUS possono risiedere in due diversi Packet Buffer (PB). La determinazione della variante PB corretta dipende dal tipo esatto di modulo e dalla porta in entrata. In genere, è consigliabile configurare PB1 e, se RBUS non viene attivato, ripetere la configurazione con PB2.

Di seguito è riportato il trigger DBUS:

module-4(eureka-elam)# trigger dbus dbi ingress ipv4 if source-ipv4-address

10.0.5.101 destination-ipv4-address 10.0.3.101 rbi-corelate

Di seguito è riportato il trigger RBUS:

module-4(eureka-elam)# trigger rbus rbi pb1 ip if cap2 1

Nota: La parola chiave rbi-correlata alla fine del trigger DBUS è necessaria affinché RBUS venga attivato correttamente sul bit cap2.

Avvia l'acquisizione

Dopo aver selezionato la FE in entrata e configurato il trigger, è possibile avviare l'acquisizione:

module-4(eureka-elam)# start

Per controllare lo stato dell'ELAM, immettere il comando status:

module-4(eureka-elam)# status

Instance: 1

EU-DBUS: Armed

trigger dbus dbi ingress ipv4 if source-ipv4-address 10.0.5.101

destination-ipv4-address 10.0.3.101 rbi-corelate

EU-RBUS: Armed

trigger rbus rbi pb1 ip if cap2 1

LM-DBUS: Dis-Armed

No configuration

LM-RBUS: Dis-Armed

No configuration

Quando il frame che corrisponde al trigger viene ricevuto dal FE, lo stato ELAM viene visualizzato come Triggered:

module-4(eureka-elam)# status

Instance: 1

EU-DBUS: Triggered

trigger dbus dbi ingress ipv4 if source-ipv4-address 10.0.5.101

destination-ipv4-address 10.0.3.101 rbi-corelate

EU-RBUS: Triggered

trigger rbus rbi pb1 ip if cap2 1

LM-DBUS: Dis-Armed

No configuration

LM-RBUS: Dis-Armed

No configuration

Interpreta i risultati

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(eureka-elam)# show dbus | i seq

seq = 0x05

module-4(eureka-elam)# show rbus | i seq

seq = 0x05

Di seguito è riportato l'estratto dei dati ELAM più importante per questo esempio (alcuni output sono omessi):

module-4(eureka-elam)# show dbus

seq = 0x05

vlan = 2500

source_index = 0x00a21

l3_protocol = 0x0   (0:IPv4, 6:IPv6)

l3_protocol_type = 0x01, (1:ICMP, 2:IGMP, 4:IP, 6:TCP, 17:UDP)

dmac = 00.00.0c.07.ac.65

smac = d0.d0.fd.b7.3d.c2

ip_ttl = 0xff

ip_source = 010.000.005.101

ip_destination = 010.000.003.101

module-4(eureka-elam)# show rbus

seq = 0x05

flood = 0x0

dest_index = 0x009ed

vlan = 55

ttl = 0xfe

data(rit/dmac/recir) = 00.05.73.a9.55.41

data(rit/smac/recir) = 84.78.ac.0e.47.41

Con i dati DBUS, è possibile verificare che il frame venga ricevuto sulla VLAN 2500 con un indirizzo MAC di origine d0d0.fdb7.3dc2 e un indirizzo MAC di destinazione 000.0c07.ac65. Si può anche notare che questo è 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:

N7K# show system internal pixm info ltl 0xa21

Member info

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

Type            LTL

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

PHY_PORT       Eth4/1

FLOOD_W_FPOE   0x8014

L'output mostra che il valore SRC_INDEX di 0xa21 è 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 55 e che il valore TTL sia diminuito da 0xff nei dati DBUS a 0xfe nei dati RBUS. Come si può notare, gli indirizzi MAC di origine e destinazione vengono riscritti rispettivamente in 8478.ac0e.4741 e 005.73a9.5541. 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.

Ulteriore verifica

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