2013-12-26 09:59 AM
このドキュメントは、Cisco Nexus 7000 F2 シリーズ モジュールにおける ELAM の実施手順と、最も関連のある出力結果およびその解釈について示しています。ELAM の概要については、次のドキュメントを参照してください。
この例では、ポート Eth6/4 VLAN 10 上にあるホスト(10.1.1.101)から、ポート Eth6/3 VLAN 10 上にあるホスト(10.1.1.102)へ、ICMP リクエストを送信しています。ELAM を使用して、ホスト間の単一パケットをキャプチャします。ここで注目して頂きたいのは、ELAM は単一フレームをキャプチャできるということです。
Nexus 7000 上で ELAM を実行する場合、まず初めに適切なモジュールをアタッチする必要があります。この手順にはネットワーク管理者権限が必要です。
N7K# attach module 6
Attaching to module 6 ...
To exit type 'exit', to abort type '$.'
module-6#
トラフィックがスイッチのポート Eth6/4 から入ってくると見込んでシステムのモジュールをチェックします。そこで、システム内の module 6 が F2 モジュールであることを確認します。Nexus 7000 のモジュールは完全分散型であるため、データプレーン トラフィックのフォワーディングの決定は、スーパバイザでは行われないということに注意してください。
N7K# show module 6
Mod Ports Module-Type Model Status
--- ----- ----------------------------------- ------------------ ----------
6 48 1/10 Gbps Ethernet Module N7K-F248XP-25E ok
F2 モジュールは、Clipper という内部コードネームを持つ、レイヤ 2 のフォワーディング エンジン(FE)で ELAM を実行します。レイヤ 2 FE のデータ バス(DBUS)には、レイヤ 2 およびレイヤ 3 ルックアップされる前のオリジナルのヘッダ情報が含まれており、リザルト バス(RBUS)には、レイヤ 3 およびレイヤ 2 ルックアップされた後の情報が含まれていることに注意してください。
F2 モジュールは、モジュールごとに 12 個の FE を持つため、その中からポート Eth6/4 への転送に使用される Clipper ASIC を見つけ出す必要があります。これは次のコマンドで確認できます。
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
上記の出力から、Eth6/4 は Clipper (L2LKP)のインスタンス 0 に対応付けられていることが確認できます。
module-6# elam asic clipper instance 0
module-6(clipper-elam)# layer2
module-6(clipper-l2-elam)#
Clipper ASIC は、複数のフレーム タイプの ELAM トリガーをサポートしています。ELAM トリガーは、フレーム タイプと同じ並びである必要があります。フレームが IPv4 フレームである場合、トリガーも IPv4 とする必要があり、IPv4 以外のトリガーではキャプチャされません。IPv6 においても同様です。Clipper がサポートしているフレーム タイプを以下に示します。
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
Nexus Operating Systems(NX-OS)では、疑問符( ? )を入力することで、ELAM トリガーで使用できるコマンドの一覧が表示されます。ここでは、F2 ELAM トリガーに使用できるオプションの一覧が表示されています。
module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if ?
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…
この例では、送信元と宛先の IPv4 アドレスに基づいてフレームをキャプチャするため、それらの値を指定します。
Clipper は、トリガーを DBUS および RBUS の両方に設定する必要があります。M シリーズのモジュールとは異なり、パケット バッファのインスタンスを指定する必要はありません。その分、RBUS トリガーは簡略化されたものになります。
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
RBUS トリガー
module-6(clipper-l2-elam)# trigger rbus ingress if trig
入力 FE の選択およびトリガーの設定を行った上で、キャプチャを開始します。
module-6(clipper-l2-elam)# start
status コマンドで ELAM の詳細を確認できます
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
FE によって、トリガーと一致するフレームが受信されると ELAM の status に Triggered と表示されます。
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
show dbus および show rbus コマンドで、キャプチャされたデータの詳細を表示することができます。以下に示すのは、ELAM の代表的なデータの一部です。
(some output omitted)
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
上記の DBUS data から、送信元 MAC がアドレスが 0050.56a1.1a01 で、宛先 MAC がアドレスが 0050.56a1.1aef のフレームが、 VLAN 10 で受信されたことが確認できます。また、送信元が 10.1.1.101 で、宛先が 10.1.1.102 の IPv4 フレームであることも確認できます。この出力では表示していませんが、他にも TOS 値や IP flags、パケット長、レイヤ 2 のフレーム長など、いくつかのフィールドがあります。
source-index(送信元 LTL)によって受信ポートを確認することができます。Nexus 7000 では、以下のコマンドを使用することで、 LTL とポートまたはポートのグループとの対応付けを確認することができます。
N7K# show system internal pixm info ltl 0x3
Type LTL
---------------------------------
PHY_PORT Eth6/4
上記の出力は source-index である 0x3 が、 ポート Eth6/4 に対応付けされていることが示されておりフレームが Eth6/4 で受信されたことが確認できます。
RBUS data から、フレームは VLAN 10(vlan-id:0xa)に転送されたことが確認できます。また、di-ltl-index(宛先 LTL)から出力ポートを確認することができます。
N7K# show system internal pixm info ltl 0x2
Type LTL
---------------------------------
PHY_PORT Eth6/3
上記の出力は di-ltl-index である 0x2 が、 ポート Eth6/3 に対応付けされていることが示されておりフレームが Eth6/3 に転送されたことが確認できます。
スイッチによる LTL プールへの割り当てを確認する場合、show system internal pixm info ltl-region コマンドを使用します。これは、物理ポートと一致しない LTL が、どういった用途で使用されているのかの確認に役立ちます。以下に Drop LTL の例を示します。
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
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます