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 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.

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

N7700# attach module 4

Attaching to module 4 ...

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

Configurazione del trigger

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

Avvia l'acquisizione

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

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(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.

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 è 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