本文档介绍如何对Cisco Nexus 7000系列F1-Module上的输入丢弃进行故障排除。
本文档没有任何特定的要求。
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
当观察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)。以下是此输出的值:
如图所示,VQI 5位于插槽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 |
初始版本 |