はじめに
このドキュメントでは、Nexus 9000 Ternary Content-Addressable Memory(TCAM)を分割する方法について説明します。
背景説明
このドキュメントは、多数のTCAMの組み合わせの完全なリストを意図したものではありません。このドキュメントの目的は、ユーザがTCAM割り当ての仕組みを理解し、各自のニーズを満たす有効な設定を決定できるようにすることです。 ここでは、現在の最も一般的な概念、設定、およびエラーメッセージについて説明します。
Nexus 9000シリーズスイッチにデフォルト以外の機能を使用するには、その機能のTCAMスペースを手動で分割する必要があります。デフォルトでは、すべてのTCAMスペースが割り当てられます。
用語
- 機能幅:シングル幅およびダブル幅の機能があります。 シングル幅の機能には、少なくとも1つのスライスが必要です。 ダブル幅の機能は少なくとも 2 スライス必要です。
シングル幅およびダブル幅の両方の機能について、合計サイズが256を超える場合は、512の倍数である必要があります。スライスは1つの領域にのみ割り当てることができます。
たとえば、サイズが256の2つの機能をそれぞれ設定するために512サイズのスライスを使用したり、単一の倍幅機能を設定するために512サイズのスライスを使用したりすることはできません。
- スライス:メモリ割り当ての単位。スライスのサイズは 256 または 512 にすることができ、バイト単位で表します。
- TCAM:Ternary Content Addressable Memory(三値連想メモリ)。 これは、アクセス リスト(ACL)が保存されているハードウェアのスペースです。 これは、複雑な表形式データを保存し、非常に速い並列検索をサポートする、専門メモリです。
ACL TCAM リージョン
ハードウェアの ACL TCAM リージョンのサイズを変更できます。出力 TCAM サイズは 1000 で、4 つの 256 エントリに分割されます。入力 TCAM サイズは 4000 で、8 つの 256 スライスと 4 つの 512 スライスに分割されます。
IPv4 TCAM リージョンはシングル幅です。IPv6、Quality of Service(QoS)、MAC、コントロールプレーンポリシング(CoPP)、およびシステムTCAMの各リージョンはダブルワイドであり、物理TCAMエントリの2倍を消費します。
たとえば、256 エントリの論理リージョン サイズは、実際には 512 の物理 TCAM エントリを消費します。
IPv6、ポート ACL(PACL)、VLAN ACL(VACL)、およびルータ ACL(RACL)を作成でき、QoS の IPv6 と MAC アドレスを照合できます。ただし、Cisco NX-OS ではすべてを同時にサポートすることはできません。
IPv6およびMAC TCAMリージョンを有効にするには、現在のTCAMリージョンのサイズを削除または縮小する必要があります。すべての TCAM リージョンの設定コマンドでは、新たな変更を TCAM に組み込むことができるかを評価します。
できない場合は、エラーを報告し、コマンドは拒否されます。新しい要件のためのスペースを確保するには、現在のTCAMリージョンのサイズを削除または縮小する必要があります。
ACL TCAM リージョン サイズには、次のような注意事項と制約事項があります。
- Cisco Nexus 9500 シリーズ スイッチでは、Cisco NX-OS リリース 6.1(2)I1(1) において、デフォルトの入力 TCAM リージョン設定に、1 つのフリーの 256 エントリのスライスがあります。
このスライスは、Cisco NX-OSリリース6.1(2)I2(1)のスイッチポートアナライザ(SPAN)領域に割り当てられます。同様に、512エントリの仮想ポートチャネル(vPC)コンバージェンスリージョンの領域を確保するため、Cisco NX-OSリリース6.1(2)I2(1)ではRACLリージョンが2,000から1,500に縮小されています。
- Cisco Nexus 9300 シリーズ スイッチでは、アプリケーション セントリック インフラストラクチャ(ACI)リーフ ライン カードを使用して、40 G ポートに適用された QoS 分類ポリシーを適用します。256エントリ単位で分割できる768個のTCAMエントリがあります。これらのリージョン名には、プレフィックスとしてns – が付きます。
- Cisco Nexus 9300 シリーズ スイッチの ACI リーフ ライン カードでは、IPv6 TCAM リージョンのみがダブル幅のエントリを消費します。TCAM リージョンの他は、シングル幅のエントリを消費します。
- VACL リージョンを設定する場合は、入力および出力方向の両方で同じサイズが設定されます。リージョン サイズがいずれかの方向に対応できない場合、設定は拒否されます。
Nexus 9300 および 9500 シリーズ スイッチには、両方ともにサイズ 512 バイトの 4 つのスライス、およびサイズ 256 バイトの 8 つのスライスがあります。 デフォルトの割り当ては Nexus 9300 シリーズと 9500 シリーズで異なりますが、すべてのスライスとすべてのスペースがデフォルトで使用されます。
注:Nexus 9332PQでは、Nexus 9500と同じデフォルトの割り当てを使用します。
Nexus 9500 シリーズ TCAM の割り当て
Nexus 9500 シリーズ スイッチでは、デフォルトで次の TCAM の割り当てが行われます。
Nexus9500# show system internal access-list globals
slot 1
=======
Atomic Update : ENABLED
Default ACL : DENY
Bank Chaining : DISABLED
Fabric path DNL : DISABLED
NS Buffer Profile: Mesh optimized
Min Buffer Profile: all
EOQ Class Stats: qos-group-0
NS MCQ3 Alias: qos-group-3
Ing PG Share: ENABLED
LOU Threshold Value : 5
----------------------------------------------------------------------
INSTANCE 0 TCAM Region Information:
----------------------------------------------------------------------
Ingress:
----------
Region GID Base Size Width
----------------------------------------------------------------------
IPV4 PACL [ifacl] 3 0 0 1
IPV6 PACL [ipv6-ifacl] 4 0 0 2
MAC PACL [mac-ifacl] 5 0 0 2
IPV4 Port QoS [qos] 6 0 0 2
IPV6 Port QoS [ipv6-qos] 7 0 0 2
MAC Port QoS [mac-qos] 8 0 0 2
FEX IPV4 PACL [fex-ifacl] 9 0 0 1
FEX IPV6 PACL [fex-ipv6-ifacl] 10 0 0 2
FEX MAC PACL [fex-mac-ifacl] 11 0 0 2
FEX IPV4 Port QoS [fex-qos] 12 0 0 2
FEX IPV6 Port QoS [fex-ipv6-qos] 13 0 0 2
FEX MAC Port QoS [fex-mac-qos] 14 0 0 2
IPV4 VACL [vacl] 15 0 0 1
IPV6 VACL [ipv6-vacl] 16 0 0 2
MAC VACL [mac-vacl] 17 0 0 2
IPV4 VLAN QoS [vqos] 18 0 0 2
IPV6 VLAN QoS [ipv6-vqos] 19 0 0 2
MAC VLAN QoS [mac-vqos] 20 0 0 2
IPV4 RACL [racl] 21 0 1536 1
IPV6 RACL [ipv6-racl] 22 0 0 2
IPV4 Port QoS Lite [qos-lite] 61 0 0 1
FEX IPV4 Port QoS Lite [fex-qos-lite] 62 0 0 1
IPV4 VLAN QoS Lite [vqos-lite] 63 0 0 1
IPV4 L3 QoS Lite [l3qos-lite] 64 0 0 1
IPV4 L3 QoS [l3qos] 37 3072 256 2
IPV6 L3 QoS [ipv6-l3qos] 38 0 0 2
MAC L3 QoS [mac-l3qos] 39 0 0 2
Ingress System 1 2048 256 2
SPAN [span] 2 4096 256 1
Ingress COPP [copp] 40 2560 256 2
Ingress Flow Counters [flow] 43 0 0 1
Ingress SVI Counters [svi] 45 0 0 1
Redirect [redirect] 46 3840 256 1
NS IPV4 Port QoS [ns-qos] 47 0 0 1
NS IPV6 Port QoS [ns-ipv6-qos] 48 0 0 2
NS MAC Port QoS [ns-mac-qos] 49 0 0 1
NS IPV4 VLAN QoS [ns-vqos] 50 0 0 1
NS IPV6 VLAN QoS [ns-ipv6-vqos] 51 0 0 2
NS MAC VLAN QoS [ns-mac-vqos] 52 0 0 1
NS IPV4 L3 QoS [ns-l3qos] 53 0 0 1
NS IPV6 L3 QoS [ns-ipv6-l3qos] 54 0 0 2
NS MAC L3 QoS [ns-mac-l3qos] 55 0 0 1
VPC Convergence [vpc-convergence] 57 1536 512 1
----------------------------------------------------------------------
* - allocated 512 entry slice due to unavailability of 256 entry slices
----------------------------------------------------------------------
Total: 4096
----------------------------------------------------------------------
Egress
----------
Region GID Base Size Width
----------------------------------------------------------------------
Egress IPV4 VACL [vacl] 31 0 0 1
Egress IPV6 VACL [ipv6-vacl] 32 0 0 2
Egress MAC VACL [mac-vacl] 33 0 0 2
Egress IPV4 RACL [e-racl] 34 4352 768 1
Egress IPV6 RACL [e-ipv6-racl] 35 0 0 2
Egress System 24 3584 256 1
Egress Flow Counters [e-flow] 44 0 0 1
----------------------------------------------------------------------
Total: 1024
----------------------------------------------------------------------
スライスの割り当ては、入力で次のように行われます。
スライス1(512):RACL
スライス2(512):RACL
スライス3(512):RACL
スライス4(512):VPCコンバージェンス
スライス5(256):レイヤ3 QOS
スライス6(256):レイヤ3 QOS
スライス7(256):SPAN
スライス8(256):リダイレクト
スライス9(256):入力CoPP
スライス10(256):入力CoPP
スライス11(256):入力システム
スライス12(256):入力システム
入力使用率の概念:
Nexus 9300 シリーズ TCAM の割り当て
Nexus 9300 シリーズ スイッチでは、デフォルトで次の TCAM の割り当てが行われます。
Nexus9300# show system internal access-list globals
slot 1
=======
Atomic Update : ENABLED
Default ACL : DENY
Bank Chaining : DISABLED
Fabric path DNL : DISABLED
NS Buffer Profile: Burst optimized
Min Buffer Profile: all
EOQ Class Stats: qos-group-0
NS MCQ3 Alias: qos-group-3
Ing PG Share: ENABLED
LOU Threshold Value : 5
----------------------------------------------------------------
INSTANCE 0 TCAM Region Information:
----------------------------------------------------------------
Ingress:
----------
Region GID Base Size Width
----------------------------------------------------------------
IPV4 PACL [ifacl]( 1) 3 0 512 1
IPV6 PACL [ipv6-ifacl]( 2) 4 0 0 2
MAC PACL [mac-ifacl]( 3) 5 0 0 2
IPV4 Port QoS [qos]( 4) 6 3072 256 2
IPV6 Port QoS [ipv6-qos]( 5) 7 0 0 2
MAC Port QoS [mac-qos]( 6) 8 0 0 2
FEX IPV4 PACL [fex-ifacl]( 7) 9 0 0 1
FEX IPV6 PACL [fex-ipv6-ifacl]( 8) 10 0 0 2
FEX MAC PACL [fex-mac-ifacl]( 9) 11 0 0 2
FEX IPV4 Port QoS [fex-qos]( 10) 12 0 0 2
FEX IPV6 Port QoS [fex-ipv6-qos]( 11) 13 0 0 2
FEX MAC Port QoS [fex-mac-qos]( 12) 14 0 0 2
IPV4 VACL [vacl]( 13) 15 512 512 1
IPV6 VACL [ipv6-vacl]( 14) 16 0 0 2
MAC VACL [mac-vacl]( 15) 17 0 0 2
IPV4 VLAN QoS [vqos]( 16) 18 0 0 2
IPV6 VLAN QoS [ipv6-vqos]( 17) 19 0 0 2
MAC VLAN QoS [mac-vqos]( 18) 20 0 0 2
IPV4 RACL [racl]( 19) 21 1024 512 1
IPV6 RACL [ipv6-racl]( 20) 22 0 0 2
IPV4 Port QoS Lite [qos-lite]( 21) 63 0 0 1
FEX IPV4 Port QoS Lite [fex-qos-lite]( 22) 64 0 0 1
IPV4 VLAN QoS Lite [vqos-lite]( 23) 65 0 0 1
IPV4 L3 QoS Lite [l3qos-lite]( 24) 66 0 0 1
IPV4 L3 QoS [l3qos]( 34) 37 0 0 2
IPV6 L3 QoS [ipv6-l3qos]( 35) 38 0 0 2
MAC L3 QoS [mac-l3qos]( 36) 39 0 0 2
Ingress System( 37) 1 2048 256 2
SPAN [span]( 39) 2 3584 256 1
Ingress COPP [copp]( 40) 40 2560 256 2
Ingress Flow Counters [flow]( 41) 43 0 0 1
Ingress SVI Counters [svi]( 43) 45 0 0 1
Redirect [redirect]( 44) 46 1536 512 1
NS IPV4 Port QoS [ns-qos]( 45) 47 0 0 1
NS IPV6 Port QoS [ns-ipv6-qos]( 46) 48 0 0 2
NS MAC Port QoS [ns-mac-qos]( 47) 49 0 0 1
NS IPV4 VLAN QoS [ns-vqos]( 48) 50 0 0 1
NS IPV6 VLAN QoS [ns-ipv6-vqos]( 49) 51 0 0 2
NS MAC VLAN QoS [ns-mac-vqos]( 50) 52 0 0 1
NS IPV4 L3 QoS [ns-l3qos]( 51) 53 0 0 1
NS IPV6 L3 QoS [ns-ipv6-l3qos]( 52) 54 0 0 2
NS MAC L3 QoS [ns-mac-l3qos]( 53) 55 0 0 1
VPC Convergence [vpc-convergence]( 54) 57 4096 256 1
IPSG SMAC-IP bind table [ipsg]( 55) 59 0 0 1
Ingress ARP-Ether ACL [arp-ether]( 56) 62 0 0 1
----------------------------------------------------------------------
* - allocated 512 entry slice due to unavailability of 256 entry slices
----------------------------------------------------------------
Total: 4096
----------------------------------------------------------------
Egress
----------
Region GID Base Size Width
----------------------------------------------------------------
Egress IPV4 QoS [e-qos]( 25) 28 0 0 2
Egress IPV6 QoS [e-ipv6-qos]( 26) 29 0 0 2
Egress MAC QoS [e-mac-qos]( 27) 30 0 0 2
Egress IPV4 VACL [vacl]( 28) 31 4352 512 1
Egress IPV6 VACL [ipv6-vacl]( 29) 32 0 0 2
Egress MAC VACL [mac-vacl]( 30) 33 0 0 2
Egress IPV4 RACL [e-racl]( 31) 34 4864 256 1
Egress IPV6 RACL [e-ipv6-racl]( 32) 35 0 0 2
Egress IPV4 QoS Lite [e-qos-lite]( 33) 36 0 0 1
Egress System( 38) 24 3840 256 1
Egress Flow Counters [e-flow]( 42) 44 0 0 1
----------------------------------------------------------------------
Total: 1024
----------------------------------------------------------------
スライス1(512):IPv4 PACL
スライス2(512):VACL
スライス3(512):RACL
スライス4(512):リダイレクト
スライス5(256):ポートQOS
スライス6(256):ポートQOS
スライス7(256):SPAN
スライス8(256):VPCコンバージェンス
スライス9(256):入力CoPP
スライス10(256):入力CoPP
スライス11(256):入力システム
スライス12(256):入力システム
入力使用率の概念:
コンフィギュレーション
TCAMリージョンを再設定するには、設定端末でhardware access-list tcam region
コマンドを使用します。リージョンを目的のサイズに変更した後は、デバイスをリロードする必要があります。
シナリオ例
Nexus 9300 を使用しており、自分のニーズに合わせて TCAM スペースを割り当てます。512バイトのTCAMを解放する必要があります。これにより、IPv4 PACL にさらにスペースを追加することができます。
ただし、512 VACLまたは512 RACLは必要ないと判断しましたが、その両方が必要なため、VACLおよびRACLから256バイト割り当てを解除することにしました。これは次のコマンドに示すように、512 スペースを解放します。
Nexus9300(config)# hardware access-list tcam region vacl 256
Warning: Please save config and reload the system for the configuration to take effect
Nexus9300(config)# hardware access-list tcam region racl 256
Warning: Please save config and reload the system for the configuration to take effect
512 バイトが解放され、追加の 512 を IPv4 PACL に追加することを試みますが、次のような出力が表示されます。
Nexus9300(config)# hardware access-list tcam region ifacl 1024
ERROR: Aggregate TCAM region configuration exceeded the available Ingress TCAM slices.
Please re-configure.
512 バイトが解放されましたが、256 を取り出した VACL および RACL のスペースは、いずれもサイズ 512 ブロックでした。 このため、前述のコマンドでスペースは割り当て解除されましたが、スライスは割り当て解除されませんでした。 IPv4 PACLのサイズを1024に増やすには、単一の機能から512バイトを取り出して、スライスと領域の両方を解放する必要があります。
Nexus9300(config)# hardware access-list tcam region vacl 512
Warning: Please save config and reload the system for the configuration to take effect
Nexus9300(config)# hardware access-list tcam region racl 0
Warning: Please save config and reload the system for the configuration to take effect
Nexus9300(config)# hardware access-list tcam region ifacl 1024
Warning: Please save config and reload the system for the configuration to take effect
確認コマンド
show hardware access-list tcam region
– 現在のソフトウェア設定を確認します。
show system internal access-list globals
– 現在のハードウェア構成を確認します。
show system internal access-list input entries detail -
インスタンスごとに設定された特定のACLを表示します。
show hardware access-list resource utilization
:設定された各TCAMリージョンの現在の使用率を表示します。
show hardware access-list resource entries
– インスタンスごとに設定されたACLエントリの数を表示します。
エラーと解決策
TCAMの設定中に発生する一般的なエラーを次に示します。
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM slices. Please re-configure.
4000 の制限に従って有効な量の TCAM スペースを設定しようとしたが、その割り当てによって使用可能な量以上のスライスが消費される場合、このエラーが発生します。
このエラーの唯一の解決策は、スライスを解放するために全体的なTCAM設計を改訂することです。
新しいダブル幅の機能を設定しようとすると、少なくとも 256 または 512 の 2 つのスライスを必要とするために、このエラーがよく見られます。
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM space. Please re-configure.
スライスエラーと同様に、解決策は、割り当てられた領域が合計制限を超えないように再設定することです。このエラーメッセージは、すべての TCAM スライスがすでに割り当てられているところで、さらにスペースを割り当てようとした場合にのみ、表示されます。
ERROR: TCAM regions with size more than 256, ... have size
in multiple of 512 entries
ハードウェアの制限により、256より大きいTCAMサイズは、奇数個の256ブロックを512ブロックと組み合わせる方法では組み合わせることができません。したがって、512 を超える TCAM リージョンを設定する場合、唯一の有効なサイズは、512 の倍数です。
設計に関する注意事項と制約事項
TCAM スペースには限りがあります。ユーザに最適な選択は、特定の使用例に完全に依存します。デフォルトでは、すべてのTCAMスペースがすでに割り当てられているため、他の場所に割り当てる場合にTCAMスペースをどこに割り当てるかを決定する必要があります。
- ユーザは入力システムと CoPP TCAM のデフォルト量を減らすことはできません。これらはすでに最小値で、削減できません。
- すべての QoS 機能はダブル幅です。
- SVI ポリシー マップはサポートされていません。
関連情報