目录

简介

开始使用前

规则

先决条件

使用的组件

背景

症状

故障排除

有用的 debug 及 show 命令

报告TAC案例应收集的信息

相关信息

简介

本文档说明如何对Cisco 12000系列互联网路由器的交换矩阵ping超时和故障进行故障排除。以下错误消息指示此类故障：

%GRP-3-FABRIC_UNI: Unicast send timed out (3)

和

%GRP-3-COREDUMP: Core dump incident on slot 3, error: Fabric ping failure (seq:29192)

开始使用前

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

先决条件

本文档没有任何特定的前提条件。

使用的组件

本文档中的信息基于下面的硬件版本。

- Cisco 12000 系列互联网路由器

本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您是在真实网络上操作，请确保您在使用任何命令前已经了解其潜在影响。

背景

Cisco 12000系列互联网路由器中的GRP和线卡(LC)通过交叉开关交换矩阵连接，该交换矩阵为大多数卡间通信提供高速物理路径。在GRP和线卡之间通过交换机交换矩阵传递的消息中，包括路由和接收的实际数据包、转发信息、流量统计信息以及大多数管理和控制信息。因此，对GRP来说，确保这个路径在正常运转是很重要的。

交换矩阵ping是在GRP和交换矩阵之间运行的四个应用之一。处理器间通信(IPC)、网络数据包和代码下载是其他。矩阵 ping利用MBUS ping线卡的减缓矩阵接口从而提供部分错误检测算法和keep-alive机制。

在GRP的Cisco Cell Segmentation and Reassembly (CSAR)矩阵接口驱动程序处理在交换矩阵和GRP之间将被发送和接受的消息。这包括交换矩阵ping。矩阵PING是由软件生成的，每六秒从主GRP被发送到每个线路卡。每当线卡收到来自GRP的ping请求时，LC都会向GRP发回应答。如果GRP不收到给五个连续矩阵PING (30秒总时间)的任何回复，通过维护总线(MBUS)宣称线卡失败和重置它。

多数时间，线路卡只是太繁忙以至于不能回答从GRP的矩阵PING请求。这些矩阵ping失败也许由有故障的矩阵卡或IOS软件Bug造成。矩阵ping失败的所有可能的原因在下面故障排除部分被列出。

矩阵ping超时，当千兆路由处理器(GRP)发现ping请求在T ofab队列被滞留(入交换矩阵) Cisc o Cell Segmentation and Reassembly(CSAR) applic ation-spec ific integrated c irc uit (ASIC)。 在通过交换矩阵把包发到线卡前，此ASIC对切信息包负责到Cisco信元。

当线卡或辅助GRP无法响应来自主GRP的交换矩阵ping请求时，交换矩阵ping失败。此类故障是需要调查的问题症状。

症状

如背景部分所述，GRP每六秒向线卡发送一次交换矩阵ping，线卡必须做出响应。当GRP无法收到对五个连续交换矩阵ping的应答时，它通过维护总线(MBUS)发送请求消息来重置线卡，并报告软件强制崩溃，如show context slot {#}命令的输出所示。

从控制台日志或show log命令中，在交换矩阵ping失败消息之前，您可能会收到以下错误消息：

%GRP-3-FABRIC_UNI: Unicast send timed out (3)

%GRP-3-FABRIC_UNI: Unicast send timed out (3)

%GRP-3-FABRIC_UNI: Unicast send timed out (3)

那里第(3)表示主GRP设法发送矩阵PING的线卡插槽。

此消息表明信息包在CSAR ASIC的Tofab队列被滞留在主GRP。如果在2个CSAR缓冲区的任何一个中延迟超过100毫秒，缓冲区被冲满，并且超时消息生成。

如果GRP传送其矩阵PING请求信息，但是线卡不应答或者线卡答案，或者交换矩阵有故障造成信息丢失，您在矩阵PING失效消息之前将看不到此消息。因此，如果您收到错误消息“%GRP-3-FABRIC_UNI”，这意味着在100或200毫秒内，某些内容无法传输到交换矩阵上的插槽。可能是因为，由于%GRP-3-FABRIC_UNI，您无法将keep-alive发送到LC，在本例中，在30秒后，您最终出现交换矩阵ping失败。但是，在没有“%GRP-3-FABRIC_UNI”的情况下，可能会发生交换矩阵ping故障，反之亦然。

主GRP可以检测线卡或备GRP存在的问题并实时执行core dump。GRP会通过MBUS发出信息给线卡并要求线卡CPU crash，从而生成core dump。

%LCINFO-3-CRASH: Line card in slot 3 crashed

%GRP-3-COREDUMP: Core dump incident on slot 3, error: Fabric ping failure (seq:29192)

如果使用exception crashinfo和相关命令配置了核心转储，线卡将创建核心转储(有关配置核心转储的GSR特定信息，请参阅在GSR线卡上配置核心转储)。 show context slot {#}命令输出中的限定字符串指示了重新加载的原因。在交换矩阵ping失败时，原因始终是“软件强制崩溃”。

CRASH INFO: Slot 1, Index 1, Crash at 00:42:45 KST Mon Mar 12 2001

VERSION:

GS Software (GLC1-LC-M), Version 12.0(18)ST, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)

TAC Support: http://www.cisco.com/tac

Compiled Thu 09-Aug-01 22:06 by nmasa

Card Type: 2 Ports OC3 Channelized to DS1/E1 , S/N CAT00400500

System exception: sig=23, code=0x24,

! --- SIG=23 indicates a software-forced crash.

context=0x41303B04

System restarted by a Software forced crash

STACK TRACE:

-Traceback= 400C3970 400C1F90 40815D5C 407D3144 400C7488

线卡崩溃后，它会发送初始消息通知主GRP。然后，GRP会等待线卡通过MBUS发送有关崩溃的其他信息。从线卡获得第一条消息后的几毫秒内GRP会收到完整的dump core。极少数情况后续crash信息没有到达GRP，GRP最多等待10秒，随后GRP会打出错误信息并且通知其他软件组件线卡已经崩溃。

故障排除

在正常路由器操作期间，主GRP会持续ping线卡，线卡会做出响应。任何ping失败都是应调查的另一个问题的症状。这些问题包括：

- 线卡问题

- 交换矩阵问题

- GRP问题

- IPC的已知问题

- 思科快速转发(CEF)的已知问题

注意：如果故障可以重现，在GRP上配置no service auto-reset。此命令阻止矩阵ping失败引起的线卡重启，您可以通过attach<slot>命令登录线卡获取相关show命令排除故障。

线卡问题

- 最有可能的原因是某个进程长时间阻止了中断造成连续5个矩阵ping没有响应的IOS Bug。尝试升级到您系列中的最新Cisco IOS软件版本，以避免已解决的问题。有关升级帮助，请参阅思科下载软件区。

- 线卡可能长时间施加反应，因此调度器阻止线卡从交换矩阵接受信息。此症状表明接口拥塞存在问题。使用以下命令确认这些症状：

- show controller frfab queue命令。查看是否有non-IPC队列缓冲区不足或已耗尽。

- show controllers csar queue命令。查找“最大长度”的非零值和“最大长度”等于“长度”值，如以下输出示例所示：

router#show controllers csar queue

1190 Free Q

Slot Length Max Length

0     0      7

1     0      2

2    70     70

! -- CSAR queue for slot 2 is building and reaching max length.

3     0      2

4     0      3

5     0      0

...

CSAR为目的线卡最多缓冲50个包。在50个数据包之后，仅交换矩阵ping数据包排队。如果queue limit增加队列长度到70，CSAR停止将矩阵Ping在内的所有包加入队列。GRP和所有线卡都有64k CSAR分段缓冲区，可在其中存储消息。如果这些缓冲区繁忙，路由器将使用软件保持队列来存储消息。它还设置计时器，以确保交换矩阵ping消息不会在此队列中停留太长时间。

- 线卡CPU利用率高--通常在大规模路由表更新或者链路抖动导致BGP会话重置后引发的大量CEF表重新计算。在软件中交换数据流量的时候CPU也可能会高。这主要发生在引擎0线卡上，其中大多数功能都在软件中实施。如果出现这种情况，您可以检查线卡的配置并删除可能影响引擎0 LC上CPU的功能。高CPU利用率也可能是由于Bug。如果路由器上运行的Cisco IOS软件版本不支持以前的命令，则使用execute-on slot <slot#> show proc cpu 命令或execute-on slot <slot#> show tech命令确定CPU利用率。请考虑升级到培训中的最新Cisco IOS软件版本，以解决已知问题。

- 线卡IPC缓冲区耗尽此缓冲区用于GRP和线卡交换控制信息。请参阅排除CEF相关错误消息故障中的故障排除步骤。如果故障排除指出IPC问题，请确保Cisco 12000系列互联网路由器运行的Cisco IOS软件版本至少为12.0(18)S。此版本为IPC缓存引入了更大的默认大小5000，以增强其稳定性和可扩展性。

- 线卡上的硬件问题。请注意，不到10%的交换矩阵ping故障是由硬件问题引起的。在联系思科TAC以请求更换硬件之前，请尝试以下步骤：

1. 查找在交换矩阵ping失败之前打印的IPC超时消息。另请参阅下面的IPC部分。

2. 重新安装线卡。

3. 为路由器重新通电。

4. 如果您没有对路由器的物理访问权限，请执行hw-module slot <slot #> reload命令以手动重新加载线卡。

交换矩阵问题

Cisco 12000系列互联网路由器的核心是交换矩阵电路，它为线卡和GRP提供同步千兆位速度互连。交换矩阵电路包含两种类型的卡：

- 时钟和调度程序卡(CSC)

- 交换矩阵卡(SFC)

如果其中一个卡发生故障，ping消息将无法再通过交换矩阵。在这种情况下，您还应看到指向故障交换矩阵的其他消息，例如：

%FABRIC-3-CRC: Switch card 18

使用show controllers fia命令确定您的CSC或SFC是否有问题。使用execute-on all show controllers fia命令捕获所有线卡的输出。将GRP的输出与线卡的输出进行比较，以确定是否需要更换有故障的交换矩阵卡。

以下输出示例指出插槽18中sfc0出现问题。首先尝试重新拔插此卡，然后在crc16错误计数器继续增加时请求更换。

Router#show controllers fia

Fabric configuration: Full bandwidth redundant

Master Scheduler: Slot 17

From Fabric FIA Errors

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

redund FIFO parity 0   redund overflow 0     cell drops 1

crc32 lkup parity  0   cell parity     0     crc32      0

Switch cards present    0x001F  Slots  16 17 18 19 20

Switch cards monitered  0x001F  Slots  16 17 18 19 20

Slot:     16         17         18         19         20

Name:    csc0       csc1       sfc0       sfc1       sfc2

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

Los    0          0          0          0          0

state  Off        Off        Off        Off        Off

crc16  0          0          4334       0          0

! --- Check the CRCs under SFC0 (slot 18)

To Fabric FIA Errors

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

sca not pres 0          req error     0          uni FIFO overflow 0

grant parity 0          multi req     0          uni FIFO undrflow 0

cntrl parity 0          uni req       0          crc32 lkup parity 0

multi FIFO   0          empty DST req 0          handshake error   0

cell parity  0

GRP问题

在某些交换矩阵ping失败报告中，路由器在失败前报告循环冗余校验(CRC)错误消息。在GRP上使用show controllers fia命令和在线卡上使用execute-on all show controllers fia，检查交换矩阵卡上的CRC。如果CRC仅在GRP上增加（不在任何线卡增加），则说明GRP有故障。首先尝试重新拔插GRP，如果CRC错误继续增加，请求更换。

IPC的已知问题

在Cisco IOS软件版本12.0S的不同版本中，GRP和线卡之间运行的进程间通信(IPC)软件已解决问题。在这种情况下，您应在日志中看到一些与IPC相关的错误消息以及交换矩阵ping超时消息。设法运行最新的Cisco IOS软件版本以解决与IPC有关的已知问题。另请参阅Cisco下载软件区域，以获得选择版本的帮助。

思科快速转发(CEF)的已知问题

如果show log命令的输出显示与CEF转发信息库(FIB)相关的消息，请参阅排除与CEF相关的错误消息故障，该消息类似于以下命令：

%FIB-3-FIBDISABLE: Fatal error, slot 2: IPC failure

有用的 debug 及 show 命令

使用以下debug和show命令对Cisco 12000系列互联网路由器上的交换矩阵ping超时/故障消息进行故障排除：

- debug fabric events — 打印GRP检测到的所有错误。此调试仅在错误情况下生成少量信息。

- debug fabric ping — 打印GRP在交换矩阵ping过程中检测到的任何错误。此调试仅在错误情况下生成少量信息。

捕获每个重置线卡的以下命令。用适当的插槽编号替换X。

- execute-on slot X debug fabric events — 打印线卡在其ping响应中检测到的错误。此命令仅在错误情况下生成极少的消息。

- exec slot X debug fabric ping — 当线卡收到交换矩阵ping时，打印一条消息。此调试每秒为启用该调试的每个线卡生成一行输出。

线卡崩溃后，从GRP控制台捕获以下命令：

- show context all detail

- show fabric

- show controllers fia

- show controllers csar queue

- execute-on all show controllers fia

- show tech

- show log

还捕获以下有关线卡状态的命令：

- execute-on slot <slot#> show proc CPU

- execute-on slot <slot#> show controller tofab queue

- execute-on slot <slot#> show controller tofab stat

- execute-on slot <slot#> show controller frfab queue

- execute-on slot <slot#> show controller frfab stat

- execute-on slot <slot#> show ipc stat

- execute-on slot <slot#> show ipc queue

- execute-on slot <slot#> show stack

- execute-on slot <slot#> show tech

如果在完成所有故障排除步骤后仍然遇到问题，请收集上述所有必需信息，并致电您的Cisco TAC代表进行进一步故障排除。

以下是一些有用的show命令的输出：

router#show controllers csar

From Fabric Error Stats

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

0 out of order, 0 unexpected first

0 unexpected last, 0 unknown rx type, 0 corrupted pak, 0 parity

0 first/last, 0 sequence, 0 cell avail, 0 reassembly,

To Fabric Stats

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

Slot  Tx Pkts      TX Th Pkts      Rx Pkts      Rx Th Pkts   To Fab timeout

0     580278       490214          281061       1336470      0

1     18854        66592           18390        945419       0

2     6            50824           0            896290       0

3     0            0               0            0            0

4     0            51909           0            895430       0

5     0            0               0            0            0

6     0            35113           0            880247       0

7     0            52690           0            52690        0

8     0            0               0            0            0

9     0            0               0            0            0

10    0            0               0            0            0

11    0            0               0            0            0

12    0            0               0            0            0

13    0            0               0            0            0

14    0            0               0            0            0

15    0            0               0            0            0

0 too big, 1 Buf0 free, 1 Buf1 free

0 Copy fail

Fabric access Error Stats

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

0 parity errors,  0 bad access size, 0 invalid address

0 queue full parity, 0 flushed buffer

router#show controllers fia

Fabric configuration: Full bandwidth, nonredundant fabric

Master Scheduler: Slot 16

From Fabric FIA Errors

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

redund fifo parity 0          redund overflow 0          cell drops 0

crc32 lkup parity  0          cell parity     0          crc32      0

Switch cards present    0x001D    Slots  16 18 19 20

Switch cards monitored  0x001D    Slots  16 18 19 20

Slot:     16         17         18         19         20

Name:    csc0       csc1       sfc0       sfc1       sfc2

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

los    0          0          0          0          0

state  Off        Off        Off        Off        Off

crc16  0          254        0          0          0

! --- Check the CRC error here. In this case CSC1 in slot 17.

To Fabric FIA Errors

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

sca not pres 0          req error     0          uni FIFO overflow 0

grant parity 0          multi req     0          uni FIFO undrflow 0

cntrl parity 0          uni req       0          crc32 lkup parity 0

multi FIFO   0          empty dst req 0          handshake error   0

cell parity  0

有关show controllers fia命令的更多详细信息，请参阅如何读取Show Controller fia命令的输出。

router#show fabric

Dest    ToFab       FrFab     Bad Seq     Unexpected

Slot    Pkts        Pkts                  Pkts

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

Slot0   26327       26327     0           0

Slot1   26325       26325     0           0

Slot2   26321       26321     0           0

Slot4   26315       26315     0           0

Slot6   26311       26311     0           0

Slot7   26334       26334     0           0

multicast timeout 0

failed pak        0

Current fabric timeout is 6000

fabric send fails 58

报告TAC案例应收集的信息

如果在执行上述故障排除步骤后仍需要帮助，并希望通过Cisco TAC创建服务请求，请在您的案例中附加以下信息，以排除Cisco 12000系列互联网路由器上的交换矩阵ping问题：

- 在建立案例前所执行的故障诊断及处理措施

- show technical-support output（在特权模式下）

- show log 输出或控制台捕获信息（如果可用）

- execute-on slot [slot #] show technical-support for the slot havered the line card crass(执行插槽[插槽#]显示遇到线卡崩溃的插槽的技术支持

请以非压缩的纯文本格式(.txt)将收集的数据附加到您的案例。您可以使用案例查询工具(仅限注册客户)将信息附加到案例。 如果不能访问Case Query工具，您可以附上关于案例的相关信息，并在标题栏注明案例编号，然后通过电子attach@cisco.com发送出去。
注意：在收集上述信息之前，如果可能，请不要手动重新加载或重新通电路由器，因为这可能导致确定问题根本原因所需的重要信息丢失。

相关信息

- 在GSR线卡上配置Core Dump

- CEF相关的错误消息故障排除

- 如何理解 show controller fia 命令的输出

- 产品支持 — 12000系列Internet路由器

- 技术支持 - Cisco Systems