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 su un modulo Cisco Nexus 7000 (N7K) F2, 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 10 (10.1.1.101 con indirizzo MAC 0050.56a1.1a01), la porta Eth6/4 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 Eth6/3. Per acquisire questo singolo frame, viene utilizzato ELAM da 0.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 6

Attaching to module 6 ...

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

module-6#

Determinare il motore di inoltro in ingresso

È previsto che il traffico entri nello switch sulla porta Eth6/4. Quando si controllano i moduli nel sistema, si osserverà che il modulo 6 è un modulo F2. È 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 6

Mod  Ports  Module-Type                 Model              Status

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

6    48     1/10 Gbps Ethernet Module   N7K-F248XP-25E     ok

Per i moduli F2, eseguire l'ELAM sul Layer 2 (L2) Forwarding Engine (FE) con il nome in codice interno Clipper. 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.

L'N7K F2 ha 12 FE per modulo, quindi è necessario determinare l'ASIC Clipper utilizzato per l'FE sulla porta Eth6/4. Immettere questo comando per verificare:

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

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

CARD_TYPE:         48 port 10G

>Front Panel ports:48

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

Device name             Dev role              Abbr num_inst:

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

> Clipper FWD            DEV_LAYER_2_LOOKUP     L2LKP  12

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

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

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

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

...

3       0       0       0       0       0       0

4       0       0       0       0       0       0

Nell'output, è possibile vedere che la porta Eth6/4 si trova sull'istanza Clipper (L2LKP) 0.

module-6# elam asic clipper instance 0

module-6(clipper-elam)# layer2

module-6(clipper-l2-elam)#

Configurazione del trigger

L'ASIC Clipper supporta i trigger ELAM per più tipi di frame. 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.

Clipper ASIC supporta i seguenti tipi di frame:

module-6(clipper-l2-elam)# trigger dbus ?

arp    ARP Frame Format

fc     Fc hdr Frame Format

ipv4   IPV4 Frame Format

ipv6   IPV6 Frame Format

other  L2 hdr Frame Format

pup    PUP Frame Format

rarp   Rarp hdr Frame Format

valid  On valid packet

Con Nexus Operating Systems (NX-OS), è possibile utilizzare il punto interrogativo per separare il trigger ELAM. Sono disponibili diverse opzioni per ELAM sul modulo F2:

module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if ?

<CR>

destination-ipv4-address         destination ipv4 address

destination-mac-address          Inner destination mac address

source-index                     Source index

source-ipv4-address              source ipv4 address

source-mac-address               Inner source mac address

vlan                             Vlan

etc?

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

Clipper richiede l'impostazione di trigger per DBUS e RBUS. Questa opzione è diversa dai moduli della serie M, in quanto non è necessario specificare un'istanza di Packet Buffer (PB). Ciò semplifica il trigger RBUS.

Di seguito è riportato il trigger DBUS:

module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address

10.1.1.101 destination-ipv4-address 10.1.1.102

Di seguito è riportato il trigger RBUS:

module-6(clipper-l2-elam)# trigger rbus ingress if trig

Avvia l'acquisizione

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

module-6(clipper-l2-elam)# start

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

module-6(clipper-l2-elam)# status

ELAM instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if

source-ipv4-address 10.1.1.101 destination-ipv4-address 10.1.1.102

L2 DBUS Armed

ELAM instance 0: L2 RBUS Configuration: trigger rbus ingress if trig

L2 RBUS Armed

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

module-6(clipper-l2-elam)# status

ELAM instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if

source-ipv4-address 10.1.1.101 destination-ipv4-address 10.1.1.102

L2 DBUS Triggered

ELAM instance 0: L2 RBUS Configuration: trigger rbus ingress if trig

L2 RBUS Triggered

Interpreta i risultati

Per visualizzare i risultati ELAM, immettere i comandi show dbus e show rbus. Di seguito è riportato l'estratto dei dati ELAM più importante per questo esempio (alcuni output sono omessi):

module-6(clipper-l2-elam)# show dbus

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

L2 DBUS CONTENT - IPV4 PACKET

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

...

vlan                : 0xa             destination-index   : 0x0

source-index        : 0x3             bundle-port         : 0x0

sequence-number     : 0x3f            vl                  : 0x0

...

source-ipv4-address: 10.1.1.101

destination-ipv4-address: 10.1.1.102

destination-mac-address: 0050.56a1.1aef

source-mac-address: 0050.56a1.1a01

module-6(clipper-l2-elam)#  show rbus

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

L2 RBUS INGRESS CONTENT

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

l2-rbus-trigger     : 0x1             sequence-number     : 0x3f

di-ltl-index        : 0x2             l3-multicast-di     : 0x0

source-index        : 0x3             vlan-id             : 0xa

Con i dati DBUS, è possibile verificare che il frame venga ricevuto sulla VLAN 10 (vlan: 0xa) con un indirizzo MAC di origine di 0050.56a1.1a01 e un indirizzo MAC di destinazione di 0050.56a1.1aef. Inoltre, questo è un frame IPv4 che ha origine da 10.1.1.101 e è destinato a 10.1.1.102.

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 0x3

Type            LTL

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

PHY_PORT       Eth6/4

L'output mostra che un indice di origine di 0x3 è mappato alla porta Eth6/4. Ciò conferma che il frame viene ricevuto sulla porta Eth6/4.

Con i dati RBUS, è possibile verificare che il frame sia attivato sulla VLAN 10 (vlan-id: 0xa). Inoltre, è possibile confermare la porta in uscita dall'indice di-ltl (LTL di destinazione):

N7K# show system internal pixm info ltl 0x2

Type            LTL

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

PHY_PORT       Eth6/3

L'output mostra che un indice di-ltl di 0x2 è mappato alla porta Eth6/3. Ciò conferma che il frame è stato commutato dalla porta Eth6/3.

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