目录

简介

先决条件

背景信息

常见原因

输入丢弃

LACP PDU丢失：

故障排除

解决方案

已知的 Bug

参考

简介

本文档介绍如何对nexus 7000上端口通道上的输入丢弃进行故障排除。

先决条件

思科建议您了解以下主题：

Nexus 7000 系列交换机

F系列线卡

链路聚合控制协议

背景信息

F3线卡在入口而不是出口上对数据包进行队列，并在所有入口接口上实施虚拟输出队列(VOQ)，以便拥塞的出口端口不会影响流向其他出口端口的流量。VOQ在系统中的广泛使用有助于确保每个出口的最大吞吐量。一个出口端口上的拥塞不会影响发往其他出口接口的流量，这可避免线路头阻塞(HOLB)，否则会导致拥塞扩散。

在突发优化模式下，如果IB耗尽，PL中应该出现丢包。在网状优化模式下，由于超出阈值，丢包会移至VQ。网状优化可避免HOLB丢弃。

VOQ还使用贷记和未贷记流量的概念。单播流量分类为贷记流量；广播、组播和未知单播流量被分类为未计入流量。未计入的流量不使用VOQ，并且流量在出口而不是入口处排队。如果入口端口没有信用将流量发送到出口端口，入口端口会缓冲，直到获得信用为止。由于入口端口缓冲区不深，因此可能会发生输入丢弃。

常见原因

输入丢弃

- 当交换端口分析器(SPAN)的目标端口位于F2线路卡上且SPAN流量超过线速时，最常见的输入丢弃原因就会发生。最终，入口端口会缓冲数据包，这会导致输入丢弃。

注意：下一代I/O模块（如F2E、F3和M3）不易受SPAN目标端口超订用场景的影响，导致入口端口上的丢弃和HOLB。SPAN的准则和限制中也注明了这一点

- 设计不当（例如10G的输入带宽和1G的输出带宽）会触发F2硬件限制（HOL阻塞）。

- 如果来自多个端口的流量从同一接口（1G到1G或10G到10G接口）流出，如果超过线速，则可能导致入口端口上的输入丢弃。

- VLAN不匹配可能导致输入丢弃。使用show interface trunk命令验证两台交换机是否转发了同一个VLAN。

LACP PDU丢失：

当端口通道未收到来自邻居的任何LACP PDU时，该端口通道将暂停。线卡在入口而不是出口上对数据包进行排队，并且输入丢弃指示由于拥塞而在输入队列中丢弃的数据包数。

- 端口逻辑(PL)是决策引擎之前的缓冲区，也是前面板端口之后的缓冲区。入口端口逻辑上的任何拥塞或流量控制都会阻止或延迟LACP PDU进一步导致接口挂起。VL是高优先级虚拟通道。如果存在高优先级VL 5流量从拥塞端口线头阻塞的情况，VL 5上的PL将产生背压，这可能导致LACP PDU丢弃。

故障排除

‘show module’

Mod  Ports  Module-Type                         Model              Status

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

5    0      Supervisor Module-2                 N7K-SUP2E          active *

6    0      Supervisor Module-2                 N7K-SUP2E          ha-standby

7    6      100 Gbps Ethernet Module            N7K-F306CK-25      ok

8    12     10/40 Gbps Ethernet Module          N7K-F312FQ-25      ok

在本示例中，端口通道10（7/1,7/2和7/5）和端口通道20（7/3,7/4和7,6）上的输入丢弃由出口接口8/6上的拥塞引起。这些丢弃由HOL阻塞引起。

`show port-channel summary`

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

Group Port-       Type     Protocol  Member Ports

Channel

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

10    Po10(RU)    Eth      LACP      Eth7/1(P)    Eth7/2(P)    Eth7/5(P)

20    Po20(RU)    Eth      LACP      Eth7/3(P)    Eth7/4(P)    Eth7/6(P)

switch# show interface counter errors

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

Port         InDiscards

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

Eth7/1        253323164

Eth7/2        253682395

Eth7/3         66785160               >>>>> input discards on interfaces 7/1-6 are incrementing continuously. These interfaces belong to Po10 and Po20 which eventually goes into suspended state with reason “no LACP PDUs received”

Eth7/4         64770521

Eth7/5        258650104

Eth7/6         66533418

Eth8/6                0

Po10          765655663

Po20          198089099

要确定拥塞端口，请执行以下操作：

在VQI上，非零计数器不断移动。在拥塞的端口上，计数器通常在大多数时间都保持较高

。

switch# attach mod 7

Attaching to module 7 ...

To exit type 'exit', to abort type '$.'

module-7# show hardware internal qengine voq-status | ex "0 0 0 0 0 0 0 0 0 0 0 0"

+-------------------------------------------------------------------------------

| VOQ Status for Queue Driver

| ports 1-48

VQI:CCOS INST0 INST1 INST2 INST3 INST4 INST5

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

0:0      0     0     0     0     0     0

0:1      0     0     0     0     0     0

145:6      0     0     0     0     0     0

145:7      0     0     0     0     0     0

146:0      0     0     0     0     0     0

146:1    14d   130   533   79b   258   447

146:2      5    44     7    12    1a     2

146:3   2325  2277  1ae8  1a39  27bc  1902

146:4      0     0     0     0     0     0

146:5      0     0     0     0     0     0

146:6      0     0     0     0     0     0

146:7      0     0     0     0     0     0

147:0      0     0     0     0     0     0

147:1      0     0     0     0     0     0

147:2      0     0     0     0     0     0

147:3      0     0     0     0     0     0

VQI是146

VQI === 146有一个非零计数器，并且不断递增

转换为十六进制：

switch# hex 146

0x92

switch#     show system internal ethpm info module | egrep -i vqi

LTL(0x36), VQI(0x42), LDI(0), IOD(0x14c)

LTL(0x37), VQI(0x43), LDI(0x1), IOD(0x14d)

LTL(0x38), VQI(0x44), LDI(0x2), IOD(0x14e)

LTL(0x39), VQI(0x45), LDI(0x3), IOD(0x14f)

LTL(0x72), VQI(0x8a), LDI(0xc), IOD(0x62)

LTL(0x76), VQI(0x8e), LDI(0x10), IOD(0x63)

LTL(0x7a), VQI(0x92), LDI(0x14), IOD(0xe6)    >>>>>>> VQI 0x92 maps to LTL 0x7a

LTL(0x7e), VQI(0x96), LDI(0x18), IOD(0xe7)

LTL(0x82), VQI(0x9a), LDI(0x1c), IOD(0xe8)

LTL(0x86), VQI(0x9e), LDI(0x20), IOD(0xe9)

使用pixm映射将LTL转换为物理接口

PIXM管理LTL和FPOE映射，以通过交换机构建硬件转发路径

switch# show system internal pixm info ltl 0x7a

Member info

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

Type            LTL

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

PHY_PORT       Eth8/6         >>>> congested egress interface.

确定LACP PDU是否已丢弃

LACP PDU是高优先级流量，因此不应期望LACP PDU被丢弃，端口通道因为输入丢弃而关闭，除非有高优先级VL 5流量从拥塞端口进行线头阻塞。

要确认是否丢弃高优先级VL 5流量，请运行命令“show hardware queuing drops ingress”，这将在受影响接口上显示VL 5的PL丢弃

switch#  show hardware queuing drops ingress

slot  7

=======

Device: Flanker Queue

PL drops:

SOURCE INTERFACE        VL       COUNT

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

Eth7/1                 5        24437734

Eth7/2                 5        24289997

Eth7/3                 5        24449567

Eth7/4                 5        26084373

Eth7/5                 5        27840523

Eth7/6                 5        21043740

通过为受影响模块运行命令“show hardware internal errors”，确认受影响接口上的VL 5丢弃

switch# show hardware internal errors

`show hardware internal errors`

|------------------------------------------------------------------------|

| Device:Flanker Eth Mac Driver   Role:MAC                     Mod: 7    |

| Device Statistics Category :: ERROR

|------------------------------------------------------------------------|

5236   igr rx pl: cbl drops                          0000000000069679 8 -

5282   egr in pl: total rcvd pkts with drop          0000000001951540 8 -

indication from eb

5321   egr out pl: total pkts dropped due to cbl     0000000000034829 8 -

5477   igr PL: bpdu drops(vl5)                       0000000000004986 2 -          <<<<<<<<<<<

5480   igr PL: nde drops(vl0)                        0000000000098993 2 -

5485   igr PL: nde drops(vl5)                        0000000002291236 2 -          <<<<<<<<<<<

5496   igr PL: Q threshold drop bytecount (vl0)      0000000000344607 2 -

13453  [intr] IPL intr: parser truncated mlh error   0000000000002946 2 -

请注意，下列丢弃计数器递增

igr PL:bpdu丢弃(vl5)

igr PL:nde drops(vl5)

解决方案

要解决此问题，请确保没有拥塞，这可以通过增加出口拥塞端口的带宽或限制到拥塞端口的流量来实现。

已知的 Bug

CSCvn97534 此Bug导致出口缓冲区锁定，从而导致输入丢弃和端口通道摆动。

参考

排除Nexus 7000故障：F2/F2e输入丢弃