内容

概要

トポロジ

入力フォワーディング エンジンの決定

トリガーの設定

キャプチャの開始

結果の解釈

その他の検証

概要

このドキュメントでは、Cisco Nexus 7700(N7700)M3モジュールでELAMを実行するための手順、最も関連性の高い出力、結果の解釈方法について説明します。

ヒント：ELAM の概要については、「ELAM の概要」を参照してください。

トポロジ

この例では、VLAN 2500(10.0.5.101)上のホスト(ポートEth4/1)が、VLAN 55(10.0.3.101)上のホスト(ポートEth3/5)にインターネット制御メッセージプロトコル（ICMP要求）をを送信しますELAMは、10.0.5.101 ～ 10.0.3.101の単一パケットをキャプチャするために使用されます。ELAMでは単一フレームをキャプチャできます。

N7K で ELAM を実行するには、最初に適切なモジュールに接続する必要があります（このためネットワーク管理者権限が必要です）。

N7700# attach module 4

Attaching to module 4 ...

module-4#

入力フォワーディング エンジンの決定

トラフィックはポートEth4/1のスイッチに入ることが想定されます。システム内のモジュールを確認すると、モジュール4がM3モジュールであることがわかります。N7K は完全分散型であり、データプレーン トラフィックの転送に関する決定はスーパーバイザではなくモジュールが行うことに留意してください。

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

Mシリーズモジュールの場合は、内部コードF4を使用して、レイヤ2(L2)フォワーディングエンジン(FE)でELAMを実行します。L2 FEデータバス(DBUS)には、L2およびレイヤ3(L3)ルックアップ前の元ヘッダー情報がが含ですL3とL2の両方のルックアップ後の結果が含まれます。

N7K M3モジュールは各モジュールに複数のFEを使用できるため、ポートEth4/1のFEに使用されるF4 ASICを決定する必要があります。これを確認するには、次のコマンドを入力します。

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

出力では、ポートEth4/1がF4(L2LKP)インスタンス0上にあることがわかります。N77-M312CQ-26Lモジュールでは、各ポートグループに2つのポートを持つ6F4 ASICです。N77-M324FQ-25Lモジュールには、各ポートグループに6個のポートを持つ4個のF4 ASICがあります。N77-M348XP-23Lモジュールには、各ポートグループに12個のポートを持つ2個のF4 ASICが搭載されています。

注：Fシリーズモジュールと同様に、M3モジュールのELAM構文は0ベースの値を使用します。これは、1ベースの値を使用するM1およびM2モジュールの場合は該当しません。

module-4# elam asic f4 instance 0

module-4(f4-elam)# layer2

module-4(f4-l2-elam)#

トリガーの設定

F4 ASICは、IPv4、IPv6などのELAMトリガーをサポートします。ELAM トリガーは、フレーム タイプに対応している必要があります。フレームがIPv4フレームの場合、トリガーもIPv4である必要があります。IPv4フレームは他のトリガーではキャプチャされません。IPv6 にも同じ論理が適用されます。

Nexus オペレーティング システム（NX-OS）では、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

送信元 IPv4 アドレスと宛先 IPv4 アドレスに応じてフレームをキャプチャするため、上記の例では送信元 IPv4 アドレスと宛先 IPv4 アドレスの値だけが指定されています。

F4では、DBUSとRBUSに対して個別のトリガーが必要です。

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

次に RBUS トリガーを示します。

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

キャプチャの開始

入力 FE が選択され、トリガーを設定したら、キャプチャを開始できます。

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

ELAM のステータスを確認するには、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

トリガーに一致するフレームを FE が受信すると、ELM ステータスは 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

結果の解釈

ELAM の結果を表示するには、show dbus コマンドと show rbus コマンドを入力します。同じトリガーに大量のトラフィックが一致する場合、DBUS と RBUS が異なるフレームで起動する可能性があります。したがって、DBUS データと RBUS データで内部シーケンス番号を調べて、番号が一致することを確認することが重要となります。

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

次に、この例に最も関連性のある ELAM データ出力部分の抜粋を示します（一部の出力は省略されています）。

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

DBUSデータを使用して、フレームがVLAN 2500で受信され、送信元MACアドレスが8c60.4fb6.3dc2で、宛先MACアドレスが8c60.4f07.ac65であることを確認できます10.0.5.101から送信され、10.0.3.101に送信されるipv4フレーム。

ヒント：この出力に示されていない有用なその他のフィールド（タイプ オブ サービス（ToS）値、IP フラグ、IP 長、L2 フレーム長など）があります。

フレームが受信されるポートを確認するには、SRC_INDEXコマンド(ソースのLocal Target Logic(LTL))を入力します。次のコマンドを入力して、LTLをN7Kのポートまたはポートグループにマップします。

N7700# show system internal pixm info ltl 0xe05

Member info

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

Type            LTL

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

PHY_PORT       Eth4/1

FLOOD_W_FPOE   0xc031

この出力は、0xe05のSRC_INDEXがポートEth4/1にマップされ、フレームがポートEth4/1で受信されたことを示しています。

RBUSデータを使用して、フレームがVLAN 55にルーティングされていることを確認できます。DBUSデータでTTLが0xffで始まることに注目します。さらに、DEST_INDEX（宛先 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

この出力は、0x9edのDEST_INDEXがポートEth3/5にマッピングされていることを示しています。これにより、フレームがポートEth3/5から送信されたことを確認できます。

その他の検証

スイッチがLTLプールを割り当てる方法を確認するには、show system internal pixm info ltl-regionコマンドを入力します。このコマンドの出力は、LTL が物理ポートに一致しない場合に LTL の目的を理解する上で役立ちます。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