内容

概要

前提条件

要件

使用するコンポーネント

背景情報

設定

例

確認

トラブルシュート

関連情報

概要

このドキュメントでは、Unified Computing System(UCS)4th Generation Fabric Interconnect(FI)6454内でのEmbedded Logic Analyzer Module(ELAM)ツールの使用方法と、その使用方法について説明します。

前提条件

このドキュメントには前提条件はありません。

要件

次の項目に関する知識があることが推奨されます。

- UCS 6454ファブリックインターコネクト

使用するコンポーネント

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景情報

UCS第4世代FIには、ELAMキャプチャを実行する機能があります。ELAMキャプチャはASICに組み込まれています。

ELAMツールを使用すると、ASICレベルで転送されるパケットをリアルタイムで表示できます。次のようなパケットの詳細を表示できます。

- 入力および出力インターフェイス

- 最大伝送ユニット(MTU)サイズ

- VLANタグ

- 送信元デバイスと宛先デバイスのMACアドレスとIPアドレス

- パケットドロップと原因

- Quality of Service(QoS)マーキング

ELAMはパケット転送の詳細を提供します。データプレーンに対して中断されます。

設定

コマンドラインインターフェイス(CLI)でUCSにログインします。

次のコマンドを実行します。

#connect nxos a|b

#attach module 1

#debug platform internal tah elam asic 0

#trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

#set outer ...

#start

#report

注：第4世代FIは、1つのASIC(asic 0)と1つのスライス（スライス0）を備えた1つのシングルモジュール（モジュール1）を備えたシングルラックユニットです。 下の出力を参照してください。

RCH-SV-FFAIII-A(nx-os)# show hardware internal tah interface ethernet 1/30

#########################################

IfIndex: 436222464

DstIndex: 6028

IfType: 26

Interface name Ethernet1/30

Asic: 0

Asic: 0     <<<<<

AsicPort: 49

SrcId: 98

Slice: 0    <<<<<

PortOnSlice: 49

Table entries for interface Ethernet1/30

トリガーがパケット属性「lu-a2d 1」に基づくELAMに対して使用されます。値6と1は、それぞれ「in-select」と「out-select」に使用されます

「set outer」コマンドはフィルタです。ここでは、キャプチャするパケットを定義してFIに伝えます。オプションの数が多く、必要に応じてきめ細かく設定できます。

module-1(TAH-elam-insel6)# set outer ?

arp   ARP Fields

fcoe  FCoE Fields

ipv4  IPv4 Fields

ipv6  IPv6 Fields

l2    All Layer 2 Fields

l4    L4 Fields

module-1(TAH-elam-insel6)# set outer l2 ?

cfi            CFI Setting

cntag_vld      CNTag Information Valid

cos            Class of Service

dst_mac        Destination MAC Address

qtag_vld       VLAN Tag Information Valid

snap_vld       SNAP Header Information Valid

src_mac        Source MAC Address

vlan           VLAN Id (Present only in case of FEX)

vntag_dvif     VNTAG Destination vif

vntag_looped   VNTAG Header Looped Valid

vntag_pointer  VNTAG Header Pointer Valid

vntag_svif     VNTAG Source vif

vntag_vld      VNTAG Information Valid

module-1(TAH-elam-insel6)# set outer ipv4 ?

checksum       Checksum

dscp           Diff. Serv. Code Point

dst_ip         Destination IP Address

ecn            Explicit Congestion Ntfn

fragment-off   Fragments Offset

header-len     Header Length

more-frags     More Fragments Available

next-protocol  Next Protocol

packet-len     Packet Total Length

pyld-len       Payload Length

src_ip         Source IP Address

ttl            Time to Live

version        Version

フィルタを定義したら、コマンドstartを実行し、ELAMツールを実行します。フィルタ条件を満たすものが何もキャプチャされていない場合は、次のように表示されます。

module-1(TAH-elam-insel6)# report

ELAM not triggered yet on slot - 1, asic - 0, slice - 0

注：「set」コマンドはELAMを越えて存続します。異なるIP、MACなどのトラフィックをキャプチャしようとするたびに「reset」コマンドを実行することをお勧めします。

例

1. VM 172.16.35.31からゲートウェイ172.16.35.126にpingします。

RCH-SV-FFAIII-A(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer ipv4 src_ip 172.16.35.31 dst_ip 172.16.35.126

module-1(TAH-elam-insel6)# start

GBL_C++:  [MSG] rocky_elam_wrapper_init:54:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:149:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000005608118F800000

000000000000000000560811BF00000000000000000000001000000000000000000000000000000000000000000000000000000000001

GBL_C++:  [MSG]   - writing mask=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFF800000

0000000000000000007FFFFFFF80000000000000000000003800000000000000000000000000000000000000000000000000000000001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

============================

Incoming Interface: Eth1/33

Src Idx : 0x1002, Src BD : 35

Outgoing Interface Info: dmod 1, dpid 4

Dst Idx : 0x604, Dst BD : 35

Packet Type: IPv4

Dst MAC address: 8C:60:4F:CD:FD:7C

Src MAC address: 00:25:C5:00:00:1E

.1q Tag0 VLAN: 35,  cos = 0x1

Dst IPv4 address: 172.16.35.126

Src IPv4 address: 172.16.35.31

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   =  1, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len =   84, Checksum       = 0x5f19

L4 Protocol  : 1

ICMP type    : 8

ICMP code    : 0

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

確認

src_ip 172.16.35.31およびdst_ip 172.16.35.126のパケットはVLAN 35にあり、ポート1/33（着信インターフェイス）に到着し、インターフェイス「dpid4」に宛てられた（発信インターフェイス）。何？「dpid」はASICポートの内部識別子で、マッピングは「show interface hardware-mappings」で確認できます。

Incoming Interface: Eth1/33

Src Idx : 0x1002, Src BD : 35

interface Ethernet1/33

description S: Server, Port-channel 1025

no pinning server sticky

switchport mode fex-fabric

priority-flow-control mode on

fex associate 1

channel-group 1025

no shutdown

Outgoing Interface Info: dmod 1, dpid 4

Dst Idx : 0x604, Dst BD : 35

RCH-SV-FFAIII-A(nx-os)# show interface hardware-mappings

Legends:

SMod  - Source Mod. 0 is N/A

Unit  - Unit on which port resides. N/A for port channels

HPort - Hardware Port Number or Hardware Trunk Id:

HName - Hardware port name. None means N/A

FPort - Fabric facing port number. 255 means N/A

NPort - Front panel port number

VPort - Virtual Port Number. -1 means N/A

Slice - Slice Number. N/A for BCM systems

SPort - Port Number wrt Slice. N/A for BCM systems

SrcId - Source Id Number. N/A for BCM systems

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

Name       Ifindex  Smod Unit HPort FPort NPort VPort Slice SPort SrcId

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

.

Eth1/13    1a001800 1    0    4     255   48    -1    0     4     8

この「dpid 4」は、「show hardware internal tah interface ethernet 1/13」が示す内容にも対応しています。

RCH-SV-FFAIII-A(nx-os)# show hardware internal tah interface ethernet 1/13

#########################################

IfIndex: 436213760

DstIndex: 6096

IfType: 26

Interface name Ethernet1/13

Asic: 0

Asic: 0

AsicPort: 4     <<<<<

SrcId: 8

Slice: 0

PortOnSlice: 4  <<<<<

パケットは、ELAMレイヤ4(L4)プロトコルによってインターネット制御メッセージプロトコル(ICMP)として識別されました。IANAプロトコル番号のリストを参照してください。特定のMTUサイズでフィルタリングすることもできます。 ELAMは、正確なMTUがヒットした場合にのみトリガーされます。

module-1(TAH-elam-insel6)# set outer ipv4 src_ip 172.16.35.31 dst_ip 172.16.35.126 packet-len 1500

Dst IPv4 address: 172.16.35.126

Src IPv4 address: 172.16.35.31

Ver     =  4, DSCP    =    0, Don't Fragment = 1

Proto   =  1, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len = 1500, Checksum       = 0x1758

L4 Protocol  : 1

ICMP type    : 8

ICMP code    : 0

仮想マシン(VM)からアップストリームネットワークへのARP要求。MACアドレスはフィルタとして設定されます。

RCH-SV-FFAIII-B(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer l2 src_mac 00:25:c5:00:00:1e dst_mac ff:ff:ff:ff:ff:ff

module-1(TAH-elam-insel6)# start

GBL_C++:  [MSG] rocky_elam_wrapper_init:36:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:95:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000015820463E004B8A00003C0000000000000000000002000000000000000000000000000000000000000000000000000000000001

GBL_C++:  [MSG]   - writing mask=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000001FFFFFFFFFFFFFFFFFFFE0000000000000000000003800000000000000000000000000000000000000000000000000000000001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

============================

Incoming Interface: Eth1/33

Src Idx : 0x1002, Src BD : 35

Outgoing Interface Info: dmod 1, dpid 4

Dst Idx : 0x604, Dst BD : 35

Packet Type: ARP

Dst MAC address: FF:FF:FF:FF:FF:FF

Src MAC address: 00:25:C5:00:00:1E

.1q Tag0 VLAN: 35,  cos = 0x1

Target Hardware address: 00:00:00:00:00:00

Sender Hardware address: 00:25:C5:00:00:1E

Target Protocol address: 172.16.35.110

Sender Protocol address: 172.16.35.31

ARP opcode: 1

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

パケットはシステムによってARPとして識別されます。これは、VMまたはゲートウェイレベルで不完全なARPエントリがある場合に特に便利です。

該当する場合、TCP/UDPポートもリストされます。SSHは次の場所でテストされます。

RCH-SV-FFAIII-B(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer ipv4 src_ip 172.16.35.126 dst_ip 172.16.35.31

module-1(TAH-elam-insel6)# start

GBL_C++:  [MSG] rocky_elam_wrapper_init:36:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:95:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000560811BF0000

000000000000000000005608118F80000000000000000000001000000000000000000000000000000000000000000000000000000000001

GBL_C++:  [MSG]   - writing mask=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000007FFFFFFF8000

000000000000000000007FFFFFFF80000000000000000000003800000000000000000000000000000000000000000000000000000000001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

============================

Incoming Interface: Eth1/14

Src Idx : 0x604, Src BD : 35

Outgoing Interface Info: dmod 1, dpid 44

Dst Idx : 0x1002, Dst BD : 35

Packet Type: IPv4

Dst MAC address: 00:25:C5:00:00:1E

Src MAC address: 8C:60:4F:CD:FD:7C

.1q Tag0 VLAN: 35,  cos = 0x0

Dst IPv4 address: 172.16.35.31

Src IPv4 address: 172.16.35.126

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   =  6, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len =   60, Checksum       = 0x27f5

L4 Protocol  : 6

TCP Dst Port : 22

TCP Src Port : 15067

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

トラブルシュート

ドロップも記録されます。FIはARP要求をドロップします。

RCH-SV-FFAIII-B(nx-os)# attach module 1

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 0 lu-a2d 1 in-select 6 out-select 1

param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 1

module-1(TAH-elam-insel6)# set outer l2 src_mac 00:25:c5:00:00:1e dst_mac ff:ff:ff:ff:ff:ff

module-1(TAH-elam-insel6)# start

GBL_C++:  [MSG] rocky_elam_wrapper_init:54:asic type 8 inst 0 slice 0 a_to_d 1 insel 6 outsel 1

GBL_C++:  [MSG] rocky_elam_wrapper_enable:149:asic type 8 inst 0 slice 0 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000000000000000000000971400007BFFFFFFFFFFFC00001

GBL_C++:  [MSG]   - writing mask=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFC00001

module-1(TAH-elam-insel6)# report

HOMEWOOD ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 0

============================

Incoming Interface: Eth1/18

Src Idx : 0x603, Src BD : 35

Outgoing Interface Info: dmod 0, dpid 0

Dst Idx : 0x0, Dst BD : 35

Packet Type: ARP

Dst MAC address: FF:FF:FF:FF:FF:FF

Src MAC address: 00:25:C5:00:00:1E

.1q Tag0 VLAN: 35,  cos = 0x1

Target Hardware address: 00:00:00:00:00:00

Sender Hardware address: 00:25:C5:00:00:1E

Target Protocol address: 172.16.35.99

Sender Protocol address: 172.16.35.31

ARP opcode: 1

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

MC_RPF_FAIILURE

SRC_VLAN_MBR

Final Drops:

MC_RPF_FAIILURE

SRC_VLAN_MBR

FIは、仮想イーサネット(vEth)ポートでローカルに学習された00:25:c5:00:00:1eの送信元MACを使用して、ポート1/18（アップリンクポート）でARP要求を受信します。この状態により、Reverse Path Forward(RPF)ドロップがトリガーされます。発信インターフェイス情報でdpid 0(ドロップ)が報告されます。

VLAN 35はポート1/18では許可されず、これによりドロップSRC_VLAN_MBRもトリガーされます。

RCH-SV-FFAIII-A(nx-os)# show run interface ethernet 1/18

interface Ethernet1/18

description U: Uplink

pinning border

switchport mode trunk

switchport trunk allowed vlan 1

channel-group 105 mode active

関連情報

- ELAM の概要

- テクニカル サポートとドキュメント – Cisco Systems