Cisco Nexus 6000 シリーズ NX-OS セキュリティ コンフィギュレーション ガイド リリース 6.x
TCAM カービングの設定
TCAM カービングの設定
発行日;2014/01/07   |   ドキュメントご利用ガイド   |   ダウンロード ;   この章 pdf   ,   ドキュメント全体 pdf    |   フィードバック

TCAM カービングの設定

この章の内容は、次のとおりです。

TCAM カービングに関する情報

3 値連想メモリ(TCAM)カービング機能では、TCAM のデフォルト リージョン サイズの変更を可能にするテンプレート ベースの手段を使用します。 スイッチが起動すると、他のどんなテンプレートも設定していなければ、このデフォルト テンプレートが表示されます。 次の表に、テンプレート内のさまざまなリージョンの種類とサイズを示します。

表 1 事前定義済み組み込みデフォルト テンプレート
領域 サイズ(エントリ数) サイズ(ブロック数) 機能

VACL

1024

16

VLAN アクセス コントロール リスト(VACL)の入力、VACL の出力

ifacl

1152

18

インターフェイス ACL の入力、レイヤ 3 物理ポート/サブインターフェイス RACL の入力、すべてのポートの RACL の出力、デフォルトのコントロール プレーン ポリシング(CoPP)

QoS

448

7

vlan-qos の入力、system-qos の入力、interface-qos の入力

Rbacl

1152

18

レイヤ 3 スイッチ仮想インターフェイスの入力、レイヤ 3 ポート チャネル/ポート チャネル サブインターフェイス ルータ アクセス コントロール リスト(RACL)の入力、Cisco Trusted Security(CTS)の出力

Span

64

1

Span

Sup

256

4

Sup-rdt

Total

4096

64

 

User-Defined テンプレートに関する情報

デフォルト テンプレートに加えて最大 16 個のテンプレートを作成できます(つまり、同時に 17 個のテンプレートを保持できるということです)。 希望の 3 値連想メモリ(TCAM)リージョンにどんなサイズでも設定できます。

各テンプレートで、次の操作を実行できます。

  • 作成
  • 修正
  • 削除
  • コミット

各テンプレートは、次のうちのいずれかのステータスになっています。

  • 保存済み
  • コミット済み

作成

テンプレートを作成する場合、TCAM リージョンのサイズはデフォルト値に初期化されます。 テンプレートを作成する場合、テンプレートはデフォルトでは保存済みステートになっています。 テンプレートを作成すると、これを変更してどの TCAM リージョンのサイズも変更できます。 各 TCAM ブロックのサイズは 64 エントリのため、リージョンのサイズは 64 の倍数で設定する必要があります。 入力した値が 64 の倍数でなかった場合、値を再入力するように求めるエラー メッセージが表示されます。

修正

すべての保存済みテンプレートを編集してどの TCAM リージョンのサイズでも変更できますが、どの TCAM のリージョンのサイズも 0 に設定することはできません。 編集中、入力したサイズが 64 の境界線にあるかがソフトウェアによってチェックされます。 テンプレートを変更する場合、すべての TCAM リージョンのサイズの合計が 4096 エントリより小さくなる必要があります。 変更中は、4096 エントリ未満なのかはソフトウェアではチェックされません。

テンプレートは、保存済みステートのときにのみ変更できます。 テンプレートをコミットした後は編集できません。

コミット済みのユーザ定義テンプレートは、別のユーザ定義テンプレートまたはデフォルト テンプレートを提供することによって作成済みステートに変更できます。

別のユーザ定義テンプレートを提供するには、次のコマンドを入力します。

hardware profile tcam resource service-template user-defined-template

デフォルト テンプレートを提供するには、次のコマンドを入力します。

no hardware profile tcam resource service-template currently-committed- template

削除

どの保存済みテンプレートも削除できます。 テンプレートを削除した後では、そのテンプレートに関するすべての情報が失われます。 コミットしたテンプレートは削除できません。

コミット済みのユーザ定義テンプレートは、別のユーザ定義テンプレートまたはデフォルト テンプレートを提供することによって作成済みステートに変更できます。

別のユーザ定義テンプレートを提供するには、次のコマンドを入力します。

hardware profile tcam resource service-template user-defined-template

デフォルト テンプレートを提供するには、次のコマンドを入力します。

no hardware profile tcam resource service-template currently-committed- template

コミット

自分のユーザ定義テンプレートまたはソフトウェアで提供されているデフォルト テンプレートはどれでもコミットできます。 テンプレートをコミットするには、commit コマンドを入力し、スイッチの再起動を行います。 commit コマンドを入力すると、ソフトェアによってテンプレートが検証されます。 検証が成功すると、スイッチを再起動するか確認するメッセージが表示されます。 テンプレート(ユーザ定義またはデフォルト)は、再起動後に適用されます。 再起動を選択しなかった場合、TCAM リージョンへの変更は行われず、コミットされるテンプレートはありません。

テンプレートをコミットした後、システムは自動では再起動せず commit コマンドの出力にメッセージが表示され、コミットしたテンプレートを有効にするためにスイッチを再起動するか尋ねられます。 再起動を承諾すると、以下が発生します。

  • コミットしたテンプレートがスタートアップ コンフィギュレーションに保存されます。
  • スイッチが再起します。
  • コミットっしたテンプレートがソフトウェアによって使用されます。
  • テンプレートが実行中ステートに移行します。

スイッチを再起動後、コミットされたテンプレートが Cisco Nexus サーバ上のすべての ASIC に適用されます。 Cisco Nexus デバイス上の別の ASIC に別のテンプレートをコミットできません。 各テンプレートの各リージョンのサイズを指定したすべての保存済みテンプレートおよびコミット済みテンプレートは実行コンフィギュレーションに表示されます。

テンプレートがコミットされたとき、以下がチェックされます。

  1. TCAM 内のすべてのリージョンの合計サイズは 4096 エントリです。
  2. 各リージョンのサイズは TCAM 内に収まります。 どの時点でも、TCAM リージョンに対して常に実行サイズがあります。 実行サイズ(ハードウェア TCAM 内の現在のサイズ)は、コミットされ実行テンプレートとして現在使用されているデフォルトまたはユーザ定義テンプレートのどちらかによって定義されます。 現在コミットされているテンプレート内のリージョンのサイズを現在の実行サイズから増やす場合は、リージョンのサイズを増やすために使用可能な現在のリージョンの外部に未使用のエントリ(他のどのリージョンにも割り当てられていないエントリ)が十分にあるかチェックされます。 現在コミットされているテンプレート内のリージョンのサイズを現在の実行サイズから減らす場合は、TCAM リージョンのサイズを減らすために開放できるエントリがリージョン内に十分にあるか判断するためにチェックされます。 テンプレート内のリージョンのサイズを減らすすべての変更は、そのテンプレート内のリージョンのサイズを増やす変更の前に完了します。
  3. sup-region のすべての機能をサポートするためにソフトウェアで 256 エントリを必要とするため、sup-region のサイズは 256 エントリより小さく変更できません。
  4. sup-region および span リージョンではハードウェアは 256 エントリより多くはサポートしません。 このチェックは検査過程で実施されます。

これらすべてのチェックを通過した場合、そのテンプレートをコミットでき、再起動してテンプレートを適用するかを確認するプロンプトが表示されます。

これらのチェックが失敗した場合、コミットが失敗しテンプレートは保存済みステートに戻ります。 コミットが失敗した場合、commit コマンドの出力に失敗の原因が表示されます。

デフォルト テンプレートは変更または削除できません。 このテンプレートは、保存済みからコミット済み、コミット済みから保存済みへ移行のみが可能です。 デフォルト テンプレートがコミットされた場合、実行コンフィギュレーションには表示されません。 デフォルト テンプレートを適用するには、現在の実行テンプレートを使用して no commit コマンドを入力してください。 このコマンドを入力すると、テンプレートをコミットするときに実行されるのと同じ検証チェックが実行されます。 すべての検証が成功すると、スイッチを再起動するか確認するメッセージが表示されます。 再起動に同意すると、テンプレートがスタートアップ コンフィギュレーションに保存されシステムが再起動します。 再起動後、デフォルト テンプレートが適用されます。 スタートアップ コンフィギュレーションには、再起動前にコミットしたコミット済みテンプレートがあります。 再起動後に、スタートアップ コンフィギュレーションのテンプレートが使用されます。 スタートアップ コンフィギュレーションにコミット済みテンプレートがない場合、デフォルト テンプレートが使用されます。

テンプレート管理コマンドを入力して、TCAM カービング テンプレートを作成および管理できます。 このテンプレート ベース TCAM カービング CLI は config-sync でサポートされます。 テンプレートの作成のみが config-sync 内部でサポートされます。 テンプレート コミットは、config-sync コンテクストの外部でスイッチごとに別々に実施する必要があります。

ユーザ定義テンプレートの作成

手順
     コマンドまたはアクション目的
    ステップ 1switch# configure terminal 

    グローバル コンフィギュレーション モードを開始します。

     
    ステップ 2switch(config)# hardware profile tcam resource template template-name 

    デフォルト リージョン サイズで新しいテンプレートを作成します。 最大 16 個のテンプレート(そしてデフォルト テンプレート)を作成できます。 template-name 引数には最大 64 文字を指定できます。

     

    次に、Rqos-template という名前のユーザ定義テンプレートを作成する例を示します。

    switch# configure terminal
    switch(config)# hardware profile tcam resource template qos-template

    ユーザ定義テンプレートの変更

    手順
       コマンドまたはアクション目的
      ステップ 1switch# configure terminal 

      グローバル コンフィギュレーション モードを開始します。

       
      ステップ 2switch(config)# hardware profile tcam resource template template-name 

      デフォルト リージョン サイズで新しいテンプレートを作成します。 最大 16 個のテンプレート(そしてデフォルト テンプレート)を作成できます。 このコマンドは、テンプレート モードを開始するために使用します。

       
      ステップ 3switch(config-tmpl)# {vacl vacl-region | ifacl ifacl-region | qos qos-region | rbacl rbacl-region | span span-region} 

      リージョン ブロック サイズを設定します。

      • vacl-region:このリージョンのブロックサイズは 64 ~ 3584 です。
      • ifacl-region:このリージョンのブロックサイズは 320 ~ 3584 です。
      • qos-region:このリージョンのブロックサイズは 64 ~ 3584 です。
      • rbacl-region:このリージョンのブロックサイズは 64 ~ 3584 です。
      • span-region:このリージョンのブロックサイズは 64 ~ 256 です。
      (注)     

      リージョンのサイズをゼロには設定できません。 ブロック サイズは 64 の倍数にする必要があります。

       

      次に、ユーザ定義 QoS テンプレートを変更する例を示します。

      switch# configure terminal
      switch(config)# hardware profile tcam resource template qos-template
      switch(config-tmpl) qos 64

      ユーザ定義テンプレートのコミット

      ユーザ定義テンプレートをコミットできます。

      手順
         コマンドまたはアクション目的
        ステップ 1switch# configure terminal 

        グローバル コンフィギュレーション モードを開始します。

         
        ステップ 2switch(config)# hardware profile tcam resource service-template template-name  

        以前に定義済みのテンプレートを実行イメージでコミットします。

         
        ステップ 3switch(config)# copy running-config startup-config 

        リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。

         

        次の例では、ユーザ定義テンプレートをコミットする方法を示します。

        switch# configure terminal
        switch(config)# hardware profile tcam resource service-template qos-template
        Details of qos-template:
        Region     	Features     Size-allocated    Current-usage	Available/free
        ----------------------------------------------------------------------------
        vacl       	vacl	   											1024		   						1024													0  
        												svi racl	
        ifacl      	pacl 	   										2048		   						1024													1024	
        												l3 racl
        												interface qos
        qos        	vlan qos	    							256		    						256			          0
                   	system qos
        rbacl      	cts                  64		           32		           32 	
        span       	interface span      512	           512             0 
                   	vlan span
        sup        	sup rdt		           192	           192             0    
                   	copp
        switch(config)# copy running-config startup-config
        
        
        次の作業

        システムをリブートします。

        テンプレートの削除

        テンプレートを作成後、そのテンプレートを削除できます。 削除は、そのテンプレートに関するすべての情報をソフトウェアから取り除きます。

        手順
           コマンドまたはアクション目的
          ステップ 1switch# configure terminal 

          グローバル コンフィギュレーション モードを開始します。

           
          ステップ 2switch(config)# no hardware profile tcam resource template template-name 

          ユーザ定義テンプレートを削除します。

          保存済みのテンプレートだけが削除できます。 コミット済み/実行中のテンプレートは削除できません。 実行コンフィギュレーションに記述されているテンプレートは(スタートアップ コンフィギュレーションも同様)削除できません。 他のどんなユーザ定義テンプレートも保存済みのステータスにあれば削除できます。 デフォルト テンプレートは削除できません。

           

          次に、テンプレートを削除する例を示します

          switch# configure terminal
          switch(config)# no hardware profile tcam resource template qos-template

          TCAM カービング設定の確認

          TCAM カービングの設定情報を表示するには、次のいずれかのコマンドを入力します。

          コマンド 目的

          show hardware profile tcam resource template

          すべてのテンプレートを表示します。

          show hardware profile tcam resource template template-name

          ユーザ定義テンプレートを表示します。

          show hardware profile tcam resource template default

          デフォルト テンプレートを表示します。