目录

简介

背景信息

常见原因

命令解决方案

show interface

show hardware internal statistics module pktflow dropted

连接模块 显示硬件内部引擎

其它命令

F2e信息

show hardware internal errors mod

show hardware internal qengine vqi-map

show hardware queuing drops egress module （仅适用于F2e）

简介

本文档介绍Cisco Nexus 7000 F248系列(F2/F2e)线卡的输入丢弃的原因和解决方案。输入丢弃表示由于拥塞而在输入队列中丢弃的数据包数。此数字包括由尾部丢弃和加权随机早期检测(WRED)引起的丢包。

背景信息

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

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。

命令解决方案

本部分提供的信息可用于对配置进行故障排除。

注意：使用命令查找工具（仅限注册用户）可获取有关本部分所使用命令的详细信息。

命令输出解释程序工具（仅限注册用户）支持某些 show 命令。使用输出解释器工具来查看 show 命令输出的分析。

在这些示例中，Ethernet 2/1(Eth2/1)连接了一台主机，该主机接收两个1Gbps流。Eth2/1以1G运行。两个流在Eth2/5和Eth2/9上进入。

show interface <ingress interface>

使用此命令检查接口的速度。如果入口接口以10Gbps的速率运行，而出口接口以1Gbps的速率运行，则丢弃可能由HOL阻塞引起。

N7K1# show int eth2/5

Ethernet2/5 is up

admin state is up, Dedicated Interface

------

full-duplex, 1000 Mb/s

------

30 seconds input rate 588237960 bits/sec, 73524 packets/sec

30 seconds output rate 216 bits/sec, 0 packets/sec

Load-Interval #2: 5 minute (300 seconds)

input rate 588.56 Mbps, 73.52 Kpps; output rate 156.11 Mbps, 19.45 Kpps

RX

221333142 unicast packets  0 multicast packets  0 broadcast packets

221333128 input packets  221333169400 bytes

0 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  11590977 input discard <-------

0 Rx pause

show hardware internal statistics module <x> pktflow dropped

多次运行此命令，以确定congestion_drop_bytes的值是否增加；x是入口端口的模块编号。

attach module <x>和show hardware internal qengine

多次运行以下命令以识别虚拟队列索引(VQI)编号：

attach module <x>

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

或

module-x# show hardware internal qengine inst 2 voq-status non-empty

在VQI上，您会经常看到移动中的非零计数器。在拥塞的端口上，计数器通常在大多数时间保持较高。

N7K1# attach module 2

Attaching to module 2 ...

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

module-2# show hardware internal qengine inst 2 voq-status non-empty

VQI:CCOS  BYTE_CNT  PKT_CNT  TAIL  HEAD  THR

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

0036:3    6154      3077     6804  14168 1 <------- VQI is 36 here

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

VQI:CCOS CLP0 CLP1 CLP2 CLP3 CLP4 CLP5 CLP6 CLP7 CLP8 CLP9 CLPA CLPB

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

0036:3   0    0    0    0    0    0    0    1    0    0    0    0

VQI === 36

一旦您有VQI编号，请使用show hardware internal qengine vqi-map命令查找VQI映射表。查看插槽编号和低速数据接口(LDI)编号，以确定出口接口。（插槽也称为模块，LDI也称为端口。） 该模块是基于零的，并且映射函数可用于确定LDI。

module-2# 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

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

--snip

36     no   1     0    0    8     1    0x155  0    CLP   0     0   0x81

--snip

LDI到物理端口的映射：

LDI

端口

0

2

1

1

2

3

3

4

4

6

5

5

6

7

7

8

8

10

9

9

10

11

11

12

12

14

13 个

13 个

14

15

15

16

16

18

17

17

18

19

19

20

20

22

21

21

22

23

23

24

24

26

25

25

26

27

27

28

28

30

29

29

30

31

31

32

32

34

33

33

34

35

35

36

36

38

37

37

38

39

39

40

40

42

41

41

42

43

43

44

44

46

45

45

46

47

47

48

物理端口=以太网2/2

通过show system internal ethpm info interface Eth2/2验证VQI和LDI |包括VQI

测试说明中的拥塞端口为2/1，但列出的VQI是e2/2。差异的原因是出口缓冲区由端口组共享，该端口组是F2/F2e模块的4个端口组。端口1-4、5-8等是每个端口组的一部分。如果端口组中的任何单个端口在出口方向出现拥塞，则可能在入口端口上造成背压，导致输入丢弃。

其它命令

如果您仍注意到输入丢弃，请多次运行以下命令：

- show interface |在Mbps|以太网中

- show hardware internal statistics pktflow dropped

- show hardware internal statistics pktflow dropped congestion

- show hard internal statistics pktflow all

- show hardware internal error

- show hardware internal statistics device qengine

- show hard internal mac port 38 qos config

- show hard internal statis device mac all port 38

- 连接模块1

- show hardware internal qengine voq-status

- show hardware internal qengine vqi-map

F2e信息

在F2e上，有一个硬件内部错误计数器，它指向具有拥塞出口接口的端口组/asic中第一个端口的VQI。

show hardware internal errors mod <x>

使用此命令可检查模块是否检测到拥塞。

N7K2# show hardware internal errors mod 1

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

| Device:Clipper XBAR             Role:QUE                     Mod: 1    |

| Last cleared @ Wed Jul 10 14:51:56 2013

| Device Statistics Category :: CONGESTION

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

Instance:1

ID    Name                                          Value             Ports

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

16227 Num of times congestion detected on VQI 48    0000000000001296  5-8 -

Instance:2

ID    Name                                          Value             Ports

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

16227 Num of times congestion detected on VQI 48    0000000000000590  9-12 -

Instance:3

ID    Name                                          Value             Ports

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

16227 Num of times congestion detected on VQI 48    0000000000001213  13-16 -

show hardware internal qengine vqi-map

使用此命令将VQI映射到物理接口。本示例使用上一个示例中的VQI 48。查看插槽编号和LDI编号以确定出口接口。该模块是基于零的，并且映射函数可用于确定LDI。

module-1# 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

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

--snip

48    no   0     12   0    3     1    0x155  0    CLP   3     0   0x1

--snip

Module Number = SLOT NUM + 1  (zero-based)

Module Number = 0 + 1 = 1

Physical Port = Eth 1/14 (check the LDI to physical port mapping table)

Validate VQI and LDI via "show system internal ethpm info interface Eth1/14 | include VQI"

尽管VQI 48映射到Eth1/13，但请注意，端口组/asic中第一个端口上的拥塞会报告。由于一个端口组/asic中有四个端口，因此请使用next命令显示该端口组/asic中发现拥塞的实际接口。

show hardware queuing drops egress module <x>（仅适用于F2e）

使用此命令可显示实际出口接口，该接口在VQI 48的上一个示例中的端口组/asic上看到拥塞。

N7K2# show hardware queuing drops egress module 1

VQ Drops

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

|    Output   |     VQ Drops     |  VQ Congestion   | Src | Src  |    Input    |

|  Interface  |                  |                  | Mod | Inst |  Interface  |

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

|     Eth1/14 | 0000000000000000 | 0000000000001296 |   1 |    1 |    Eth1/5-8 |

|     Eth1/14 | 0000000000000000 | 0000000000000590 |   1 |    2 |   Eth1/9-12 |

|     Eth1/14 | 0000000000000000 | 0000000000001213 |   1 |    3 |  Eth1/13-16 |

|     Eth1/14 | 0000000000000000 | 0000000000000536 |   2 |    1 |    Eth2/5-8 |

|     Eth1/14 | 0000000000000000 | 0000000000000009 |   2 |    2 |   Eth2/9-12 |

|     Eth1/14 | 0000000000000000 | 0000000000000262 |   2 |    3 |  Eth2/13-16 |

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