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 les modules M3 Cisco Nexus 7700 (N7700), 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 le VLAN 2500 (10.0.5.101), le port Eth4/1 envoie une requête ICMP à un hôte sur le VLAN 55 (10.0.3.101), le port Eth3/5. ELAM est utilisé afin de capturer ce paquet unique de 10.0.5.101 à 10.0.3.101. 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) :

N7700# attach module 4

Attaching to module 4 ...

module-4#

Déterminer le moteur de transfert en entrée

Le trafic doit entrer dans le commutateur sur le port Eth4/1. Lorsque vous vérifiez les modules du système, vous voyez que Module 4 est un module M3. 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.

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

Pour les modules de la gamme M, exécutez l'ELAM sur le moteur de transfert de couche 2 (L2) FE (Layer 2) avec le nom de code interne F4. 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.

Les modules M3 N7K peuvent utiliser plusieurs FE pour chaque module, vous devez donc déterminer l'ASIC F4 utilisé pour le FE sur le port Eth4/1. Entrez cette commande afin de vérifier ceci :

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

Dans la sortie, vous pouvez voir que le port Eth4/1 est sur l'instance 0 F4 (L2LKP). Sur le module N77-M312CQ-26L, il y a 6 ASIC F4 avec 2 ports dans chaque groupe de ports. Sur le module N77-M324FQ-25L, il y a 4 ASIC F4 avec 6 ports dans chaque groupe de ports. Le module N77-M348XP-23L dispose de 2 ASIC F4 avec 12 ports dans chaque groupe de ports.

Note: Tout comme les modules de la série F, la syntaxe ELAM du module M3 utilise des valeurs basées sur 0. Ce n'est pas le cas pour les modules M1 et M2, qui utilisent des valeurs basées sur 1.

module-4# elam asic f4 instance 0

module-4(f4-elam)# layer2

module-4(f4-l2-elam)#

Configurer le déclencheur

L'ASIC F4 prend en charge les déclencheurs ELAM pour IPv4, IPv6 et d'autres. 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.

Avec Nexus Operating Systems (NX-OS), vous pouvez utiliser le caractère de point d'interrogation afin de séparer le déclencheur 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

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

F4 nécessite des déclencheurs distincts pour le DBUS et le RBUS.

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

Voici le déclencheur RBUS :

module-4(f4-l2-elam)# trigger rbus ingress result if tr 1

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-4(f4-l2-elam)# start

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

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

Interpréter les résultats

Afin d'afficher les résultats ELAM, entrez les commandes show dbus et show rbus. Si un volume de trafic élevé correspond aux mêmes déclencheurs, le DBUS et le RBUS peuvent se déclencher sur des trames différentes. Par conséquent, il est important de vérifier les numéros de séquence internes sur les données DBUS et RBUS afin de s'assurer qu'ils correspondent :

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

Voici l'extrait des données ELAM qui est le plus pertinent pour cet exemple (certains résultats sont omis) :

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

Avec les données DBUS, vous pouvez vérifier que la trame est reçue sur le VLAN 2500 avec une adresse MAC source de 8c60.4fb6.3dc2 et une adresse MAC de destination de 8c60.4f07.ac65. Vous pouvez également voir qu'il s'agit d'une trame IPv4 qui provient de 10.0.5.101, et qui est destinée à 10.0.3.101.

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 :

N7700# show system internal pixm info ltl 0xe05

Member info

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

Type            LTL

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

PHY_PORT       Eth4/1

FLOOD_W_FPOE   0xc031

Le résultat montre que le SRC_INDEX de 0xe05 mappe au port Eth4/1. Ceci confirme que la trame est reçue sur le port Eth4/1.

Avec les données RBUS, vous pouvez vérifier que la trame est routée vers le VLAN 55. Notez que la durée de vie commence par 0xff dans les données DBUS. En outre, vous pouvez confirmer le port de sortie à partir de DEST_INDEX (LTL de destination) :

N7K# show system internal pixm info ltl 0x9ed

Member info

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

Type            LTL

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

PHY_PORT       Eth3/5

FLOOD_W_FPOE   0x8017

FLOOD_W_FPOE   0x8016

Le résultat montre que le DEST_INDEX de 0x9ed mappe au port Eth3/5. Ceci confirme que la trame est envoyée depuis le port Eth3/5.

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 :

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