本文档介绍运行分布式思科快速转发(以前称为dCEF)交换(Cisco 7500系列路由器和Cisco 12000系列互联网路由器)的平台上出现常见思科快速转发(以前称为CEF)相关错误消息的原因以及如何排除这些错误消息故障。
注意:根据配置分布式思科快速转发的平台,路由处理器(RP)和线卡(LC)的引用方式不同。对于7500系列,RP称为路由交换机处理器(RSP),而LC称为多功能接口处理器 (VIP)。在12000系列上,RP被称为千兆路由处理器(GRP),而LC则被简单称为LC。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
Cisco快速转发交换是可扩展交换的专有形式,目的是处理与需求缓存相关的问题。使用 Cisco 快速转发交换,通常存储在路由缓存器中的信息被分散在若干数据结构中。Cisco快速转发代码能够将这些数据结构保持在RP中和备用处理器中,如Cisco 7500系列中的VIP和Cisco 12000系列中的LC。为高效的数据包转发提供优化查找的数据结构包括:
转发信息库(FIB)表- Cisco快速转发使用FIB做出基于IP目标前缀的交换决策。FIB是概念上和路由表或信息库类似。它维护IP路由表中包含的转发信息的镜像。当在网络中更改路由或拓扑结构时,IP路由表更新,且这些变化反映在FIB上。FIB 基于 IP 路由表中的信息维护着下一跳地址信息。
由于FIB条目和路由表条目之间存在一对一相关性,因此FIB包含所有已知路由,并且无需交换路径(如快速交换和最优交换)相关的路由缓存维护。
如果它们在链路层上通过一跳就能到达对方,网络中的邻接表节点被视为相邻的。除FIB外,思科快速转发还使用邻接表预置第2层(L2)编址信息。邻接表维护所有FIB条目的L2下一跳地址。
可以在以下两种模式之一中启用思科快速转发:
中心Cisco快速转发模式— 当启用了Cisco快速转发模式时,Cisco快速转发FIB、驻留在RP上的邻接表、 RP都会进行快速转发。当LC不可用于Cisco快速转发,或者当您需要使用与分布式Cisco快速转发交换不兼容的功能时,您可以使用Cisco快速转发模式。
启用分布式Cisco快速转发模式时,LC (例如VIP LC或千兆交换路由器(GSR) LC)将保持FIB和邻接表的相同副本。LC可独自执行快速转发,无需主处理器(GRP或RSP)介入交换操作。这是Cisco系列上唯一可用的交12000方法。
Distributed Cisco Express Forwarding使用进程间通信(IPC) 机制确保RP和LC上的FIB同步和邻接表。
注意:在下面的示例中,某些命令使用输出修饰符(由 | 符号),用于简化显示以仅显示所需信息。Cisco IOS®软件版本12.0及更高版本支持输出修饰符。如果您正在运行一个更旧的版本,请发出main命令。 | 符号),并在完整输出中查找对应的行。
发出show cef linecard命令,您能够轻易地验证在哪些VIP或LC上禁用了Cisco快速转发。
在7500系列上:
Router#show cef linecard CEF linecard generic information: Slot MsgSent Seq MaxSeq LowQ MedQ HighQ Flags 4 8 6 30 0 0 0 up 5 8 6 30 0 0 0 up Default-table CEF table, version 13, 11 routes Slot CEF-ver CEF-XDR Interface Flags 4 12 5 5 Active, sync 5 12 5 2 Active, sync
在12000 Series上:
Router#show cef linecard CEF table version 694517, 95239 routes Slot CEF-ver MsgSent XdrSent Seq MaxSeq LowQ MedQ HighQ Flags 0 32128 365 33320 362 367 0 0 0 disabled 1 95821 1010 99369 1006 1025 0 0 0 disabled 2 92559 971 6033 967 984 0 0 0 disabled 8 62514 653 65734 649 661 0 0 0 disabled 9 47165 486 48428 483 498 0 0 0 disabled 10 79887 834 83232 830 849 0 0 0 disabled
由于12000系列只支持分布式Cisco快速转发,所以一个禁用状态会造成整个LC禁用。
要了解以下错误信息,您需要了解什么是XDR信息,以及它们的用途:
%FIB-3-NORPXDRQELEMS
%FIB-3-FIBBADXDRLEN
%FIB-4-FIBXDRLEN
以下是XDR体系结构的概述:
如本文的背景信息部分所述,IPC消息将FIB和邻接表从RP传输到LC。换句话说,IPC机制在RP和LC上对两套表进行同步化处理。功能使用的任何数据结构必须通过FIB IPC传输到LC,并且统计数据必须传回到RP。当启用分布式Cisco快速转发 时,LC使用本地存储、复制的数据库做出转发决策。
XDR称为IPC重叠机制。XDR消息仅用于分布式思科快速转发实施。
统计数字和支持Cisco IOS软件功能的数据结构,均在RP和LC之间的Cisco IOS软件机制的XDR信息中。具体来说,XDR消息传送三组信息,如下表所示:
消息类型 | 消息说明 | 方向 |
---|---|---|
控制 | RP将功能子块中的控制数据发送到需要知道所有更改的LC上的所有镜像子块。 | RP到LC |
统计信息 | LC从多种功能子块中收集统计信息,并将收集到的信息放置在XDR缓冲区,并发送XDR信息到RP。然后,RP会聚合这些统计信息。 | LC到RP |
异步事件报告 | LC通过异步信息(当情况发生时才发送)报告非惯例事件。 | LC到RP |
发出show cef line internal命令查看通过XDR消息传输的信息。网络描述符块(NDB)或路由描述符块(RDB)更新是XDR的一个示例。
Total elements queued: prefix 1877106 adjacency 6011 interface 4084 address 4010 policy routing 3 hw interface 84 state 6 resequence 2 control 24 time 308 subblock 18109 flow features deactivate 3 flow cache config 3 flow export config 3 flow sampling config 3 access-list 213 mpls ttl propogate 3 routemap config 126 mpls stats aggregate 3 dot1q vlan 10109 icmp limit 3
本部分列出路由器日志中显示的错误消息,并提供故障排除提示。
这些错误信息类型在路由器日志中发现(在您的路由器上发出show logging exec命令,或者如果您正在使用某错误信息则查询您的系统日志服务器),显示如下:
在7500系列上:
Dec 19 17:58:56 CET: %FIB-3-FIBDISABLE: Fatal error, slot 0: no memory DEC 19 17:58:58 CET: %IPC-5-SLAVELOG: VIP-SLOT0: 00:03:37: %SYS-2-MALLOCFAIL: Memory allocation of 65524 bytes failed from 0x6009E9E4, pool Processor, alignment 16 -Process= "CEF IPC Background", ipl= 0, pid= 7 -Traceback= 600A141C 600A2B78 6009E9EC 6009F350 60235A34 60221BA4 60225528 6022A46C 60231104 6022FAC4 6022FCCC 6022FDBC 60230334 6009BB74 6009BB60 DEC 19 17:59:06 CET: %FIB-3-FIBDISABLE: Fatal error, slot 9: no memory DEC 19 17:59:11 CET: %IPC-5-SLAVELOG: VIP-SLOT9: 00:03:47: %SYS-2-MALLOCFAIL: Memory allocation of 65524 bytes failed from 0x6009E9E4, pool Processor, alignment 16 -Process= "CEF IPC Background", ipl= 0, pid= 7 -Traceback= 600A141C 600A2B78 6009E9EC 6009F350 60235A34 60221BA4 60225528 6022A46C 60231104 6022FAC4 6022FCCC 6022FDBC 60230334 6009BB74 6009BB60 DEC 19 17:59:31 CET: %IPC-5-SLAVELOG: VIP-SLOT8: 00:04:11: %SYS-2-MALLOCFAIL: Memory allocation of 3956 bytes failed from 0x602835F0, pool Processor, alignment 32 -Process= "CEF LC Stats", ipl= 0, pid= 21 -Traceback= 600A141C 600A2EC8 602835F8 60283C84 60283C58 60283CE4 60230574 6009BB74 6009BB60 DEC 19 17:59:38 CET: %FIB-3-FIBDISABLE: Fatal error, slot 8: no memory DEC 19 18:00:29 CET: %FIB-3-FIBDISABLE: Fatal error, slot 10: no memory ...
在7500系列上,%IPC-5-SLAVELOG: VIP-SLOT消息之后出现的错误消息直接来自使用IPC机制位于上述插槽中的VIP。在此特定示例中,%SYS-2-MALLOCFAIL消息来自VIP卡。
Jun 27 04:58:56 CET: %FIB-3-FIBDISABLE: Fatal error, slot 1: no memory Jun 27 04:59:07 CET: %FIB-3-FIBDISABLE: Fatal error, slot 2: no memory Jun 27 04:59:36 CET: %FIB-3-FIBDISABLE: Fatal error, slot 4: no memory Jun 27 04:59:45 CET: %FIB-3-FIBDISABLE: Fatal error, slot 0: no memory SLOT 2:Jun 27 04:23:00: %SYS-2-MALLOCFAIL: Memory allocation of 65524 bytes failed from 0x4009D9E4, pool Processor, alignment 32 -Process= "CEF IPC Background", ipl= 0, pid= 38 -Traceback= 400A0BFC 400A2358 4009D9EC 4009E338 403168BC 40316B68 40316EBC 4031C318 40321234 4032858C 40326CD4 40326EF4 40326FE4 403275CC 4009BC74 4009BC60 SLOT 2:Jun 27 04:23:00: %FIB-3-NOMEM: Malloc Failure, disabling DCEF on linecard ...
注意:以“SLOT #:”开头的消息由LC自身生成。
这些消息表明,分布式Cisco快速转发已经在VIP (用于7500系列)或LC(用于12000系列)中禁用,因为没有足够的内存,从主板下载Cisco快速转发FIB和邻接表。由于12000系列仅支持分布式Cisco快速转发交换,因此禁用分布式Cisco快速转发也会禁用该卡。
当运行完整的互联网边界网关协议(时BGP)时,推荐至少129MB的VIP或LC空间。
由于7500系列上的VIP2-40最大只有64MB,因此如果您想要使用分布式Cisco快速转发和全部互联网BGP路由,建议您升级到VIP2-50甚至VIP4-80。32 MB肯定不足以运行分布式思科快速转发。
建议使用内存至少为128MB的VIP2-50或更高版本,具体取决于路由表的大小。
如果您的路由器接受全部互联网路由表(或接近全部),在路由器重载或BGP链路状态更改以后的融合阶段,BGP需要大量的临时内存。在这样的融合中,处理器内存池可能会达到一个非常低的值,就像在show memory summary命令输出中反映的那样。在短暂的低内存条件下,其它进程如果需要内存,则可能会受到影响。例如,发出Telnet命令与路由器联系需要内存保持TCP会话。
处理器内存的另一个临时用户是多协议标签交换(MPLS)网络中的标签分配协议(LDP)。
只有当路由器处理器内存完全耗尽时,思科快速转发才会产生FIBDISABLE错误。FIBDISABLE没有低水位标记。一旦思科快速转发禁用自身,它就会释放其所有内存。因此,在禁用后采集show memory summary命令,显示它具足够的内存,但这个输出会产生误解。只有在Cisco快速转发禁用自身之前捕获show memory summary命令才能显示有关内存不足情况的数据。
此外,FIBDISABLE条件可能是IPC缓冲区耗尽的副作用。Cisco IOS软件不会根据需要动态分配更多IPC缓冲区。用尽IPC缓冲区不会生成FIB NOMEM 错误信息,但是可能出现其他IPC错误信息,例如IPC-3-NOBUFF。IPC缓冲区耗尽不会导致FIBDISABLE错误;Cisco快速转发只需重新发送任何失败消息,并在稍后重试。然而,如果IPC缓冲用完,并且Cisco快速转发不能获得IPC缓冲,它可能会向LC发出消息,直到内存最终耗尽。
Cisco技术支持中心(TAC)遇到的一个常见问题是:如何计划或确定与BGP连接的路由器是否有充足的内存来运行BGP。答案取决于配置。以下是一些注意事项:
您是否计划使用内部边界网关协议(iBGP)和外部边界网关协议(eBGP)对等体?有多少同行?BGP对等体组可能有所帮助。对等体越多意味着收敛时间越长。
每个对等体的每个方向交换了多少条路由?确保正确区分路由和路径。路由计数BGP路由信息库中的前缀数量。路径计算通告到相邻对等体的BGP前缀的数量。例如,如果五个BGP对等体发送完全路由表,则每个对等体发送相同的路由。假设对等体在其路由中有90%的交叠,那么接收路由器的路由表就有大约150,000条路由,并且有5条路径可用于大多数路由。
需要考虑的其他因素包括:
12000系列上有一个LC引擎。
内部网关协议(IGP)路由的数量。
邻接关系的数量。
负载均衡 — 到达同一目标的路径数。
MPLS虚拟专用网络(VPN)的使用、虚拟路由与转发(VRF)实例的数量、每个VRF的路由数量。
Cisco IOS软件版本12.0(18)S及更高版本正式要求所有LC上有128MB。由于新的Cisco IOS软件版本占用更多的处理器内存,建议至少使用256MB的内存,支持能够接收完全的因特网路由表的路由器的未来扩展。以前,12000系列在LC上提供64MB。应该升级这样的LC。
检查受到影响的卡(参见本文的“验证VIP和LC上的Cisco快速转发状态”部分),并且发出以下命令,在您的路由器中将显示不同种类的卡,及其各自的内存大小:
在7500系列上:
Router#show diag | i (Slot | controller) Slot 0: EIP controller, HW rev 1.05, board revision B0 Slot database information: Slot 2: Slot 3: Slot 4: VIP2 controller, HW rev 2.11, board revision E0 Slot database information: Controller Memory Size: 64 MBytes DRAM, 2048 KBytes SRAM Slot 5: VIP2 R5K controller, HW rev 2.03, board revision A0 Slot database information: Controller Memory Size: 128 Mbytes DRAM, 8192 Kbytes SRAM Slot 31 (virtual):
在12000 Series上:
Router#show diag | i (DRAM|SLOT) SLOT 0 (RP/LC 0 ): 1 Port SONET based SRP OC-12c/STM-4 Single Mode DRAM size: 268435456 bytes FrFab SDRAM size: 134217728 bytes, SDRAM pagesize: 8192 bytes ToFab SDRAM size: 134217728 bytes, SDRAM pagesize: 8192 bytes SLOT 2 (RP/LC 2 ): 12 Port Packet over E3 DRAM size: 67108864 bytes FrFab SDRAM size: 67108864 bytes ToFab SDRAM size: 67108864 bytes SLOT 3 (RP/LC 3 ): 1 Port Gigabit Ethernet DRAM size: 134217728 bytes FrFab SDRAM size: 134217728 bytes, SDRAM pagesize: 8192 bytes ToFab SDRAM size: 134217728 bytes, SDRAM pagesize: 8192 bytes SLOT 5 (RP/LC 5 ): Route Processor DRAM size: 268435456 bytes
将更多的内存添加到受影响的卡中应该防止消息,并重新启用卡上的分布式Cisco快速转发。内存升级后,如果消息仍然存在,联系您的Cisco支持代表,提供您目前收集到的信息,以及show tech-support命令的输出。
注意:旧的快速以太网接口处理器(FEIP)型号(CX-FEIP2-2TX和CX-FEIP2-2TX)根本不支持分布式交换,如果您尝试在其上启用分布式思科快速转发,则会生成类似消息。发送show diag [slot-]命令,确定您的板是VIP还是FEIP:
Router#show diag 0 Slot 0: Physical slot 0, ~physical slot 0xF, logical slot 0, CBus 0 Microcode Status 0x4 Master Enable, LED, WCS Loaded Pending I/O Status: None EEPROM format version 1 FEIP controller, HW rev 2.01, board revision B0 Serial number: 03696620 Part number: 73-1374-04 Test history: 0x0E RMA number: 203-11-48 Flags: cisco 7000 board; 7500 compatible
如果您想运行Distributed Cisco Express Forwarding,您必须用一个带快速以太网端口适配器VIP卡取代原来的FEIP。
下列信息(在7500和12000系列上)也表明Cisco快速转发被禁用,这次是因为RSP或GRP没有收到VIP或LC发出的Keepalive:
DEC 19 18:03:55 CET: %FIB-3-FIBDISABLE: Fatal error, slot 0: No window message, LC to RP IPC is non-operational DEC 19 18:04:05 CET: %FIB-3-FIBDISABLE: Fatal error, slot 9: No window message, LC to RP IPC is non-operational DEC 19 18:04:37 CET: %FIB-3-FIBDISABLE: Fatal error, slot 8: No window message, LC to RP IPC is non-operational DEC 19 18:05:28 CET: %FIB-3-FIBDISABLE: Fatal error, slot 10: No window message, LC to RP IPC is non-operational DEC 19 18:05:59 CET: %FIB-3-FIBDISABLE: Fatal error, slot 2: No window message, LC to RP IPC is non-operational DEC 19 18:06:07 CET: %FIB-3-FIBDISABLE: Fatal error, slot 1: No window message, LC to RP IPC is non-operational
首先,检查您的卡上是否有足够的内存。
然后检查您的VIP或LC上的CPU利用率 (在7500系列上发出show controllers vip [slot-] proc cpu命令,在12000系列上发出execute-on slot 0 show proc cpu命令)。如果CPU利用率确实很高(95%以上),VIP或LC有可能太忙,无法发送Keepalive到RSP或GRP。此问题的根本原因是CPU使用率过高。有关故障排除提示,请参阅对Cisco路由器上的CPU使用率过高进行故障排除。
如果这些似乎都正常,那么错误信息最可能是由Cisco IOS 软件的错误引起的。
排除此错误时,您应该做的第一件事是检查受到影响的卡(参见本文的“验证VIP和LC上的Cisco快速转发状态”部分)。您可以尝试通过发出clear cef linecard [slot#]命令在这些卡上重新启动Cisco快速转发。在7500系列中,可能还有必要通过发出microcode reload命令重置VIP卡。这会生成CBUS复合体,这会导致大约两分钟的流量中断(有关详细信息,请参阅什么导致“%RSP-3-RESTART: cbus complex”?)。此过程至少应暂时恢复VIP或LC上的分布式Cisco快速转发。
否则,升级到Cisco IOS软件版本系列的最新版本,可清除已经修复的导致此类错误的问题。升级后如果该问题仍然发生,联系您的Cisco支持代表,提供您目前收集到的信息,以及show tech-support命令的输出。
以下错误消息较为通用,并且可能导致出现其他错误消息(例如%FIB-3-FIBDISABLE:致命错误,插槽[#]:无窗口消息,LC到RP IPC不运行):
%FIB-3-FIBDISABLE: Fatal error, slot 3: IPC failure %FIB-3-FIBDISABLE: Fatal error, slot 0: IPC failure %FIB-3-FIBDISABLE: Fatal error, slot 1: IPC failure %FIB-3-FIBDISABLE: Fatal error, slot 2: IPC failure %FIB-3-FIBDISABLE: Fatal error, slot 4: IPC failure %FIB-3-FIBDISABLE: Fatal error, slot 9: IPC failure %FIB-3-FIBDISABLE: Fatal error, slot 10: IPC failure
程序间通信(IPC)是主处理器使用的一种协议(RSP或GRP),是VIP或LC的通信。当分布式思科快速转发运行时,它可确保FIB和邻接表的同步。导致这些IPC错误消息的原因有多种,例如:
以下命令可用于分析实际IPC状态。7500系列和7500系列之间的这些命令输出有时12000不同。
show ipc status — 用于检查IPC错误、NACK和ipc_output_failures
show ipc nodes — 用于检查活动卡。
show ipc queue — 用于检查等待ACK的IPC消息。
在7500系列上,输出如下:
Router#show ipc status IPC System Status: This processor is the IPC master server. 1000 IPC message headers in cache 1591560 messages in, 5884 out, 1587095 delivered to local port, 2757 acknowledgements received, 2764 sent, 0 NACKS received, 0 sent, 0 messages dropped on input, 276 messages dropped on output 0 no local port, 264 destination unknown, 0 no transport 0 missing callback or queue, 0 duplicate ACKs, 5 retries, 1 message timeout. 12 ipc_output failures, 0 mtu failures, 0 msg alloc failed, 0 emer MSG alloc failed, 0 no origs for RPC replies 0 pak alloc failed, 10 memd alloc failed 2 no hwq, 0 failed opens, 0 hardware errors No regular dropping of IPC output packets for test purposes Router#show ipc nodes There are 3 nodes in this IPC realm. ID Type Name Last Last Sent Heard 10000 Local IPC Master 0 0 1030000 RSP-CY RSP IPC card slot 3 7 7 1000000 RSP-CY RSP IPC card slot 0 10 10 Router#show ipc queue There are 0 IPC messages waiting for acknowledgement in the transmit queue. There are 0 IPC messages waiting for a response. There are 0 IPC messages waiting for additional fragments. There are 0 IPC messages currently on the IPC inboundQ. There are 0 messages currently in use by the system.
在12000系列上,输出如下:
Router#show ipc status IPC System Status: This processor is the IPC master server. 19244592 messages in, 26698 out, 19244448 delivered to local port, 102 acknowledgements received, 4780307 sent, 0 NACKS received, 0 sent, 0 messages dropped on input, 0 messages dropped on output 0 no local port, 0 destination unknown, 0 no transport 0 missing callback or queue, 0 duplicate ACKs, 0 retries, 0 message timeouts. 0 ipc_output failures, 0 mtu failures, 0 MSG alloc failed, 0 emer MSG alloc failed, 0 no origs for RPC replies 0 pak alloc failed, 0 memd alloc failed 0 no hwq, 0 failed opens, 0 hardware errors Router#show ipc nodes There are 4 nodes in this IPC realm. ID Type Name Last Last 10000 Local IPC Master 0 0 1000000 GSR GSR Slot 0 23 47 1010000 GSR GSR Slot 1 23 26 1040000 GSR GSR Slot 4 23 29 Sent Heard Router#show ipc queue There are 0 IPC messages waiting for acknowledgement in the transmit queue. There are 0 messages currently in use by the system.
如果突出显示的计数器增加,IPC在不同插槽上不能正常运行。在这种情况下,您应该首先设法再置对应LC,或者通过发出microcode reload命令(用于7500系列)或hw-module slot [插槽编号] reload命令(用于12000系列),重置对应LC。重置LC后,如果IPC过程还没有恢复,请尝试将板移到另一插槽。如果仍然不起作用,请更换有故障的VIP或LC。
在12000系列Internet路由器上,交换矩阵本身可能是罪魁祸首。如果其中一个交换矩阵卡(SFC)已坏,您可能收到类似的错误信息,因为IPC信息不再通过该矩阵。但是,在这种情况下,您还应看到指向故障交换矩阵的其他消息。
您可以通过发送show controller fia命令来检查其中一个SFC是否是坏的,如下所示:
Router#show controllers fia Fabric configuration: Full bandwidth redundant Master Scheduler: Slot 17 >From Fabric FIA Errors /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html --- redund fifo parity 0 redund overflow 0 cell drops 1 crc32 lkup parity 0 cell parity 0 crc32 0 Switch cards present 0x0017 Slots 16 17 18 20 Switch cards monitored 0x0017 Slots 16 17 18 20 Slot: 16 17 18 19 20 Name: csc0 csc1 sfc0 sfc1 sfc2 /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html los 0 0 0 0 0 state Off Off Off Off Off crc16 0 0 4334 0 0 To Fabric FIA Errors /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html /en/US/docs/net_mgmt/wan_service_administrator/1.1/administrator/guide/getstart.html --- 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
在本例中,sfc0可能已损坏(插槽18),需要更换。
如果其中一个卡不适当引导,它便无法与主处理器接通(GRP或RSP)。您可以通过发出show log命令来检查日志;这将告知您在启动时是否出现了问题。您还需要检查LC的状态。
通过发出show diag命令,可以检查LC的实际状态。
在7500系列上:
Router#show diag | i (Slot|Board is) Slot 0: Board is analyzed Slot database information: Slot 2: Slot 3: Slot 4: Board is analyzed Slot database information: Slot 5: Board is analyzed Slot database information: Slot 31 (virtual)
在1200系列上:
Router#show diags | i SLOT | State SLOT 0 (RP/LC 0 ): Route Processor Board State is IOS Running (ACTV RP ) SLOT 1 (RP/LC 1 ): 1 port ATM Over SONET OC12c/STM-4c Multi Mode Board State is Line Card Enabled (IOS RUN ) SLOT 2 (RP/LC 2 ): 1 Port Gigabit Ethernet Board State is Line Card Enabled (IOS RUN ) SLOT 3 (RP/LC 3 ): 3 Port Gigabit Ethernet Board State is Line Card Enabled (IOS RUN ) SLOT 4 (RP/LC 4 ): 4 port ATM Over SONET OC-3c/STM-1 Multi Mode Board State is In Reset (IN RSET) SLOT 5 (RP/LC 5 ): 8 Port Fast Ethernet Copper Board State is Line Card Enabled (IOS RUN ) SLOT 6 (RP/LC 6 ): 4 Port Packet Over SONET OC-3c/STM-1 Multi Mode Board State is Line Card Enabled (IOS RUN ) SLOT 7 (RP/LC 7 ): 1 Port E.D. Packet Over SONET OC-48c/STM-16 Single Mode/SR SC-SC connector Board State is Line Card Enabled (IOS RUN ) SLOT 17 (CSC 1 ): Clock Scheduler Card(8) SLOT 18 (SFC 0 ): Switch Fabric Card(8) SLOT 19 (SFC 1 ): Switch Fabric Card(8) SLOT 20 (SFC 2 ): Switch Fabric Card(8) SLOT 24 (PS A1 ): AC Power Supply(8)
正常状态是Line Card Enabled 在7500系列12000,Board is analyzed on the 7500 Series。
检查该卡是否由您当前运行的Cisco IOS软件和引导镜像支持。为此,您可以使用Software Advisor(仅限注册客户)。如果软件正常运行,尝试再置或重置对应LC,方法是发出microcode reload命令(用于7500系列),或hw-module slot [slot-] reload命令(用于12000系列)。
如果LC不能复活,设法将卡交换到其他插槽,并确保机箱中的此特定插槽没有故障。如果它还不运作,则可能需要替换VIP或LC 。
您也许还想证实LC上是否有足够的内存,该内存是否可以直接从Cisco认可供应商处购买。如果使用错误的存储器类型,或者没有足够的内存加载微码,则LC就不能引导。
可能LCF运行内存不足,并且没有更多的缓冲用于IPC通信。在这种情况下,您应该升级LC的内存。
如果这些似乎都正常,请考虑Cisco IOS软件存在错误的可能性。升级到最新版本的Cisco IOS软件版本系列可以消除所有固定IPC问题。
在一些与12000有关的少数情况中不能(配置了访问控制列表的改进),您也能收到这些错误信息。短期修复是通过发出no access-list hardware psa命令禁用此新功能。有关详细信息,请参阅Cisco 12000千兆交换机路由器的访问列表性能改进。
如果您不能确定消息的来源,或者该问题是否仍然出现在您的版本培训中的当前最新Cisco IOS软件版本中,那么您可能遇到新的Cisco IOS软件Bug。联系您的Cisco支持代表,提供您目前收集到的数据,以及从该路由器的show tech-support和show cef linecard命令的输出。
VIP崩溃后,重建RSP信息包内存(称为MEMD),并重置RSP和VIP之间的IPC连接。在VIP崩溃期间,如果RSP有Cisco快速转发消息排队在IPC转播表中,这些消息有可能超时,导致Cisco快速转发在其他LC上禁用。Cisco Bug ID CSCdv87489(仅限注册客户)通过提示Cisco快速转发检测OIR、LC重新加载或MEMD恢复,并刷新重新传输队列中的消息,解决了RSP上的此问题。Cisco Bug ID CSCdu81796(仅限注册客户)解决了Cisco 10000系列路由器上的此问题。
执行VIP或LC的OIR可能在其他插槽上触发FIBDISABLE错误问题。当RP上的Cisco快速转发由于某个VIP上的OIR事件,不能建立与其他VIP卡的IPC连接时,会出现这种情况。Cisco Bug ID CSCdv47664(仅注册客户)解决了此问题。
您还可能注意到路由器日志中的以下消息:
%FIB-4-RPPREFIXINCONST2: RP missing prefix for 195.74.205.54/32 in FIB table Default-table (present in routing) %FIB-4-RPPREFIXINCONST2: RP missing prefix for 195.74.205.231/32 in FIB table Default-table (present in routing) %FIB-4-RPPREFIXINCONST2: RP missing prefix for 195.74.221.68/32 in FIB table Default-table (present in routing) %FIB-4-RPPREFIXINCONST2: RP missing prefix for 195.74.216.52/32 in FIB table Default-table (present in routing) %FIB-4-RPPREFIXINCONST2: RP missing prefix for 195.74.216.96/32 in FIB table Default-table (present in routing) %FIB-4-RPPREFIXINCONST2: RP missing prefix for 195.74.216.55/32 in FIB table Default-table (present in routing)
或
%FIB-4-LCPREFIXINCONST2: Slot 1 missing prefix entry for 64.0.17.0/32 %FIB-4-LCPREFIXINCONST2: Slot 1 missing prefix entry for 64.0.45.0/32 %FIB-4-LCPREFIXINCONST2: Slot 1 missing prefix entry for 64.0.23.0/32
此问题影响运行分布式思科快速转发的所有硬件,包括7500和12000系列。这些消息是由Cisco快速转发一致性检查器生成的警告(当此检查器发现在Cisco快速转发表之间产生不一致时)。
一致性检查器使用不同的机制来查找不一致:
LC和VIP将GRP或RSP发送到不能转发信息包的任一地址。如果GRP或RSP检测到它是相关条目,则会检测到不一致性,并将在控制台打印错误信息。
LC或VIP与GRP或RSP每隔60秒互相发送固定数量的前缀(默认为100)。如果检测到不一致,系统将显示错误消息。
如果不纠正不一致的情况,可能会导致无法到达目的地和丢弃数据包。当您看这些消息时,要做的第一件事是在上述错误信息显示的设备上发出show ip cef命令,并验证前缀是否存在。这将告知您路由器是否自行纠正了不一致问题。
下面是对每封邮件的更详细说明,以及消除这些邮件的一些建议。
%FIB-4-LCPREFIXINCONST2—被动一致性检查器在路由表发现了一个前缀,这个前缀并没有出现在RP的思科快速转发表中。这可能是暂时的情况。
如果相同前缀造成重复错误,请检查思科快速转发中的前缀和路由表。如果缺少前缀,请尝试禁用或启用思科快速转发。
%FIB-4-LCPREFIXINCONST1—被动一致性检查器在LC转发表中发现了一个前缀,它没有出现在RP中。这可能是暂时的情况。
如果相同前缀产生重复错误,请检查RP和线路卡上的Cisco快速转发前缀。如有必要,发出clear cef linecard命令可将新的Cisco快速转发表下载到线卡。
%FIB-4-LCPREFIXINCONST1—信息包到达LC,但对目的地IP地址的查找,却没能在转发表中找到前缀。但是,前缀存在于RP上。这可能是暂时的情况。
如果相同前缀产生重复错误,请在RP和LC上检查 Cisco Express Forwarding 前缀。如有必要,发出clear cef linecard命令可将新的Cisco快速转发表下载到LC。您还可以尝试发出clear adjacency命令重新加载/32前缀。
%FIB-4-LCPREFIXINCONST2—被动一致性检查器发现了在LC转发表中丢失的前缀,它出现在RP中。这可能是暂时的情况。
如果相同前缀产生重复错误,请在RP和LC上检查 Cisco Express Forwarding 前缀。如有必要,发出clear cef linecard命令可将新的Cisco快速转发表下载到LC。您还可以尝试发出clear adjacency命令重新加载/32前缀。
如果消息仅出现一次,且不一致问题立即得到纠正,则可能是临时事件,不需要采取行动。然而,如果您收到许多这类消息,或者如果路由器本身不能纠正这种情况,采用Cisco快速转发代码模式有可能击中软件Bug。在Cisco IOS 软件版本12.0(17)S1和12.0(17)ST1中,对一些此类软件错误进行了修复,因而请确保您运行的Cisco IOS软件至少不能低于这个版本。
如果升级到您的版本培训中的最新版本以后,仍然出现该问题,联系您的Cisco支持代表,并提供show tech、show ip route和show ip cef命令的输出。
注意:可以通过发出no ip cef table consistency-check全局配置命令关闭一致性检查程序。
要获得关于此错误信息的更详细信息,以及更多故障检修提示,请参见"使用Cisco快速转发,排除前缀不一致故障"。
注:请参阅本文档的外部数据表示(XDR)概述部分,以便更好地了解有关此错误消息的解释和建议。
当RP准备将消息发送到系统中的LC时,它将耗尽排队等待信息传输所需的排队要素供应。
在Cisco 12000系列上,分布式Cisco快速转发可能禁用,因为路由更新期间(例如,引导时)会出现低内存状况。例如,在路由摆动和重新启动期间,RP能获得禁用分布式Cisco快速转发交换的malloc失败。
例如,如果您在RP上用260k 开放式最短路径优先(OSPF)路由来清除IP OSPF进程,您将收到以下错误信息:
%FIB-3-NORPXDRQELEMS: Exhausted XDR queuing elements while preparing message for slot 2 -Process= "OSPF Router", ipl= 0, pid= 149 -Traceback= 41060B88 40D5C894 403D130C 403A4484 403AB49C 403AAB10 403AB7BC 40736FCC 407384E0 401BE9BC 401BE9A8
或者,如果您具有大型BGP路由表,并且如果您体验到几条路由抖动或路由器重启,您会看到:
%FIB-3-NORPXDRQELEMS: Exhausted XDR queuing elements while preparing message for slot 4 -Process= "BGP Router", ipl= 0, pid= 104 -Traceback= 600CDC74 600DC3D0 6038FA90 6036C940 60374510 604A2F30 60753168 604A2FAC 604A9BC0 6018BD8C 6018BD78
注意:这些消息可能与%FIB-3-FIBDISABLE:致命错误,插槽6:没有内存和%FIB-3-NOMEMWARNING:在DCEF中发生Malloc故障。
发送100 k BGP路由时,您可能会看到以下内容:
%OSPF-5-ADJCHG: Process 100, Nbr 161.10.1.1 on GigabitEthernet3/1 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 100, Nbr 161.10.1.1 on GigabitEthernet3/3 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 100, Nbr 161.10.1.1 on GigabitEthernet3/2 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 100, Nbr 161.10.1.1 on GigabitEthernet3/4 from LOADING to FULL, Loading Done %BGP-5-ADJCHANGE: neighbor 161.10.11.1 Up %FIB-3-FIBDISABLE: Fatal error, slot 6: no memory %FIB-3-FIBDISABLE: Fatal error, slot 3: no memory %SYS-2-MALLOCFAIL: Memory allocation of 65540 bytes failed from 0x401C783C, pool Processor, alignment 0 -Process= "BGP Router", ipl= 0, pid= 120 -Traceback= 401CAB20 401CCF80 401C7844 401C8044 40FD017C 40FD032C 40D65AFC 403D4174 403A7BA4 403AA4D0 40712200 40712EF4 4112E760 40712FE0 406EDD10 401C155C Queued messages: %SYS-3-LOGGER_FLUSHING: System pausing to ensure console debugging output. %FIB-3-NORPXDRQELEMS: Exhausted XDR queuing elements while preparing message for slot 4 -Process= "BGP Router", ipl= 0, pid= 104 -Traceback= 600CDC74 600DC3D0 6038FA90 6036C940 60374510 604A2F30 60753168 604A2FAC 604A9BC0 6018BD8C 6018BD78 %FIB-3-NOMEMWARNING: Malloc Failure in DCEF
此问题是由思科快速转发在大型路由更新期间使用过多的RP内存造成的。如果RP用完了将以相当缓慢的速率转发到LC的Cisco快速转发IPC队列中的空闲内存排队XDR信息,会发生什么情况。Cisco快速转发IPC信息速率目前限制为每个四分之一秒最多转发25条IPC信息(任何队列的IPC信息)。结果是,RP端的队列发展到巨大规模,没有留出自由RP内存,因此mallocfail发生并禁用Cisco快速转发。
如果这是实际情形,您可以减少BGP中的最大路径数量,以此减少Cisco快速转发必须传播到LC的信息量,或者减小TCP窗口大小,以此降低流入BGP更新的速度。有关其他详细信息,请参阅实现最佳路由和减少BGP内存消耗。
如果您运行Cisco IOS软件版本12.0(16)S、12.0(16)ST、12.1(9)、12.1(8a)E、12.2(2)、12.2(2)T或更新版本,您可以通过调整ip cef linecard ipc内存<0-128000千字节>接口配置命令的参数,获得满意结果。默认行为是有25个缓冲区。但是,此值取决于交换平台。此LC内存量限制为总可用内存的50%。此命令:
允许您分配更大量的LC内存到排队,使Cisco快速转发路由到更新消息。
通过更快地发布思科快速转发更新,允许RP释放内存。
防止RP出现内存不足的情况。
如果您遇到上述错误信息,增加LC IPC 内存可以解决问题。建议使用参数10000发出此命令。在大多数情况下,这可以解决此问题。该命令的使用方法如下:
Router(config)#ip cef linecard ipc mem ? <0-128000> Kbytes of linecard memory (limited to 50% of total) Router(config)#ip cef linecard ipc mem 10000 Router#show cef linecard detail CEF linecard slot number 0, status up, sync Linecard CEF version number 8 Sequence number 3, Maximum sequence number expected 27, Seq Epoch 1 Send failed 0, Out Of Sequence 0, drops 0 Linecard CEF reset 1, reloaded 1 33 elements packed in 4 messages(1030 bytes) sent 1 elements cleared linecard in sync after reloading 0/0/0 xdr elements in LowQ/MediumQ/HighQ 8/9/13 peak elements on LowQ/MediumQ/HighQ Input packets 0, bytes 0 Output packets 0, bytes 0, drops 0
有关此命令的详细信息,请参阅ip cef linecard ipc memory。
建议您首先阅读本文档的外部数据表示(XDR)概述部分,以便更好地了解有关此错误信息的解释和建议。
您可能会收到以下错误消息:
%FIB-3-FIBBADXDRLEN: Invalid XDR length. Type/len 6/29479. XDR at 0x622D1F2C -Traceback= 600C786C 601D4B50 602CF7A8 60183454 60183440
消息来自在XDR信息上执行基本检查的某个消息验证代码。在这种情况下,接收到第6类XDR信息,该信息的长度域包含值29479。此长度比包含数据的缓冲区还大,因此代码丢弃此消息。
在12000系列中,结构的硬件故障也可能破坏一些信息包,导致弹出XDR错误信息。通过发出show controller fia命令,查看其中某个SFC上是否有某些循环冗余校验(CRC),检查交换矩阵。您也应该检查日志查看是否有一些其它消息可以为进一步排除此错误信息故障提供信息。
如果RP已经从LC上接收到out-of-sequence IPC信息,那么您将收到此消息。因此,指定插槽上已禁用思科快速转发交换。
如果有大量路由器,或重新装载RP时,您可能发现RP控制台上会显示如下错误信息。
%FIB-3-FIBLC_OOSEQ: Slot 11 disabled - Out of Sequence. Expected 9637, received 9638
此消息可能与以下插槽特定消息一起出现:
SLOT 11:%FIB-3-FIBSEQ: Out of sequence. State 9637 Rcvd 9638
发出show cef linecard命令检查Cisco快速转发是否在插槽中禁用(如下所示)。
router#show cef linecard CEF table version 40975, 47 routes Slot CEF-ver MsgSent XdrSent Seq MaxSeq LowQ HighQ Flags 11 40750 9642 164473 9639 9661 0 0 up, sync, disabled
没有功能性后果;发生此事件时FIB表将被重新加载。如果仍然遇到问题,可以发出clear cef linecard <slot #> 命令。之后,发出show cef linecard命令检查LC的状态。在7500系列上,您可以尝试禁用思科快速转发,然后重新启用它。如果问题仍然出现,向VIP发出microcode reload命令应该能解决此问题。在12000系列上,向LC发出的hw-module slot <slot #> reload命令可解决此问题。
如果Cisco快速转发不能将一些或所有信息包转换出此特定接口(假设在其当前配置),您收到%FIB-4-PUNTINTF消息。。Cisco快速转发会将交换到此接口的数据包转发到下一个较慢的交换路径。参考如何为您的网络选择最佳路由器交换路径,以了解不同交换路径的更多信息。
如果Cisco快速转发已被punting信息包转换到更缓慢的交换路径的该接口,并且该接口配置已经更改,使得Cisco快速转发现在可以将交换恢复到该接口,您会收到%FIB-5-NOPUNTINTF消息。这只是一条信息性消息,大多数情况下不需要执行任何操作。
%FIB-4-PUNTINTF: CEF punting packets switched to POS2/0/0.1 to next slower path
接口配置更改后,此消息后面可能会跟有此消息:
%FIB-5-NOPUNTINTF: CEF resuming switching packets to POS2/0/0.1
如果您的Cisco IOS软件版本接近12.1(6),带有全局可用的ip cef命令和配置在虚拟模板上的no ip route-cache cef命令,当L2F虚拟访问接口成为多链路PPP套件主设备的成员时,将显示以下信息:
%FIB-4-PUNTINTF: CEF将交换到Virtual-Access14的数据包传送到下一个较慢的路径
%FIB-5-NOPUNTINTF: CEF正在恢复到Virtual-Access14的交换数据包
%FIB-4-PUNTINTF: CEF将交换到Virtual-Access37的数据包传送到下一个较慢的路径
%FIB-5-NOPUNTINTF: CEF正在恢复到Virtual-Access37的交换数据包
解决方法是设置这样的值为操作日志级别,使这些消息不会出现。另一种方法是全局禁用IP思科快速转发。然而,禁用Cisco快速转发应该是临时的解决方法,因为它是一些平台上可用的最佳交换方法。在7500和12000系列上,Distributed Cisco Express Forwarding是最佳的交换方法,其次是Cisco Express Forwarding,最后是所有传统功能。
从以下Cisco IOS软件版本(12.1(8)、12.1(08a)E、12.2(1)S、12.1(8)AA、12.0(17)S、12.0(17)ST、12.2(1)T、012.002(2))转发 — 在接口上设置或清除PUNT标志时,不会记录消息。仍然可以发出show cef interface命令或启用debug ip cef events命令,证实Cisco快速转发是否启用。因此,如果将接口设置为将信息包传送到下一条更慢的路径时,则没有向用户发送垃圾邮件的危险。启动或开始Cisco快速转发时,路由器未被信息淹没,拨号平台上的每次呼叫被记录时,系统日志则未被消息填满。
如果可能,您应该在不同子接口上配置支持的Cisco Express Forwarding功能和非Cisco Express Forwarding功能。Cisco快速转发不支持ATM接口上的某些封装。您必须查看您的路由器的Cisco IOS软件配置指南,了解它支持哪些封装,不支持哪些封装。
路由器上的这些消息是硬件CEF恢复功能的一部分。从IOS版本12.0(28)S开始,Cisco 12000系列引擎2(E2)和IP服务引擎(ISE)线卡支持硬件CEF恢复功能。硬件CEF恢复能力是CEF硬件内存和ASIC转发资源的保护机制。硬件CEF恢复能力可防止在资源耗尽或出现错误情况(例如内存不足或IPC故障)时CEF被禁用且数据包转发不受影响。线卡设备驱动程序可在内部处理资源故障,无需涉及上层。
当硬件转发内存(PLU或TLU)在Cisco 12000系列E2或ISE线卡上运行不足或发生故障时,资源监控功能会在系统控制台上打印警报(错误消息或警告,如同您在日志中所看到的那样)并记录警报。当存储器分配故障开始时,在后台激活基于计时器的资源监控进程。该过程检查一分钟间隔内使用的PLU和TLU硬件转发内存的百分比。当超过硬件内存耗尽的百分比时,将生成警报。最后,错误消息所引用的内存是TLU内存。这是固定大小的内存,无法升级。
解决方法是
减少路由数量
禁用PSA ACL(no access-list hardware psa)
以下是错误日志中所示消息的一些示例:
%FIB-4-FIBCBLK: Missing cef table for tableid 63 during route update XDR event %FIB-SP-4-FIBCBLK: Missing cef table for tableid 33 during Table removal event %FIB-4-FIBCBLK: Missing cef table for tableid 45 during routing table event
这些消息的原因是,在相关NDB(网络描述符块)更新由线卡分发和处理之前生成删除VRF请求。这会导致CEF表中出现临时问题,即生成表ID,但删除表本身。此问题通常无需干预即可自行解决,并且不会对流量或路由器的稳定性产生影响。Cisco Bug IDs CSCsg03483和CSCee26209描述了类似的系统消息。
如果您使用TAC服务请求工具(仅限注册客户)创建TAC服务请求,请将以下信息附加到您的案例中,以排除与思科快速转发相关的错误消息故障: |
---|
注意:在收集上述信息之前,除非需要排除与Cisco Express Forwarding相关的错误消息故障,否则请勿手动重新加载或重新启动路由器。这可能会导致确定问题根本原因所需的重要信息丢失。 |
有关思科快速转发故障排除的详细信息,请参阅以下文档:
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
24-Jun-2008 |
初始版本 |