Contenu

Introduction

Topologie

Déterminer le moteur de transfert en entrée

Configurer le déclencheur

Démarrer la capture

Interpréter les résultats

Vérification supplémentaire

Introduction

Ce document décrit les étapes utilisées pour exécuter un ELAM sur un module F2 Cisco Nexus 7000 (N7K), explique les résultats les plus pertinents et explique comment interpréter les résultats.

Astuce : Reportez-vous au document Aperçu de l'ELAM pour obtenir une vue d'ensemble de l'ELAM.

Topologie

Dans cet exemple, un hôte sur VLAN 10 (10.1.1.101 avec l'adresse MAC 0050.56a1.1a01), le port Eth6/4 envoie une requête ICMP à un hôte qui se trouve également sur VLAN 10 (10.1.1.0 avec l'adresse MAC 050.56a1.1aef), port Eth6/3. ELAM est utilisé afin de capturer cette trame unique de 10.1.1.101 à 10.1.1.102. Il est important de se rappeler que ELAM vous permet de capturer une seule trame.

Pour exécuter un ELAM sur le N7K, vous devez d'abord vous connecter au module approprié (cela nécessite le privilège network-admin) :

N7K# attach module 6

Attaching to module 6 ...

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

module-6#

Déterminer le moteur de transfert en entrée

Le trafic doit entrer dans le commutateur sur le port Eth6/4. Lorsque vous vérifiez les modules du système, vous voyez que Module 6 est un module F2. Il est important de se rappeler que le N7K est entièrement distribué et que les modules, et non le superviseur, prennent les décisions de transfert pour le trafic du plan de données.

N7K# show module 6

Mod  Ports  Module-Type                 Model              Status

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

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

Pour les modules F2, exécutez l'ELAM sur le FE (Layer 2) Forwarding Engine) de couche 2 avec le Clipper de nom de code interne. Notez que le bus de données FE de couche 2 (DBUS) contient les informations d'en-tête d'origine avant les recherches de couche 2 et de couche 3 (L3), et le bus de résultats (RBUS) contient les résultats après les recherches de couche 3 et de couche 2.

Le N7K F2 a 12 FE par module, vous devez donc déterminer l'ASIC Clipper qui est utilisé pour le FE sur le port Eth6/4. Entrez cette commande afin de vérifier :

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

Dans la sortie, vous pouvez voir que le port Eth6/4 est sur l'instance 0 Clipper (L2LKP).

module-6# elam asic clipper instance 0

module-6(clipper-elam)# layer2

module-6(clipper-l2-elam)#

Configurer le déclencheur

L'ASIC Clipper prend en charge les déclencheurs ELAM pour plusieurs types de trame. Le déclencheur ELAM doit être aligné sur le type de trame. Si la trame est une trame IPv4, le déclencheur doit également être IPv4. Une trame IPv4 n'est pas capturée avec un autre déclencheur. La même logique s'applique à IPv6.

L'ASIC Clipper prend en charge les types de trame suivants :

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

Avec Nexus Operating Systems (NX-OS), vous pouvez utiliser le caractère de point d'interrogation afin de séparer le déclencheur ELAM. Plusieurs options sont disponibles pour ELAM sur le module 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?

Dans cet exemple, la trame est capturée en fonction des adresses IPv4 source et de destination. Seules ces valeurs sont donc spécifiées.

Le client Clipper nécessite que les déclencheurs soient définis pour le DBUS et le RBUS. Ceci diffère des modules de la gamme M, car il n'est pas nécessaire de spécifier une instance de tampon de paquets (PB). Cela simplifie le déclencheur RBUS.

Voici le déclencheur 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

Voici le déclencheur RBUS :

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

Démarrer la capture

Maintenant que le FE d'entrée est sélectionné et que vous avez configuré le déclencheur, vous pouvez démarrer la capture :

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

Afin de vérifier l'état de l'ELAM, entrez la commande 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

Une fois que la trame qui correspond au déclencheur est reçue par le FE, l'état ELAM s'affiche comme Déclenché :

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

Interpréter les résultats

Afin d'afficher les résultats ELAM, entrez les commandes show dbus et show rbus. Voici l'extrait des données ELAM qui est le plus pertinent pour cet exemple (certains résultats sont omis) :

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

Avec les données DBUS, vous pouvez vérifier que la trame est reçue sur le VLAN 10 (vlan : 0xa) avec l'adresse MAC source 050.56a1.1a01 et l'adresse MAC de destination 0050.56a1.1aef. Vous pouvez également voir qu'il s'agit d'une trame IPv4 qui provient de 10.1.1.101 et qui est destinée à 10.1.1.102.

Astuce : Plusieurs autres champs utiles ne sont pas inclus dans cette sortie, tels que la valeur TOS (Type of Service), les indicateurs IP, la longueur IP et la longueur de trame L2.

Afin de vérifier sur quel port la trame est reçue, entrez la commande SRC_INDEX (la logique cible locale source (LTL)). Entrez cette commande afin de mapper une LTL à un port ou un groupe de ports pour le N7K :

N7K# show system internal pixm info ltl 0x3

Type            LTL

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

PHY_PORT       Eth6/4

Le résultat montre qu'un index source de 0x3 mappe au port Eth6/4. Ceci confirme que la trame est reçue sur le port Eth6/4.

Avec les données RBUS, vous pouvez vérifier que la trame est commutée sur VLAN 10 (id-vlan : 0xa). En outre, vous pouvez confirmer le port de sortie à partir de l'index di-ltl (LTL de destination) :

N7K# show system internal pixm info ltl 0x2

Type            LTL

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

PHY_PORT       Eth6/3

Le résultat montre qu'un di-ltl-index de 0x2 mappe au port Eth6/3. Ceci confirme que la trame est commutée à partir du port Eth6/3.

Vérification supplémentaire

Afin de vérifier comment le commutateur alloue le pool LTL, entrez la commande show system internal pixm info ltl-region. La sortie de cette commande est utile afin de comprendre l'objectif d'une LTL si elle n'est pas mise en correspondance avec un port physique. Un bon exemple en est une LTL Drop :

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