概要
このドキュメントでは、Cisco Bug ID CSCwb69873の影響を受けるNCS4Kプラットフォームで観察される症状について説明します
背景説明
2つのNCS4Kノード(SW 6.5.26)間で双方向フォワーディング検出(BFD)セッションがフラッピングし、最終的にダンプニング状態になるケースが複数あります。
同時に、両方のノードはパケット損失なしで互いにpingできます。
問題
問題のあるノードで、アクティブおよびスタンバイLC VMのBFDセッションがINIT状態であることがわかります。
Hu0/4/0/11/2.4001 10.55.6.180 0s 6s(2s*3) INIT
Yes 0/LC0
Hu0/4/0/11/2.4001 10.55.6.180 0s 6s(2s*3) INIT
Yes 0/LC1
show loggingの出力には、次のトレースバックが表示されます。
LC/0/LC1:2022 Nov 24 11:29:37.098 UTC: fib_mgr[198]: %ROUTING-FIB-3-PLATF_UPD_FAIL : FIB platform update failed: Obj=DATA_TYPE_NHINFO[ptr=0x87c654c0,refc=0,flags=0x10000008] Action=CREATE Proto=ipv4. Cerr='Subsystem(8165)' detected the 'resource not available' condition 'Code(0)' : fib_mgr : (PID=5045) : -Traceback= 7f648e9733c7 7f648f8d546e 7f648f74cb3f 7f648f75449c 7f648f75a3c4 7f648f7cee95 7f648f8c7e58 7f648f7c623f 7f648f7ca7f4 7f648f8c841f 7f648f8fc3f7 7f648f8c7e58 7f648f7c623f 7f648f7ca7f4 7f648f8c8465 7f648f7d3028
LC/0/LC1:2022 Nov 24 11:29:52.163 UTC: fib_mgr[198]: %ROUTING-FIB-3-PLATF_UPD_FAIL : FIB platform update failed: Obj=DATA_TYPE_NHINFO[ptr=0x87c652d0,refc=0,flags=0x10000008] Action=CREATE Proto=ipv4. Cerr='Subsystem(8165)' detected the 'resource not available' condition 'Code(0)' : fib_mgr : (PID=5045) : -Traceback= 7f648e9733c7 7f648f8d546e 7f648f74cb3f 7f648f75449c 7f648f75a3c4 7f648f7cee95 7f648f8c7e58 7f648f7c623f 7f648f7ca7f4 7f648f8c841f 7f648f8fc3f7 7f648f8c7e58 7f648f7c623f 7f648f7ca7f4 7f648f8c8465 7f648f7d3028
このコマンドでは、show cef platform trace all location <active LC VM>の出力に次のように表示されます。
Nov 23 21:03:03.659 dnx_fib_retry_event 0/LC1 t5851 TP764,ppinfo_send_encap_gcc,ppindex_alloc_failed,trans_id,716207282,ifh,0x800087c,rc,-806191104:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
最後に、コマンドshow ppinfo producer trac all location <active LCVM> inc resourceの出力に次のエラーが表示されます。
Nov 28 07:47:20.819 ppinfo/prod/fib/ipv4/err 0/LC1 517384# t5851 ppindex alloc Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.819 ppinfo/prod/fib/ipv4/err 0/LC1 452746# t5851 indx alloc failed: Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.819 ppinfo/prod/fib/ipv4/err 0/LC1 508753# t5851 ppindex alloc Cerr: 'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.827 ppinfo/prod/fib/ipv4/err 0/LC1 504601# t5851 ppindex alloc Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.827 ppinfo/prod/fib/ipv4/err 0/LC1 619759# t5851 indx alloc failed: Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.827 ppinfo/prod/fib/ipv4/err 0/LC1 1067176# t5851 ppindex alloc Cerr: 'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.835 ppinfo/prod/fib/mpls/err 0/LC1 517116# t5851 ppindex alloc Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.835 ppinfo/prod/fib/mpls/err 0/LC1 2096661# t5851 indx alloc failed: Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.835 ppinfo/prod/fib/mpls/err 0/LC1 617742# t5851 ppindex alloc Cerr: 'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.843 ppinfo/prod/fib/mpls/err 0/LC1 1298595# t5851 ppindex alloc Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.843 ppinfo/prod/fib/mpls/err 0/LC1 190161# t5851 indx alloc failed: Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:20.843 ppinfo/prod/fib/mpls/err 0/LC1 1299219# t5851 ppindex alloc Cerr: 'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:35.845 ppinfo/prod/fib/ipv4/err 0/LC1 621013# t5851 ppindex alloc Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
Nov 28 07:47:35.845 ppinfo/prod/fib/ipv4/err 0/LC1 512881# t5851 indx alloc failed: Cerr:'Subsystem(8165)' detected the 'resource not available' condition 'Code(0)'
解決方法
これらの症状はすべて、次のDDTSと一致します。
Cisco Bug ID CSCwb69873ppinfo allocation failed:
サマリー不具合
6.5.33で修正されています。
症状:
リンクBFDセッションがフラッピングしているか、INIT状態でスタックしている。
条件:
ネクストホップアドレスのフラッピングがこの問題の原因です。
回避策:
RPカードのスイッチオーバー(基本的にRPとLC VMのスイッチオーバー)。これにより、PPIndex割り当ての失敗がクリアされます。LINK BFDの問題を解決するには、次のいずれかを実行し、影響を受けるサブインターフェイス(OR)を削除して再作成します。影響を受けるサブインターフェイスのshut/no shut。
問題の詳細説明
ppindexエントリがリークし、すべての空きエントリが消費されるため、リソース枯渇の問題が発生します。NHが削除されるとPPindexが解放され、NHが作成されるとppindexが割り当てられます。NH deleteがppindexを解放しないバグがあり、リークの原因になります。すべてのppindexが使い果たされると、それらを解放するための呼び出しは行われず、システムが永続的に失敗し、新しいNHが作成されます。encap_idのチェックは割り当てられているかどうかに関係なく行われますが、このコードはencap_idを取得せず、チェックに失敗し、ppindex_freeを呼び出さずに早期に取り出します。