本文描述如何對Cisco Nexus 7000系列F1模組上的輸入丟棄進行故障排除。
本文件沒有特定需求。
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
當您觀察F1系列線路卡上的輸入丟棄時,這通常意味著您在出口上超額訂閱了埠。在大多數線卡上,此方案會導致輸出介面上的輸出丟棄;但是,當封包的仲裁為F1到F1,且流量記入信用時,您就會看到輸入連線埠上的輸入捨棄專案。
Switch#show interface eth 1/8
Ethernet1/8 is up
Hardware: 1000/10000 Ethernet, address: 503d.e5df.a785 (bia 503d.e5df.a785)
.
.
Load-Interval #2: 5 minute (300 seconds)
input rate 168 bps, 0 pps; output rate 3.78 Kbps, 3 pps
RX
15539560971 unicast packets 3466668 multicast packets 0 broadcast packets
15542893003 input packets 8720803713147 bytes
4384352384 jumbo packets 0 storm suppression packets
0 runts 0 giants 0 CRC 0 no buffer
0 input error 0 short frame 0 overrun 0 underrun 0 ignored
0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop
0 input with dribble 4029156 input discard
0 Rx pause
TX
7409231138 unicast packets 125221759 multicast packets 127954348 broadcast packets
7662272650 output packets 2001593436247 bytes
472864528 jumbo packets
0 output error 0 collision 0 deferred 0 late collision
0 lost carrier 0 no carrier 0 babble 0 output discard
0 Tx pause
1 interface resets
在F1系列線卡上,既有已貸記流量,也有未貸記流量。已記賬的流量稱為單播。所有其他流量(如組播、廣播和未知單播)均被定義為不可信流量。
在封包透過網狀架構傳送到輸出線路卡之前,記賬流量需要來自輸出ASIC的記賬。在M1系列線卡上,Octopus ASIC用於仲裁,因此資料包可以在出口埠ASIC的狀態已知之前通過交換矩陣移動到出口模組。如果輸出埠ASIC過載,則資料包會在已知之前到達,因此資料包將被丟棄並記錄為輸出丟棄。
F1系列線卡具有晶片上的交換機(SOC),該交換機用作仲裁ASIC以及埠ASIC。這表示線路卡知道它是否沒有處理封包所需的頻寬,並且它不會向輸入連線埠ASIC提供信用,這會導致封包被捨棄,並以輸入捨棄的方式記錄。
一旦您注意到輸入捨棄數增加,您必須探索在輸出上超額訂閱的連線埠。您可以使用以下命令來識別超額訂閱的出口連線埠:
Attach module X
Show hardware internal qengine asic Y memory vq-head-tail
Show hardware internal qengine sw vqi-map
您必須採取的初始操作是確定輸入丟棄增加所在的介面。在本範例中,介面是Eth1/8。
然後,必須確定埠所在的ASIC。在F132線路卡上,每個ASIC有兩個埠,從ASIC 0開始。例如,埠1和2在ASIC 0上,埠3和4在ASIC 1上,埠5和6在ASIC 2上。例如,Eth1/8介面位於ASIC 3上。
以下是輸出範例:
Switch# attach module 1
module-1# show hardware internal qengine asic 3 memory vq-head-tail
+------------------------------------------------------------------
| VQ head tail for Orion Xbar Driver
| Inst 3
|
INDEX THRESHOLD HEAD TAIL PACKET COUNT Q-LENGTH
_____ _________ ______ ______ ____________ ________
23 1 5936 10086 1084 2168
136 0 6702 6702 0 0
4096 0 3607 3607 0 0
在本示例中,索引23具有非常高的資料包計數和Q長度。這表示此虛擬佇列索引(VQI)的索引收到太多流量,而且它不會傳送流量,因此流量會在輸出時傳送給它。因此,它會捨棄輸入上的封包。
為了確定VQI本身,將指數除以4(常數)並保留其餘部分。以下是索引23的範例:
23/4 = 5(其餘為3),因此指數23的VQI為5。
輸入show hard int qengine sw vqi-map命令以確定此VQI對映到的介面:
module-1# show hard int qengine sw vqi-map
Supervisor VQI info:
--------------------
sup 0 slot : 4
sup 1 slot : 5
sup xbar mask : 0x000003ff
| sup0 | sup1 | sup0 | sup1 | |
vqi | vqi | vqi | fpoe base | fpoe base | num fpoe | lb_type
----+------+------+-----------+-----------+----------+-----------
32 | 32 | 32 | 36 | 44 | 1 | non-spread
33 | 33 | 33 | 37 | 45 | 1 | non-spread
34 | 34 | 34 | 32 | 40 | 4 | spread
35 | 35 | 35 | 32 | 40 | 4 | spread
VQI property map:
-----------------
vqi | asic | ldi | sl | sup | sprd | xbar | fpoe | # | hdr | xbar | vqi | lcl
| inst | | | vqi | type | mask | base | dl | type | asic | typ | pqi
-----+------+-----+----+-----+------+------|------+----+------+------+-----+----
0 | 0 | 0 | 0 | no | rr | 0155 | 0 | 1 | v5 | scz | 0 | 0
1 | 0 | 1 | 0 | no | rr | 0155 | 0 | 1 | v5 | scz | 0 | 1
2 | 1 | 2 | 0 | no | rr | 0155 | 1 | 1 | v5 | scz | 0 | 2
3 | 1 | 3 | 0 | no | rr | 0155 | 1 | 1 | v5 | scz | 0 | 3
4 | 2 | 4 | 0 | no | rr | 0155 | 2 | 1 | v5 | scz | 0 | 4
5 | 2 | 5 | 0 | no | rr | 0155 | 2 | 1 | v5 | scz | 0 | 5
在輸出的VQI屬性對映部分中,標識先前計算的VQI(vqi)、插槽(sl)以及對映到的本地埠隊列索引(PQI)(lcl pqi)。以下是此輸出的值:
如圖所示,5的VQI位於插槽0,當您從零開始計數時,該模組為1。LCL PQI為5,位於連線埠6。因此,Eth1/6介面會在輸出時超額使用,這會導致輸入介面上針對目的地為輸出時該連線埠的流量進行輸入捨棄。
VQI和本地目標索引(LDI)分配在模組聯機時確定。VQI(當前)固定為12 Gb/s,並且根據模組型別分配不同。本示例中用於F1的對映並不適用於所有模組。確保輸入show system internal ethpm info interface ethernet命令以確認分配給您的埠的VQI和LDI。
例如,以下是來自多個模組的連線埠17資訊:
N7KA# show system internal ethpm info interface ethernet 3/17 | i VQI
LTL(0x90), VQI(0x64), LDI(0x6), IOD(0x50)
N7KA# show sys int ethpm info interface ethernet 5/17 | i VQI
LTL(0x30), VQI(0x7), LDI(0x3), IOD(0xe1)
N7KA# show sys int ethpm info interface ethernet 4/17 | i VQI
LTL(0x10), VQI(0x1c), LDI(0x10), IOD(0x26)
N7KA# show system internal ethpm info interface ethernet 6/17 | i VQI
LTL(0x60), VQI(0x3d), LDI(0x11), IOD(0x11d)
以下是這些介面的show hardware internal qengine vqi-map 指令的輸出:
N7KA# show hardware internal qengine vqi-map
VQI SUP SLOT LDI EQI FPOE NUM XBAR IN ASIC ASIC SV FEA_
NUM VQI NUM NUM NUM BASE DLS MASK ORD TYPE IDX ID TURE
---- --- ---- --- --- ---- --- ----- --- ---- ---- -- ----
7 no 4 3 3 32 4 0x3ff 0 0 0 0 0x0 <--- port 5/17
28 no 3 16 0 168 1 0x155 0 ORI 8 0 0x81 <--- port 4/17
61 no 5 17 2 44 1 0x155 0 CLP 4 0 0x80 <--- port 6/17
100 no 2 6 2 20 4 0x3ff 0 0 1 0 0x0 <--- port 3/17
(shows only VQIs 0x64, 0x7, 0x1c, 0x3d)
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
22-Apr-2015 |
初始版本 |