Inhalt

Einführung

Topologie

Bestimmen der Eingangs-Weiterleitungs-Engine

Konfigurieren des Triggers

Erfassen starten

Interpretieren der Ergebnisse

Zusätzliche Überprüfung

Einführung

In diesem Dokument werden die Schritte zum Durchführen eines ELAM auf Cisco Nexus 7700 (N7700) M3-Modulen beschrieben, die relevantesten Ergebnisse erläutert und die Interpretation der Ergebnisse beschrieben.

Tipp: Eine Übersicht über ELAM finden Sie im ELAM-Übersichtsdokument.

Topologie

In diesem Beispiel sendet ein Host im VLAN 2500 (10.0.5.101), Port Eth4/1 eine ICMP-Anfrage (Internet Control Message Protocol) an einen Host im VLAN 55 (10.0.3.101), Port Eth3/5. ELAM wird verwendet, um dieses einzelne Paket von 10.0.5.101 bis 10.0.3.101 zu erfassen. Es ist wichtig, sich zu erinnern, dass ELAM Ihnen die Erfassung eines einzelnen Frames ermöglicht.

Um ein ELAM auf dem N7K auszuführen, müssen Sie zunächst eine Verbindung mit dem entsprechenden Modul herstellen (hierfür ist die Netzwerk-Admin-Berechtigung erforderlich):

N7700# attach module 4

Attaching to module 4 ...

module-4#

Bestimmen der Eingangs-Weiterleitungs-Engine

Es wird erwartet, dass der Switch an Port Eth4/1 eingeht. Wenn Sie die Module im System überprüfen, sehen Sie, dass Modul 4 ein M3-Modul ist. Es ist wichtig zu beachten, dass das N7K vollständig verteilt ist und dass die Module, nicht der Supervisor, die Weiterleitungsentscheidungen für Datenverkehr auf der Datenebene treffen.

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

Führen Sie bei Modulen der M-Serie das ELAM auf der Layer 2 (L2) Forwarding Engine (FE) mit dem internen Codenamen F4 aus. Beachten Sie, dass der L2 FE Data Bus (DBUS) die ursprünglichen Headerinformationen vor den L2- und L3-Suchläufen enthält, und der Result Bus (RBUS) die Ergebnisse nach L3- und L2-Suchläufen enthält.

N7K M3-Module können mehrere FEs für jedes Modul verwenden. Sie müssen also den F4-ASIC bestimmen, der für die FE an Port Eth4/1 verwendet wird. Geben Sie diesen Befehl ein, um Folgendes zu überprüfen:

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

In der Ausgabe sehen Sie, dass Port Eth4/1 auf F4 (L2LKP) Instanz 0 liegt. Auf dem N77-M312CQ-26L-Modul gibt es 6 F4-ASICs mit 2 Ports in jeder Portgruppe. Auf dem N77-M324FQ-25L-Modul gibt es 4 F4-ASICs mit 6 Ports in jeder Portgruppe. Das N77-M348XP-23L-Modul verfügt über 2 F4-ASICs mit 12 Ports in jeder Portgruppe.

Hinweis: Wie bei Modulen der F-Serie verwendet die ELAM-Syntax des M3-Moduls 0-basierte Werte. Dies ist bei M1- und M2-Modulen, die einstufige Werte verwenden, nicht der Fall.

module-4# elam asic f4 instance 0

module-4(f4-elam)# layer2

module-4(f4-l2-elam)#

Konfigurieren des Triggers

Der F4-ASIC unterstützt ELAM-Trigger für IPv4, IPv6 und andere. Der ELAM-Trigger muss dem Frametyp entsprechen. Wenn der Frame ein IPv4-Frame ist, muss der Trigger auch IPv4 sein. Ein IPv4-Frame wird nicht mit einem anderen Trigger erfasst. Dieselbe Logik gilt für IPv6.

Bei Nexus Operating Systems (NX-OS) können Sie das Fragezeichen verwenden, um den ELAM-Trigger zu trennen:

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

In diesem Beispiel wird der Frame anhand der Quell- und Ziel-IPv4-Adressen erfasst, sodass nur diese Werte angegeben werden.

F4 erfordert separate Trigger für DBUS und RBUS.

Der DBUS-Trigger ist wie folgt:

module-4(f4-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address

10.0.5.101 destination-ipv4-address 10.0.3.101

Der folgende RBUS-Trigger:

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

Erfassen starten

Nachdem der Eingangs-FE ausgewählt und der Trigger konfiguriert wurde, können Sie die Erfassung starten:

module-4(f4-l2-elam)# start

Um den Status des ELAM zu überprüfen, geben Sie den Status-Befehl ein:

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

Sobald der Frame, der zum Trigger passt, von der FE empfangen wird, wird der ELAM-Status als Triggered angezeigt:

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

Interpretieren der Ergebnisse

Um die ELAM-Ergebnisse anzuzeigen, geben Sie die Befehle show dbus und show rbus ein. Wenn ein hohes Datenverkehrsvolumen mit denselben Triggern übereinstimmt, können DBUS und RBUS bei verschiedenen Frames ausgelöst werden. Daher ist es wichtig, die internen Sequenznummern der DBUS- und RBUS-Daten zu überprüfen, um sicherzustellen, dass sie übereinstimmen:

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

Im Folgenden finden Sie den Auszug aus den ELAM-Daten, der für dieses Beispiel am relevantesten ist (einige Ausgabe wird weggelassen):

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

Mithilfe der DBUS-Daten können Sie überprüfen, ob der Frame im VLAN 2500 mit einer Quell-MAC-Adresse von 8c60.4fb6.3dc2 und einer Ziel-MAC-Adresse von 8c60.4f07.ac65 empfangen wird. Sie können auch sehen, dass es sich um einen IPv4-Frame handelt, der von 10.0.5.101 stammt und für 10.0.3.101 bestimmt ist.

Tipp: In dieser Ausgabe sind mehrere andere nützliche Felder nicht enthalten, z. B. der Wert für den Type of Service (TOS), IP-Flags, die IP-Länge und die L2-Frame-Länge.

Um zu überprüfen, an welchem Port der Frame empfangen wird, geben Sie den Befehl SRC_INDEX (die Quelle Local Target Logic (LTL)) ein. Geben Sie diesen Befehl ein, um eine LTL einem Port oder einer Port-Gruppe für das N7K zuzuordnen:

N7700# show system internal pixm info ltl 0xe05

Member info

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

Type            LTL

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

PHY_PORT       Eth4/1

FLOOD_W_FPOE   0xc031

Die Ausgabe zeigt, dass die SRC_INDEX von 0xe05 dem Port Eth4/1 zugeordnet ist. Damit wird bestätigt, dass der Frame an Port Eth4/1 empfangen wird.

Mithilfe der RBUS-Daten können Sie überprüfen, ob der Frame an VLAN 55 weitergeleitet wird. Beachten Sie, dass die TTL in den DBUS-Daten als 0xff beginnt. Zusätzlich können Sie den Ausgangsport von DEST_INDEX bestätigen (Ziel-LTL):

N7K# show system internal pixm info ltl 0x9ed

Member info

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

Type            LTL

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

PHY_PORT       Eth3/5

FLOOD_W_FPOE   0x8017

FLOOD_W_FPOE   0x8016

Die Ausgabe zeigt, dass der DEST_INDEX von 0x9ed Port Eth3/5 zugeordnet ist. Damit wird bestätigt, dass der Frame von Port Eth3/5 gesendet wird.

Zusätzliche Überprüfung

Um zu überprüfen, wie der Switch den LTL-Pool zuweist, geben Sie den Befehl show system internal pixm info ltl-region ein. Die Ausgabe dieses Befehls ist nützlich, um den Zweck einer LTL zu verstehen, wenn sie nicht einem physischen Port zugeordnet wird. Ein gutes Beispiel hierfür ist ein 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