本文檔介紹在Cisco Nexus 7000(N7K)F2模組上執行ELAM的步驟,說明最相關的輸出,並說明如何解釋結果。
在本範例中,VLAN 10(10.1.1.101,MAC位址為0050.56a1.1a01)上的主機(10.1.1.102MAC位址為0050.56a1.1aef)上的連線埠Eth6/3會透過連線埠Eth6/3將網際網路控制訊息通訊協定(ICMP)要求傳送到位於VLAN1010上的主機從10.1.1.101到10.1.1.102的單個幀。請務必記住,ELAM僅允許您捕獲單個幀。
要在N7K上執行ELAM,必須首先連線到相應的模組(這需要網路管理員許可權):
N7K# attach module 6
Attaching to module 6 ...
To exit type 'exit', to abort type '$.'
module-6#
預計流量會進入埠Eth6/4上的交換機。檢查系統中的模組時,您會看到Module 6是F2模組。請務必記住,N7K是全分佈的,並且由模組(而不是管理引擎)為資料平面流量做出轉發決策。
N7K# show module 6
Mod Ports Module-Type Model Status
--- ----- --------------------------- ------------------ -------
6 48 1/10 Gbps Ethernet Module N7K-F248XP-25E ok
對於F2模組,請使用內部代號Clipper在第2層(L2)轉發引擎(FE)上執行ELAM。請注意,L2 FE資料匯流排(DBUS)包含L2和第3層(L3)查詢之前的原始報頭資訊,而結果匯流排(RBUS)包含L3和L2查詢之後的結果。
N7K F2每個模組有12個FE,因此您必須確定埠Eth6/4上用於FE的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 ASIC支援以下幀型別:
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作業系統(NX-OS)中,您可以使用問號字元分離ELAM觸發器。F2模組上有多個可用於ELAM的選項:
module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if ?
<CR>
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系列模組不同,因為不需要指定資料包緩衝區(PB)例項。這簡化了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
若要檢查ELAM的狀態,請輸入status命令:
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狀態顯示為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
若要顯示ELAM結果,請輸入show dbus 和show rbus命令。以下是ELAM資料中與本示例最相關的摘錄(省略某些輸出):
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資料,您可以檢驗幀是否在VLAN 10(vlan:0xa),源MAC地址為0050.56a1.1a01,目的MAC地址為0050.56a1.1aef。您還可以看到,這是源自10.1.1.101且目的地為10.1.1.102的IPv4幀。
若要驗證接收幀的埠,請輸入SRC_INDEX命令(源本地目標邏輯(LTL))。輸入此命令可將LTL對映到N7K的埠或埠組:
N7K# show system internal pixm info ltl 0x3
Type LTL
---------------------------------
PHY_PORT Eth6/4
輸出顯示,0x3的source-index對映到埠Eth6/4。這確認在埠Eth6/4上接收到幀。
使用RBUS資料,您可以檢驗幀是否在VLAN 10上交換(vlan-id:0xa)。 此外,您還可以從di-ltl-index(目的地LTL)確認輸出連線埠:
N7K# show system internal pixm info ltl 0x2
Type LTL
---------------------------------
PHY_PORT Eth6/3
輸出顯示,0x2的di-ltl-index對映到埠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