本文說明運行分散式Cisco Express Forwarding(以前稱為dCEF)交換器(Cisco 7500系列路由器和Cisco 12000系列Internet路由器)的平台上常見Cisco Express Forwarding(以前稱為CEF)相關錯誤訊息的原因以及如何進行疑難排解。
注意:根據配置分散式思科快速轉發的平台,路由處理器(RP)和線卡(LC)的引用有所不同。對於7500系列,RP稱為路由交換處理器(RSP),LC稱為通用介面處理器(VIP)。在Gigabit12000列上,RP稱為Gigabit路由處理器(GRP),LC簡稱為LC。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
Cisco Express Forwarding交換是一種專有的可擴展交換形式,旨在解決與需求快取相關的問題。使用Cisco快速轉發交換時,通常儲存在路由快取中的資訊會被分割為多個資料結構。Cisco快速轉發代碼能夠在RP中以及在從處理器(例如Cisco 7500系列中的VIP和Cisco 12000系列中的LC)中維護這些資料結構。為高效的資料包轉發提供最佳化查詢的資料結構包括:
轉發資訊庫(FIB)表- Cisco Express Forwarding使用FIB做出基於IP目標字首的交換決策。FIB在概念上類似於路由表或資訊庫。它維護IP路由表中包含的轉發資訊的映象。當網路中發生路由或拓撲更改時,IP路由表將更新,這些更改將反映在FIB中。FIB根據IP路由表中的資訊維護下一跳地址資訊。
由於FIB條目和路由表條目之間存在一對一的關聯,因此FIB包含所有已知路由,並且無需進行與交換路徑(例如快速交換和最佳交換)相關聯的路由快取維護。
鄰接表 — 如果網路中的節點能夠通過鏈路層的一跳到達彼此,則稱其為鄰接節點。除FIB外,Cisco Express Forwarding還使用鄰接表預置第2層(L2)編址資訊。鄰接表為所有FIB條目維護L2下一跳地址。
可以在以下兩種模式之一啟用Cisco Express Forwarding:
中央Cisco快速轉發模式 — 啟用Cisco快速轉發模式後,Cisco快速轉發FIB和鄰接表位於RP上,RP執行快速轉發。當LC不可用於Cisco Express Forwarding交換時,或當您需要使用與分散式Cisco Express Forwarding交換不相容的功能時,可以使用Cisco Express Forwarding模式。
分散式Cisco Express Forwarding模式 — 啟用分散式Cisco Express Forwarding時,LC(例如VIP LC或Gigabit Switch Router(GSR)LC)會維護FIB和鄰接表的相同副本。LC可自行執行快速轉送,從而減輕主處理器(GRP或RSP)參與交換操作的負擔。這是Catalyst系列上唯一可用的交12000方法。
分散式Cisco Express Forwarding使用進程間通訊(IPC)機制來確保RP和LC上的FIB和鄰接表的同步。
注意:在下面的示例中,某些命令使用輸出修改器(由 | 符號),以簡化顯示,只顯示所需資訊。Cisco IOS®軟體版本12.0和更新版本支援輸出修改程式。如果正在運行較舊版本,請發出main命令(位於 | 符號),並在完整輸出中查詢相應的行。
通過發出show cef linecard命令,您可以輕鬆驗證已在哪個VIP或LC上禁用思科快速轉發:
在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
在Windows系12000上:
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 Express Forwarding,因此disabled狀態會導致整個LC停用。
為了瞭解以下錯誤消息,您需要瞭解XDR消息的內容及其用途:
%FIB-3-NORPXDRQELEMS
%FIB-3-FIBBADXDRLEN
%FIB-4-FIBXDRLEN
以下是XDR體系結構的概述:
如本檔案背景資訊一節所述,IPC訊息會將FIB和鄰接表從RP傳輸到LC。換句話說,IPC機制會同步RP和LC上的兩組表。功能使用的所有資料結構必須通過FIB IPC傳輸到LC,並且統計資訊必須傳送回RP。啟用分散式思科快速轉發後,LC會使用本地儲存的複製資料庫做出轉發決策。
XDR稱為IPC重疊機制。XDR消息僅用於分散式思科快速轉發實施。
在RP和LC之間的Cisco IOS軟體IPC機制上,XDR消息中攜帶支援Cisco IOS軟體功能的統計資訊和資料結構。具體來說,XDR消息包含三組資訊,如下表所示:
消息型別 | 消息描述 | 方向 |
---|---|---|
控制 | RP在RP功能子塊中傳送控制資料,將其傳送到需要瞭解任何更改的LC上的所有映象子塊。 | RP到LC |
統計 | LC從各種功能子塊收集統計資訊,將收集的資訊放在XDR緩衝區中,並向RP傳送XDR消息。然後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 Express Forwarding已在VIP(適用於7500系列)或LC(適用於12000系列)上停用,因為沒有足夠的記憶體從主機板下載Cisco Express Forwarding FIB和鄰接表。由於Cisco12000列僅支援分散式Cisco快速轉發交換,因此禁用分散式Cisco快速轉發也會禁用該卡。
運行完整網際網路邊界網關協定(BGP)路由時,建議在VIP或LC上至少擁有128MB。
由於7500系列上的VIP2-40最多只能有64 MB,因此如果要將分散式思科快速轉發與完整網際網路BGP路由結合使用,建議升級到VIP2-50甚至VIP4-80。32 MB肯定不足以運行分散式思科快速轉發。
建議使用記憶體至少為128MB的VIP2-50或更高版本,具體取決於路由表的大小。
如果您的路由器接受完整的Internet路由表(或接近該表),則在重新載入路由器或BGP鏈路更改狀態之後,BGP在收斂階段暫時需要大量記憶體。在此收斂期間,處理器記憶體池可能達到非常低的值,如show memory summary命令的輸出所示。在短暫的低記憶體狀況中,其他進程如果需要記憶體,可能會受到影響。例如,發出telnet命令以聯絡路由器需要記憶體來維護TCP會話。
處理器記憶體的另一個臨時使用者是多重協定標籤交換(MPLS)網路中的標籤發佈通訊協定(LDP)。
只有當路由器完全耗盡處理器記憶體時,思科快速轉發才會產生FIBDISABLE錯誤。FIBDISABLE沒有低水位標籤。Cisco Express Forwarding禁用自身後,會釋放其所有記憶體。因此,在禁用後捕獲show memory summary命令的輸出,將顯示足夠的可用記憶體,但此輸出具有誤導性。只有在Cisco Express Forwarding禁用自身之前的show memory summary命令捕獲才會顯示有關記憶體不足情況的資料。
此外,FIBDISABLE條件也可能是因為IPC緩衝區用完而導致的副作用。Cisco IOS軟體不會根據需要動態分配更多IPC緩衝區。IPC緩衝區用完不會生成FIB NOMEM錯誤消息,但可能會看到其他IPC錯誤消息,如IPC-3-NOBUFF。IPC緩衝區耗盡不會導致FIBDISABLE錯誤;Cisco Express Forwarding只會重新請求任何失敗消息,並在稍後重試。但是,如果IPC緩衝區耗盡且Cisco Express Forwarding無法獲得IPC緩衝區,則它可能會將消息排隊到LC,直到最終耗盡記憶體。
思科技術協助中心(TAC)經常遇到的一個問題是,如何規劃或確定連線BGP的路由器是否有足夠的記憶體來執行BGP。答案取決於組態。以下是一些注意事項:
您是否計畫使用內部邊界網關協定(iBGP)和外部邊界網關協定(eBGP)對等體?有多少同行?BGP對等體組可能有所幫助。更多對等體意味著更長的收斂時間。
每個對等體在每個方向上交換了多少條路由?確保正確區分路由和路徑。路由計數BGP路由資訊庫中的字首數。路徑計算通告到相鄰對等體的BGP字首數。例如,如果五個BGP對等體傳送完整的路由表,則每個對等體傳送相同的路由。假設對等體的路由具有90%的重疊,則接收路由器的路由表包含大約150,000條路由,其中大多數路由具有五條路徑。
需要考慮的其他因素包括:
Catalyst系列上有一個LC12000擎。
內部閘道通訊協定(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):
在Windows系12000上:
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
為受影響的卡新增更多記憶體應會阻止消息並重新啟用卡上的分散式思科快速轉發。如果記憶體升級後仍有消息,請聯絡您的思科支援代表,並提供您目前收集的資訊,以及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
如果要運行分散式思科快速轉發,您必須將舊的FEIP更換為帶有快速乙太網埠介面卡的VIP卡。
以下訊息(在7500和12000系列上)也表示思科快速轉送功能已停用,這次是因為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 Express Forwarding。在7500系列上,可能還需要發出microcode reload指令來重設VIP卡。這會生成CBUS複合體,這會導致大約兩分鐘的流量中斷(有關詳細資訊,請參閱什麼導致「%RSP-3-RESTART: cbus complex」)。此程式至少應暫時恢復VIP或LC上的分散式Cisco快速轉發。
否則,升級到最新版本的Cisco IOS軟體版本系列將消除導致此類錯誤的所有已修復問題。如果在升級後問題仍然存在,請聯絡您的思科支援代表並提供您目前收集的資訊,以及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.
在Catalyst12000列上,輸出如下:
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 [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(在7500系列上分析)。
檢查Cisco IOS軟體和您當前運行的引導映像是否支援該卡。為此,您可以使用Software Advisor(僅限註冊客戶)。如果軟體正常執行,請嘗試重新設定對應的LC,或發出microcode reload指令(適用於7500系列)或hw-module slot [slot#] reload指令(適用於12000系列)來重設該LC。
如果LC無法恢復,請嘗試將卡交換至另一個插槽,以確保機箱中的這個特定插槽沒有故障。如果仍然無法正常工作,則可能需要更換VIP或LC。
您可能還想檢查LC上是否有足夠的記憶體,以及記憶體是直接從思科購買還是從思科批准的供應商購買。如果使用錯誤型別的記憶體,或者沒有足夠的記憶體上傳微碼,則LC無法啟動。
可能會發生LC記憶體不足並且沒有更多緩衝區以進行IPC通訊的情況。在這種情況下,您應該升級LC的記憶體。
如果其他一切正常,則考慮Cisco IOS軟體中發生錯誤的可能性。升級到最新版本的Cisco IOS軟體版本系列可以消除所有固定IPC問題。
在某些罕見的12000系列相關情況下,若設定存取清單改善,您也可能收到以下錯誤訊息。短期修復是通過發出no access-list hardware psa命令來禁用此新功能。如需詳細資訊,請參閱Cisco 12000 Gigabit交換器路由器的存取清單效能提升。
如果您無法確定消息的原因,或者如果問題仍出現在您的版本系列的CCO上可用的最新Cisco IOS軟體版本中,則您可能遇到了新的Cisco IOS軟體錯誤。請聯絡您的思科支援代表,提供您目前收集的資料,以及來自該路由器的show tech-support和show cef linecard命令的輸出。
在VIP崩潰後,會恢復RSP資料包記憶體(稱為MEMD),並重置RSP和VIP之間的IPC連線。如果RSP在VIP崩潰期間在IPC重新傳輸表中排隊思科快速轉發消息,則這些消息可能會超時,並導致其他LC上的思科快速轉發被禁用。思科錯誤ID CSCdv87489(僅供註冊客戶使用)通過提示Cisco Express Forwarding檢測OIR、LC重新載入或MEMD恢復,並刷新重新傳輸隊列中的消息,解決了RSP上的此問題。思科錯誤ID CSCdu81796(僅供註冊客戶使用)解決了思科10000系列路由器上的此問題。
執行VIP或LC的OIR可能會觸發其他插槽上的FIBDISABLE錯誤問題。當RP上的Cisco Express Forwarding由於其中一個VIP上的OIR事件而無法與其他VIP卡建立IPC連線時,就會出現這種情況。思科錯誤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系列。這些消息是思科快速轉發一致性檢查器在發現思科快速轉發表之間的不一致時生成的警告。
一致性檢查器使用不同的機制來查詢不一致:
LC或VIP向GRP或RSP傳送無法轉發資料包的任何地址。如果GRP或RSP檢測到該條目為相關條目,則檢測到不一致並將在控制檯上列印錯誤消息。
LC或VIP與GRP或RSP每60秒相互傳送固定數量的字首(預設情況下為100)。如果檢測到不一致,將顯示錯誤消息。
如果不糾正不一致的情況,可能會導致目的地無法到達和資料包被丟棄。看到這些訊息時,首先要在錯誤訊息中提到的裝置上發出show ip cef命令,並驗證首碼是否存在。這可以告訴您路由器是否自行糾正了不一致問題。
下面是對每條消息的更詳細說明,以及消除這些消息的一些建議。
%FIB-4-RPPREFIXINCONST2 — 被動一致性檢查器在路由表中發現了一個不在RP上的Cisco快速轉發表中的字首。這可能是暫時的情況。
如果相同的字首給出重複的錯誤,請檢查Cisco快速轉發中的字首和路由表。如果缺少字首,請嘗試禁用或啟用思科快速轉發。
%FIB-4-RPPREFIXINCONST1 — 被動一致性檢查器在LC的轉發表中發現了一個不在RP上的字首。這可能是暫時的情況。
如果相同的字首給出重複的錯誤,請檢查RP和線路卡上的思科快速轉發字首。如有必要,發出clear cef linecard命令可將新的Cisco Express Forwarding表下載到線卡。
%FIB-4-LCPREFIXINCONST1 — 資料包到達LC,但查詢目標IP地址時無法在轉發表中找到此字首。但是,RP上存在字首。這可能是暫時的情況。
如果相同的字首給出重複的錯誤,請檢查RP和LC上的思科快速轉發字首。如有必要,發出clear cef linecard命令可將新的Cisco Express Forwarding表下載到LC。您也可以嘗試發出clear adjacency命令重新載入/32字首。
%FIB-4-LCPREFIXINCONST2 — 被動一致性檢查器發現RP上的LC的轉發表中缺少字首。這可能是暫時的情況。
如果相同的字首給出重複的錯誤,請檢查RP和LC上的思科快速轉發字首。如有必要,發出clear cef linecard命令可將新的Cisco Express Forwarding表下載到LC。您也可以嘗試發出clear adjacency命令重新載入/32字首。
如果消息僅出現一次,且不一致問題立即得到糾正,則可能是臨時事件,不需要執行任何操作。但是,如果您收到許多此類消息,或者路由器本身無法糾正這種情況,則可能是您在Cisco快速轉發代碼中遇到了軟體錯誤。Cisco IOS軟體版本12.0(17)S1和12.0(17)ST1已修正了多個軟體錯誤,因此請確保您至少在執行此版本的Cisco IOS軟體。
如果在升級至版本系列中的最新版本後問題仍然存在,請聯絡您的思科支援代表,並提供show tech、show ip route和show ip cef命令的輸出。
註:您可以通過發出no ip cef table consistency-check全域性配置命令來關閉一致性檢查器。
如需此錯誤訊息的詳細資訊和更多疑難排解提示,請參閱疑難排解具有Cisco Express Forwarding的字首不一致問題。
註:請參閱本文檔的外部資料表示(XDR)概觀一節,以更好地瞭解此錯誤消息的解釋和建議。
當RP準備將消息傳送到系統中的LC時,它將耗盡排隊消息以進行傳輸所需的隊列元素供應。
在Cisco 12000系列上,由於大型路由更新期間(例如啟動時)記憶體不足,分散式思科快速轉發可能被禁用。例如,在路由擺動和重新啟動期間,RP可能會收到malloc故障,這些故障會禁用分散式Cisco快速轉發交換。
例如,如果您在RP上使用260 k開放最短路徑優先(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在Cisco Express Forwarding IPC隊列上使用空閒記憶體隊列XDR消息以相當低的速率向下轉發到LC。Cisco Express Forwarding IPC消息速率目前限製為最多每四分之一秒25條IPC消息(來自任何隊列)。結果是RP端上的隊列變得非常大,沒有空閒的RP記憶體,因此會發生mallocfail並禁用Cisco Express Forwarding。
如果是這種情況,您可以減小BGP中的最大路徑,以減少Cisco Express Forwarding必須傳播到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 memory <0-128000 Kbytes>介面組態指令的引數來取得理想的結果。預設行為是具有25個緩衝區。但是此值取決於交換平台。此LC記憶體量限製為總可用記憶體的50%。以下命令:
允許您為用於更新消息的Cisco Express Forwarding路由的隊列分配更大的LC記憶體。
通過更快地釋放Cisco Express Forwarding更新,允許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。此長度大於包含資料的緩衝區,因此代碼會丟棄此消息。
在XDR系12000上,交換矩陣的硬體故障可能會損壞某些資料包,導致XDR錯誤消息彈出。發出show controller fia 指令以檢查交換網狀架構,看看其中一個SFC上是否有一些循環冗餘檢查(CRC)。您還應檢查日誌以檢視是否存在其他一些可能提供進一步對此錯誤消息進行故障排除資訊的消息。
如果RP從LC收到亂序的IPC訊息,便會收到此訊息。因此,指定插槽上已禁用Cisco快速轉發交換。
在某些情況下,如果路由數量很大,或者當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 Express Forwarding,如下所示。
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系列上,您可以嘗試停用Cisco Express Forwarding,然後重新啟用。如果問題仍然存在,向VIP發出microcode reload命令應可解決此問題。在SLOT12000列上,向LC發出的hw-module slot <slot #>reload指令可解決此問題。
如果Cisco Express Forwarding無法根據當前配置將部分或全部資料包從該特定介面交換出去,則會收到%FIB-4-PUNTINTF消息。Cisco快速轉發會將交換到此介面的資料包轉發到下一個較慢的交換路徑。如需不同交換路徑的詳細資訊,請參閱如何為您的網路選擇最佳路由器交換路徑。
如果Cisco Express Forwarding已經將交換到此介面的資料包傳送到下一個較慢的交換路徑,並且介面配置已經更改,使得Cisco Express Forwarding現在可以繼續交換到此介面,則您將收到%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(MP)套件組合主機的成員時,將顯示以下訊息:
%FIB-4-PUNTINTF: CEF將交換到Virtual-Access14的傳出資料包傳送到下一個較慢的路徑
%FIB-5-NOPUNTINTF: CEF正在恢復到Virtual-Access的交換資料包14
%FIB-4-PUNTINTF: CEF將交換到Virtual-Access37的傳出資料包傳送到下一個較慢的路徑
%FIB-5-NOPUNTINTF: CEF正在恢復到Virtual-Access的交換資料包37
解決方法是將日誌記錄級別設定為不會顯示這些消息的值。另一種方法是全域性禁用IP Cisco Express Forwarding。但是,禁用Cisco Express Forwarding應該是一種臨時的解決方法,因為它是某些平台上可用的最佳交換方法。在7500和7500系列12000,分散式Cisco Express Forwarding是最佳交換方法,其次是Cisco Express Forwarding,最後是所有舊式交換方法。
從以下Cisco IOS軟體版本forward - 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 Express Forwarding。因此,當介面設定為將封包傳送到下一個較慢的路徑時,不會出現不必要地傳送使用者資料的危險。啟動或啟動Cisco Express Forwarding時,路由器不會收到大量消息,而且系統日誌中不會出現為撥號平台上的每個呼叫記錄的消息。
如果可能,您應在不同的子介面上配置支援Cisco快速轉發和不支援Cisco快速轉發的功能。Cisco Express Forwarding不支援ATM介面上的某些封裝。您必須檢查路由器的Cisco IOS軟體配置指南,瞭解哪些封裝受支援,哪些不支援。
路由器上的這些消息是硬體CEF恢復功能的一部分。從IOS版本12.0(28)S開始,Cisco 12000系列引擎2(E2)和IP服務引擎(ISE)線卡支援硬體CEF恢復功能。硬體CEF恢復能力是CEF硬體記憶體和ASIC轉發資源的保護機制。硬體CEF恢復功能可防止CEF在資源耗盡或出現錯誤情況(如記憶體不足或IPC故障)時被禁用,並且影響資料包轉發。線卡裝置驅動程式可在內部處理資源故障,而不涉及上層。
當硬體轉發記憶體(PLU或TLU)在Cisco 12000系列E2或ISE線卡上運行不足或出現故障時,資源監控功能會在系統控制檯上列印警報(錯誤消息或警告,如日誌中所顯示的)並記錄警報。當儲存器分配失敗開始時,在後台啟用基於定時器的資源監控處理。該過程檢查一分鐘間隔內使用的PLU和TLU硬體轉發記憶體的百分比。當超過硬體記憶體耗盡的百分比時,將生成警報。最後,錯誤消息引用的記憶體是TLU記憶體。這是固定大小的記憶體,無法升級。
因應措施是
減少路由數量
禁用PSA ACL(無訪問清單硬體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,但刪除了表本身。此問題通常自行解決,無需干預,而且不會對流量或路由器的穩定性造成影響。思科錯誤ID CSCsg03483和CSCee26209描述類似的系統消息。
如果您使用TAC服務請求工具(僅供註冊客戶使用)建立TAC服務請求,請將以下資訊附加到您的案例,以排解與Cisco快速轉發相關的錯誤訊息的疑難問題: |
---|
注意:除非需要排除與Cisco Express Forwarding相關的錯誤消息故障,否則不要在收集上述資訊之前手動重新載入或重新啟動路由器。這可能會導致確定問題根本原因所需的重要資訊丟失。 |
有關排除Cisco Express Forwarding故障的詳細資訊,請參閱以下文檔:
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
24-Jun-2008 |
初始版本 |