目录

简介

先决条件

要求

使用的组件

背景信息

UDLD错误条件

空回声

Tx-Rx环路

邻居不匹配

UDLD帧的突然停止

排除UDLD错误情况

有用的命令

有用的TAC信息

相关信息

简介

本文档介绍如何对Cisco Nexus 7000系列交换机上的单向链路检测(UDLD)错误消息进行故障排除。

先决条件

要求

Cisco建议您了解以下主题的基本知识：

- Cisco Nexus操作系统(Cisco NX-OS)

- 基本UDLD操作

使用的组件

本文档中的信息基于以下软件和硬件版本：

- 思科 Nexus 7000 系列交换机

- 思科NX-OS版本6.2(10)

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

UDLD检测进程执行时，端口交换UDLD数据包，包括发起方交换机ID和发起方端口ID。当收到UDLD数据包时，交换机将对等交换机ID和端口ID回显给对等设备。当交换机交换回应数据包时，形成双向关系。

当交换机未从其UDLD对等体收到预期信息时，存在UDLD错误情况。

本文档介绍以下UDLD错误情况以及如何排除这些错误：

- Empty-echo

- 发射 — 接收(Tx-Rx)环路

- 单向

- 邻居不匹配

- UDLD帧的突然停止

UDLD错误条件

本节介绍各种类型的UDLD错误情况以及一些可能的原因。

空回声

当交换机A从交换机B收到UDLD帧，但未收到交换机A交换机ID和端口ID的预期回声时，会出现此情况。

当检测到空回声时，UDLD将执行以下操作：

模式

操作

正常模式

错误禁用端口

积极模式

错误禁用端口

然后生成以下系统日志消息：

2015 Mar 19 11:57:56.155 N7kA ETHPORT-2-IF_DOWN_ERROR_DISABLED Interface Ethernet1/2

is down (Error disabled. Reason:UDLD empty echo)

2015 Mar 19 11:57:56.186 N7kA ETH_PORT_CHANNEL-5-PORT_INDIVIDUAL_DOWN individual port

Ethernet1/2 is down

2015 Mar 19 11:57:56.336 N7kA ETHPORT-2-IF_DOWN_ERROR_DISABLED Interface Ethernet1/2

is down (Error disabled. Reason:UDLD empty echo)

下面是造成这种情况的一些可能原因

- 交换机B上的UDLD双向关系已超时，因为它未收到来自交换机A的UDLD帧。

- 交换机B收到来自交换机A的UDLD帧，但未处理它们。

- 交换机A没有将UDLD帧发送到交换机B。

Tx-Rx环路

当在发送帧的同一端口上收到UDLD帧时，会出现这种情况。

当检测到Tx-Rx环路时，UDLD将执行以下操作：

模式

操作

正常模式

错误禁用端口

积极模式

错误禁用端口

然后生成以下系统日志消息：

2015 Mar 20 14:52:30 N7kA   %ETHPORT-2-IF_DOWN_ERROR_DISABLED: Interface Ethernet17/5

is down (Error disabled. Reason:UDLD Tx-Rx Loop)

2015 Mar 20 14:52:30 N7kA   %ETHPORT-2-IF_DOWN_ERROR_DISABLED: Interface Ethernet17/5

is down (Error disabled. Reason:UDLD Tx-Rx Loop)

以下是造成这种情况的一些可能原因：

- 可能存在布线错误或物理介质问题。

- 中间设备将帧反射回发送端口。

邻居不匹配

当交换机A上的端口A从与其已形成UDLD双向关系的端口以外的端口接收帧时，会出现此情况。

当检测到邻居不匹配时，UDLD将执行以下操作：

模式

操作

正常模式

错误禁用端口

积极模式

错误禁用端口

然后生成以下系统日志消息：

2015 Mar 21 10:23:05.598 N7kA %ETHPORT-2-IF_DOWN_ERROR_DISABLED: Interface Ethernet3/21

is down (Error disabled. Reason:UDLD Neighbor mismatch)

2015 Mar 21 10:24:07.065 N7kA %ETHPORT-2-IF_DOWN_ERROR_DISABLED: Interface Ethernet3/21

is down (Error disabled. Reason:UDLD Neighbor mismatch)

以下是造成这种情况的一些可能原因：

- 有问题的UDLD端口是端口通道的成员，其上的成员端口已更改状态。

- 在两个端口之间有一个中间设备，形成双向关系。

UDLD帧的突然停止

当间隔超时（默认情况下为50秒）时，形成双向关系的端口未收到UDLD帧时，会出现此情况。

检测到这种情况时，UDLD将执行以下操作：

模式

操作

正常模式

UDLD将端口标记为Undetermined，并且端口继续根据其生成树端口状态运行

积极模式

错误禁用端口

排除UDLD错误情况

本部分介绍如何进行故障排除以及如果遇到UDLD必须完成的步骤  error-disabled 端口。

由于UDLD错误指示物理层故障，因此适合在物理层进行故障排除。遇到UDLD错误消息时，请考虑以下问题：

- 如果更换了小型封装热插拔收发器(SFP)，错误是否仍然存在？

- 如果更换了电缆，错误是否仍然存在？

- 如果将连接移至交换机上的其他物理端口，该错误是否仍然存在？

有用的命令

使用此命令可恢复已放置到的所有端口  error-disable  模式下的UDLD:

N7KA(config)# udld reset

使用此命令可验证双向关系：

N7KA-NORTH-AGG(config-if)# show udld eth 3/4

Interface Ethernet3/4

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

Port enable administrative configuration setting: enabled

Port enable operational state: enabled

Current bidirectional state: bidirectional

Current operational state:  advertisement - Single neighbor detected

Message interval: 7

Timeout interval: 5

Entry 1

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

Expiration time: 39

Cache Device index: 1

Current neighbor state: bidirectional

Device ID: JAF1620ABAB

Port ID: Ethernet3/12

Neighbor echo 1 devices: JAF1617BACD

Neighbor echo 1 port: Ethernet3/4

Message interval: 15

Timeout interval: 5

CDP Device name: N7KB-SOUTH-AGG(JAF1620ABAB)

Last pkt send on: 400096, Aug  6 13:58:52 2014

Probe pkt send on: 400096, Aug  6 13:58:52 2014

Echo  pkt send on: 395799, Aug  6 13:58:43 2014

Flush pkt send on: None.

Last pkt recv on: 740333, Aug  6 13:58:52 2014

Probe pkt recv on: 740333, Aug  6 13:58:52 2014

Echo  pkt recv on: 730454, Aug  6 13:58:43 2014

Flush pkt recv on: None.

Deep pkt inspections done: None.

Mismatched if index found: None.

Deep pkt inspection drops: None.

使用此命令验证物理接口上的错误计数器，用于确定是否由于物理层硬件故障而丢弃UDLD帧：

RTP-Agg1# show interface ethernet 4/1 | i error|CRC|discard|drop

0 runts  0 giants  0 CRC/FCS  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  0 input discard

0 output error  0 collision  0 deferred  0 late collision

0 lost carrier  0 no carrier  0 babble  0 output discard

使用此命令检查CPU利用率，确定CPU使用率高是否阻止UDLD帧的进程：

N7K-A# show system resources

Load average:   1 minute: 0.17   5 minutes: 0.25   15 minutes: 0.20

Processes   :   1993 total, 1 running

CPU states  :   0.18% user,   0.81% kernel,   98.99% idle

有用的TAC信息

本节介绍在恢复链接之前（如果情况允许）必须收集的输出。这有助于为思科技术支持中心(TAC)提供诊断UDLD设置为error-disabled模式的链路根本原因的最佳机会：

- show tech-support lacp all (如果故障接口是链路汇聚控制协议(LACP)portchannel的成员)

- show tech-support module

(其中x是检测到UDLD错误的模块)

- show tech-support ethpm

- show tech-support udld

- show udld internal event-history errors

- show udld internal event-history msgs | grep -a 3 -b 3 L2_RX_DATA

- show udld internal event-history ethernet

- show log logfile | grep UDLD

- show log logfile | grep Ethernet

- show processes cpu history

- show interface ethernet

- show hardware internal errors module

- show interface counters errors module

相关信息

- 思科技术支持和下载