はじめに
このドキュメントでは、NX-OSバージョン9.3(9)を実行しているCisco Nexus 3064PQスイッチで、TCAMリソースの枯渇を示すsyslogメッセージが表示される仕組みについて説明します。
背景説明
枯渇はLPM_128 TCAM領域で発生し、/64より大きいプレフィクス長のIPv6ルートを格納します。
確認されたSyslogメッセージ
%IPFIB-2-FIB_TCAM_RESOURCE_EXHAUSTION_LPM_128_IPV6:LPM-128テーブルのIPV6ルートでFIB TCAMが枯渇しました
%IPFIB-2-FIB_TCAM_RESOURCE_EXCEP_CLRD: FIB TCAMリソース使用例外がクリアされました
%IPFIB-2-FIB_TCAM_RESOURCE_EXHAUSTION_LPM_128_IPV6:LPM-128テーブルのIPV6ルートでFIB TCAMが枯渇しました
その他の整合性チェック・メッセージ
%UFDM-3-FIB_IPv6_ROUTE_CONSISTENCY_CHECKER_FAIL:スロット1でFIB IPv6ルート整合性チェッカーが失敗した
これらのログは、LPM_128テーブル内のIPv6ルートに対して繰り返し発生するTCAM割り当て障害を確認します。
転送テーブルアーキテクチャ:Cisco Nexus 3000シリーズ
|
テーブルタイプ
|
プレフィックス範囲
|
説明
|
|
LPMテーブル(IPv4)
|
/0 ~ /31
|
/32ホストエントリを除くすべてのIPv4ルートを格納します。
|
|
LPMテーブル(IPv6)
|
/0 ~ /64
|
/64までのプレフィックスのすべてのIPv6ルートを保存します。
|
|
LPM_128表(IPv6)
|
/65 ~ /127
|
/64よりも長いIPv6ルートを保存する
|
|
Host Table
|
IPv4 /32、IPv6 /128
|
ホストルートを保存する
|
システム出力:IPv6ルートの要約
コマンド
show system internal forwarding ipv6 route summary(システム内部転送のipv6ルートの要約を表示)
出力の概要
- 最大LPMテーブルエントリ数:15359
- 合計(<= /64) LPMルート数:266
- LPMルートの合計(> /64):157
この出力に基づくと、157のルートがLPM_128テーブルを利用しており、これはプラットフォームの容量を超えています。
LPM_128テーブル使用率
LPM_128 TCAMリージョンは、/65 ~ /127のIPv6プレフィックスを保存します。
Nexus 3064PQでは、LPM_128のキャパシティは次のとおりです。
- uRPF有効:64エントリ
- uRPFを無効にした場合:128エントリ
現在の設定ではuRPFが無効になっているため、スイッチは最大128個のIPv6 LPM_128エントリを収容できます。
157個のエントリの現在の使用率がこのしきい値を超えると、TCAMが使い果たされます。
検証:uRPFの設定
コマンド
show running-config | i urpf(実行コンフィギュレーションの表示)
出力
システムURPFの無効化
URPF無効
これにより、uRPFが無効になり、拡張LPM_128容量が許可されることが確認されます。
リソース使用率の概要
- 使用済みIPv6 LPM_128エントリ:157
- 最大IPv6 LPM_128キャパシティ:128
エントリの数が使用可能なTCAMの最大容量を超えると、システムによって次のsyslogアラートがトリガーされます。
%IPFIB-2-FIB_TCAM_RESOURCE_EXHAUSTION_LPM_128_IPV6:LPM-128テーブルのIPV6ルートでFIB TCAMが枯渇しました
根本原因の分析
これは、Cisco Nexus 3064PQプラットフォームでのTCAMリソース枯渇の確認された事例であり、次の原因が考えられます。
- /64より大きいプレフィクス長を持つ過剰なIPv6ルート(使用可能なLPM_128 TCAM領域の容量を超える)
- Nexus 3064PQアーキテクチャに固有のハードウェアの制限
プラットフォーム固有のキャパシティの詳細
|
コンフィギュレーション
|
LPM_128表サイズ
|
LPMテーブルのサイズ(/0-/64)
|
|
uRPF有効
|
64 entries
|
8192 entries
|
|
uRPF無効
|
128 entries
|
16384 entries
|
注:これらの制限はNexus 3064PQに固有のもので、他のほとんどのNexus 3000シリーズスイッチよりも低くなります。LPM_128テーブルでは通常、128(uRPF有効)と256(uRPF無効)のエントリがサポートされます。
推奨される修復
- ルート集約
- LPM_128 TCAMリージョンのエントリを減らすために、/65と/127の間のプレフィクスにIPv6ルート集約を実装します。
- ルーティングポリシーの確認
- アップストリームピアからのルートアドバタイズメントを最適化して、ロングプレフィクスIPv6ルートを制限する
- 不要なスタティックルートや再配布されたルートがテーブルの枯渇の一因になっていないことを確認します。
- ハードウェアアップグレード
- 集約が不可能な場合は、より容量の大きいNexusプラットフォーム(Nexus 9000シリーズなど)への移行を検討してください。
要約
|
項目
|
監視された値
|
プラットフォーム制限
|
ステータス
|
|
IPv6 LPM_128ルート
|
157
|
128(uRPF無効)
|
超過
|
|
syslog イベント
|
%IPFIB-2-FIB_TCAM_RESOURCE_EXHAUSTION_LPM_128_IPV6
|
N/A
|
トリガー
|
|
根本原因
|
LPM_128でのTCAMリソースの枯渇
|
ハードウェアの制限
|
確認済
|
結論
Nexus 3064PQスイッチで、IPv6ルートがLPM_128 TCAMの容量を超えたためにTCAMの枯渇が発生しました。
これ以上の発生を防ぐには、ルート集約と最適化が必要です。