内容

概要

前提条件

要件

使用するコンポーネント

背景説明

用語

QoS関連のSyslogの確認

ハードウェア使用率とポリシーステータスの検証

QoSハードウェアリソースの現在の使用率の理解

使用例(9200L 17.3.4)

ハードウェア使用率のトラブルシューティング

シナリオ：QoS TCAMスケールの推定

シナリオ：QoS TCAMスケールの増加（超過なし）

シナリオ：QoS TCAMスケール超過

修復テクニック

TAC用に収集するコマンド

関連情報

Cisco Bug ID

概要

このドキュメントでは、UADP ASICベースのCatalyst 9000シリーズスイッチでのQuality of Service(QoS)ハードウェア使用率の理解と確認の方法について説明します

前提条件

要件

次の項目に関する知識があることが推奨されます。

- Cisco MQC QoS設定、ポリシーマップ、クラスマップ、アクセスコントロールリスト、アクセスコントロールエントリ

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- Cisco Catalyst 9200L Cisco IOS®-XE 17.3.4

他のCisco Catalyst 9000シリーズスイッチには、一般的な概念、概念、および各種出力が示されています。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

関連製品

このドキュメントは、次のバージョンのハードウェアとソフトウェアにも使用できます。

- Catalyst 9300 - 9600シリーズスイッチ

- Catalyst 9300Xおよび9400X

- Cisco IOS® XE 16.xおよび17.xソフトウェアバージョン

背景説明

- Catalyst 9000シリーズスイッチのさまざまな機能は、限られたハードウェアリソースを消費します。これらのリソースは、これらの機能のパフォーマンスを高速化し、スイッチに期待される高い転送レートを実現するために存在します。

- これらのリソースの規模はスイッチモデルによって異なりますが、トラブルシューティングの基本的な方法は、UADP ASICを搭載したCatalyst 9000シリーズスイッチ間で同じです

- 一般に、スイッチを含む主要な制限付きハードウェアリソースは、TCAM(Ternary Content Addressable Memory)と呼ばれます

- Catalyst 9000シリーズスイッチでは、特定の機能の特定のニーズに適した複数のメモリタイプがTCAM以外で使用されます

このドキュメントは、次の作業に役立ちます。

- Quality of Service(QoS)がハードウェアエントリをどのように消費するかを理解する

- QoSハードウェアリソースの問題を示すログまたはエラーメッセージについて理解する

- QoSに関連するハードウェアリソースの問題を修正するために実行するアクションを決定する

用語

QoS

Quality of Service

ネットワークデバイスに出入りするトラフィックの分類、マーキング、キューイング、およびスケジュールに関連する関連機能の概念/グループ

TCAM

Ternary Content-Addressable Memory

3つの異なる入力(0、1、X)を持つエントリを格納および照会するタイプのメモリ。このタイプのメモリは、同じエントリに対して複数の一致があり、結果のハッシュが一意でない場合に使用されます。このテーブルには、このエントリに一致するかどうかを判断するためのマスクまたはX値が含まれています。

DSCP

Differentiated Service Code Point

パケットのIPヘッダーに含まれるトラフィック分類メカニズム

CoS

[Class of Service] >

パケットのイーサネットフレームヘッダーに含まれるトラフィック分類メカニズム

ACE

アクセスコントロールエントリ

アクセスコントロールリスト(ACL)内の単一のルールまたは行

ACL

アクセス コントロール リスト

トラフィックを照合してアクションを実行するために、さまざまな機能によって使用されるアクセスコントロールエントリ(ACE)のグループ

FED

転送エンジンドライバ

デバイスのハードウェアをプログラムするソフトウェアコンポーネント

QoS関連のSyslogの確認

QoS関連のリソースが不足すると、SYSLOGメッセージがシステムによって生成されます。

QoS関連のsyslogメッセージ

定義

回復アクション

%FED_QOS_ERRMSG-4-TCAM_OVERFLOW：スイッチ1 R0/0:fed:GigabitEthernet1/0/10上のポリシーマップingress_pmap2に対するTCAMをプログラムできませんでした。

QoSエントリ用に予約されているハードウェア(TCAM)の容量が不足しています

有効な構成またはサポートされている構成があることを確認してください。次に、このドキュメントの残りの部分を確認して、スイッチの現在のスケール使用率と、使用率が高い場合に削減できる手順を検証します。

%FED_QOS_ERRMSG-3-QUEUE_SCHEDULER_HW_ERROR：スイッチ1 R0/0: fed: GigabitEthernet1/0/27のキュースケジューラを設定できませんでした

QoSキュースケジューラのハードウェアへのインストールが失敗しました

設定がサポートされていることを確認し、使用している特定のプラットフォームとソフトウェアのバージョンのQoS設定ガイドを確認します。

9200Lの場合のみ：Cisco Bug ID CSCvz54607とCisco Bug ID CSCvz76172を確認してください。

FED_QOS_ERRMSG-3-QUEUE_BUFFER_HW_ERROR: R0/0: fed: Failed to configure default queue buffer

QoSキューバッファのハードウェアへのインストールが失敗しました

設定がサポートされていることを確認し、使用しているプラットフォームとソフトウェアのバージョンに応じたQoS設定ガイドを確認します。

Cisco Bug ID CSCvs49401

ハードウェア使用率とポリシーステータスの検証

現在のQoS TCAM使用率の確認

show platform hardware fed switch active fwd-asic resource tcam utilization

注：このコマンドの詳細については、を参照してください

16.X versions:

CAM Utilization for ASIC  [0]

Table                                              Max Values        Used Values

--------------------------------------------------------------------------------

Unicast MAC addresses                              16384/256          15/21

L3 Multicast entries                               1024/256           0/7

L2 Multicast entries                               1024                 9

Directly or indirectly connected routes            8192/3072          2/19

QoS Access Control Entries                         1024                40 <<< QoS Entries

Security Access Control Entries                    1408               125

Ingress Netflow ACEs                                128                 8

Policy Based Routing ACEs                           512                 9

Egress Netflow ACEs                                 128                 8

Flow SPAN ACEs                                      256                13

Control Plane Entries                               512               211

Tunnels                                             128                17

Lisp Instance Mapping Entries                       128                 3

SGT_DGT                                            2048/256           0/1

CLIENT_LE                                          2048/64            0/0

INPUT_GROUP_LE                                     1024                 0

OUTPUT_GROUP_LE                                    1024                 0

Macsec SPD                                          128                 2

17.x Versions:

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

Mac Address Table      EM           I       16384       17    0.10%        0        0        0       17

Mac Address Table      TCAM         I         256       21    8.20%        0        0        0       21

L3 Multicast           EM           I        1024        0    0.00%        0        0        0        0

L3 Multicast           TCAM         I         256        9    3.52%        3        6        0        0

L2 Multicast           TCAM         I        1024       11    1.07%        3        8        0        0

IP Route Table         EM           I        4096        3    0.07%        2        0        1        0

IP Route Table         TCAM         I        2048       19    0.93%        6       10        2        1

QOS ACL                TCAM         IO       1024       85    8.30%       28       38        0       19  <-- QoS Entries

Security ACL           TCAM         IO       1408      129    9.16%       26       58        0       45

Netflow ACL            TCAM         I         128        6    4.69%        2        2        0        2

PBR ACL                TCAM         I         512        9    1.76%        3        6        0        0

Netflow ACL            TCAM         O         128        6    4.69%        2        2        0        2

Flow SPAN ACL          TCAM         IO        256       13    5.08%        3        6        0        4

Control Plane          TCAM         I         512      262   51.17%      114      106        0       42

Tunnel Termination     TCAM         I         128       18   14.06%        8       10        0        0

Lisp Inst Mapping      TCAM         I         128        1    0.78%        0        0        0        1

CTS Cell Matrix/VPN

Label                  EM           O        2048        0    0.00%        0        0        0        0

CTS Cell Matrix/VPN

Label                  TCAM         O         256        1    0.39%        0        0        0        1

Client Table           EM           I        2048        0    0.00%        0        0        0        0

Client Table           TCAM         I          64        0    0.00%        0        0        0        0

Input Group LE         TCAM         I        1024        0    0.00%        0        0        0        0

Output Group LE        TCAM         O        1024        0    0.00%        0        0        0        0

Macsec SPD             TCAM         I         128        2    1.56%        0        0        0        2

QoSポリシーがハードウェアに正常にインストールされていることを確認します。状態がVALIDおよびSET_INHWであることを確認します。リストの下部にある物理インターフェイスエントリを確認します。スイッチスタックまたはstackwise-virtualでは、スイッチ番号、つまりアクティブ/スタンバイを使用して、ハードウェアのインストールを検証するスイッチを正確に反映します。

C9200(config)#policy-map egress_pmap

C9200(config-pmap)#interface gi2/0/9

C9200(config-if)#service-policy output egress_pmap

C9200#show platform software fed switch 2 qos policy target status         <-- switch 2 is used because the interface in question is Gi2/0/9 which is on switch 2

TCG status summary:

Loc Interface             IIF-ID           Dir State:(cfg,opr) Policy

--- --------------------- ---------------- --- --------------- --------------------

<snip>

L:0 GigabitEthernet2/0/9  0x00000000000010 OUT VALID,SET_INHW  egress_pmap <-- VALID / SET_INHW indicates the policy is understood by software and installed to hardware successfully

ターゲットインターフェイスに対してVALID / SET_INHWの代わりに無効なポリシーまたはエラーが表示される場合は、QoSポリシーを確認し、長さと構文を検証します。また、ハードウェアの使用率も確認します。このドキュメントの後のセクションでは、ポリシーが消費するリソースを理解する方法について詳しく説明します。

C9200#show run policy-map egress_pmap

Current configuration : 624 bytes

!

policy-map egress_pmap

class COS_DSCP6

priority level 1

queue-buffers ratio 5

class COS_DSCP5

bandwidth remaining percent 10

queue-buffers ratio 5

<snip...>

C9200#show run class-map COS_DSCP6

Current configuration : 66 bytes

!

class-map match-any COS_DSCP6

match ip dscp ef

!

end

QoSハードウェアリソースの現在の使用率の理解

使用例(9200L 17.3.4)

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024       85    8.30%       28       38        0       19 <-- Baseline utilization with minimal configuration

空のポリシーマップを設定してアタッチします。このポリシーマップではクラスマップが呼び出されていないため、このポリシーは意図した効果を持ちません。

C9200(config)#policy-map egress_pmap

C9200(config-pmap)#interface gi1/0/9

C9200(config-if)#service-policy output egress_pmap

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024       89    8.69%       29       40        0       20 <-- 4 additional entries consumed

クラスマップがゼロの場合やアクションが実行された場合でも、4つのハードウェアエントリが使用され、V4、V6、およびその他に分割されることを確認します。

この例では、空白のテストクラスが追加されます。通常のシナリオでは、このmatch-anyクラスマップにより、複数のタイプのDSCP、CoS、またはIPPラベルの照合が可能になります。ただし、この例では値がコールされていないため、クラスマップはトラフィックに一致しません。

C9200(config)#class-map match-any TEST_CLASS

C9200(config-cmap)#policy-map egress_pmap

C9200(config-pmap)#class TEST_CLASS

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024       92    8.92%       30       42        0       20 <-- 3 additional entries consumed

この例は、が呼び出される追加クラスごとに、一致する特定のトラフィックがなくても、1つのv4エントリと2つのv6エントリのベースラインが消費されることを示しています。

各クラスにmatch文を追加すると、次のエントリが使用されます。

C9200(config)#class-map match-any TEST_CLASS

C9200(config-cmap)#match precedence 0

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024       96    9.38%       31       44        0       21 <-- 4 additional entries

C9200(config-cmap)#match precedence 1

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024       99    9.67%       32       46        0       21 <-- 3 additional entries

C9200(config-cmap)#match cos 1

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      100    9.77%       32       46        0       22 <-- 1 additional entry

C9200(config-cmap)#match dscp 21

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      103   10.06%       33       48        0       22 <-- 3 addditional entries

C9200(config-cmap)#match dscp 22

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      103   10.06%       33       48        0       22 <-- 0 additional entries

C9200(config-cmap)#match dscp 23

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      106   10.35%       34       50        0       22 <-- 3 additional entries

C9200(config-cmap)#match dscp 31

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      109   10.64%       35       52        0       22 <-- 3 additional entries

C9200(config-cmap)#match dscp 32

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      109   10.64%       35       52        0       22 <-- 3 additional entries

C9200(config-cmap)#match dscp 33

C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS

QOS ACL                TCAM         IO       1024      112   10.94%       36       54        0       22 <-- 3 additional entries

場合によっては、1つのmatchステートメントで他のエントリが消費されないことに注意してください。さらに、後続のmatchステートメントが複数のエントリを消費することに注意してください。

ネットワーク全体にポリシーを実装する前に、定期的にポリシーを作成しながらテストし、最適化を行います。

注：QoS関連のハードウェア使用率については、matchステートメントまたはAccess Control Entry（ACE；アクセスコントロールエントリ）を使用してハードウェア使用量を常に1対1でスケーリングするとは限りません。ハードウェアは、Value Mask Result（VMR；値マスク結果）で動作します。シナリオによっては、ACEを満たすために必要なデータの範囲を完全に分類するために、複数のVMRが必要になる場合があります。Catalyst 9000シリーズスイッチのUADPファミリASICには、拡張の必要性を減らすために、ポート範囲操作(L4OP)を行うACEなどのこれらのシナリオを最適化するためのハードウェアが含まれています。

ハードウェア使用率のトラブルシューティング

このセクションでは、ハードウェアとソフトウェアを組み合わせた複数のシナリオを示し、問題のシナリオと修復を示します。

- プラットフォーム – C9200L-48T-4X

- Cisco IOS®-XE 17.3.4

提示されたシナリオは次のとおりです。

- 全体の使用率に比較的少量のエントリを追加する小さなポリシー

- 全体的な使用率に比較的大量のエントリを追加する大規模なポリシー

- そのポリシーのインストールに失敗する2番目の大きなポリシー

- インストールの失敗の修復

シナリオ：QoS TCAMスケールの推定

注：これらの例では、オブジェクトグループベースのACLを使用します。  オブジェクトグループは、従来のアクセスリストよりもはるかに大きなサイズを効率的に表します。本質的に、TCAMの消費量は増減しません。むしろ、ACEの非常に長いパターン化されたリストを表すための簡素化されたモジュール方式です。

この例では、入力ポリシーを使用してパケットをマーキングします。オブジェクトグループ、IPアクセスリスト、およびTCP/UDPポートベースの一致が含まれます。

オブジェクトグループ

オブジェクトグループを使用するアクセスリスト

クラスマップ

ポリシーマップ

object-group network RFC1918-Private-IPv4

10.0.0.0 255.0.0.0

172.16.0.0 255.240.0.0

192.168.0.0 255.255.0.0

object-group network app_1

group-object RFC1918-Private-IPv4

ip access-list extended APP_1_PORTS_1

10 permit udp any object-group app_1 range 1433 1434

20 permit udp object-group app_1 range 1433 1434 any

30 permit tcp any object-group app_1 range 1433 1434

40 permit tcp object-group app_1 range 1433 1434 any

50 permit tcp any object-group app_1 range 14300 14400

60 permit tcp object-group app_1 range 14300 14400 any

class-map match-any BigClass

match access-group name APP_1_PORTS_1

policy-map ingress_pmap

class BigClass

set dscp cs2

図を確認し、オブジェクトグループネットワークRFC1918-Private-IPv4に3つのサブネットがあることに注意してください

object-group network app_1

group-object RFC1918-Private-IPv4

object-group network RFC1918-Private-IPv4

10.0.0.0 255.0.0.0

172.16.0.0 255.240.0.0

192.168.0.0 255.255.0.0

さらに、ip access-list extended APP_1_PORTS_1に6つのmatchステートメントがあります。

ip access-list extended APP_1_PORTS_1

10 permit udp any object-group app_1 range 1433 1434 <-- permits any source, to group app_1 on UDP ports 1433 - 1434

20 permit udp object-group app_1 range 1433 1434 any <-- reverse of previous line, reminder that app_1 is made up of RFC1918-Private-IPv4, which is 3 separate subnets

30 permit tcp any object-group app_1 range 1433 1434

40 permit tcp object-group app_1 range 1433 1434 any

50 permit tcp any object-group app_1 range 14300 14400

60 permit tcp object-group app_1 range 14300 14400 any

object-group network app_1は、object-group network RFC1918-Private-IPv4のすべてのエントリをip access-list extended APP_1_PORTS_1のすべてのエントリに適用します

APP_1_PORTS_1内の各ACEに対して、オブジェクトグループapp_1を参照するため、これは複数の効果があります。このオブジェクトグループapp_1は、それ自体がRFC1918-Private-IPv4からの3つの追加ACEを表すためです

クラスマップとポリシーマップに接続した場合の、ip access-list extended APP_1_PORTS_1の合計使用率の推定値は次のとおりです。

APP_1は6倍x 3のオブジェクトグループACEを使用= 18

ポリシーを適用し、TCAMの使用率を確認します。

C9200#show platform hardware fed switch 2 fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024      85    8.69%       29       40        0       20 <-- baseline utilization

C9200(config-pmap)#interface gi1/0/9

C9200(config-if)#service-policy input ingress_pmap

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024      107    10.45%     47       40        0       20 <-- 22 entries consumed

要約

- ACLはオブジェクトグループを定義します。オブジェクトグループは、オブジェクトグループの相乗効果により、18個の追加エントリを消費するように拡張されます

- ポリシーマップは、デフォルトで4エントリを消費します

- これは次のように追加されます 22個のエントリが消費されました

シナリオ：QoS TCAMスケールの増加（超過なし）

この例は、より大きなポリシーを持つ前の例の続きです。これにより、大量のTCAMを迅速に消費する方法が確立されます。

ポリシー1:

オブジェクトグループ

オブジェクトグループを使用するアクセスリスト

クラスマップ

ポリシーマップ

object-group network experimental_1

240.1.192.0 255.255.192.0

240.2.96.0 255.255.224.0

240.3.160.0 255.255.240.0

240.4.32.0 255.255.224.0

240.5.160.0 255.255.224.0

240.6.192.0 255.255.224.0

240.7.128.0 255.255.128.0

240.8.0.0 255.255.0.0

240.9.128.0 255.255.192.0

240.10.224.0 255.255.224.0

240.11.0.0 255.255.240.0

240.12.160.0 255.255.224.0

240.13.192.0 255.255.224.0

240.14.192.0 255.255.240.0

240.15.128.0 255.255.224.0

object-group network experimental_2

241.0.0.0 255.255.192.0

241.4.0.0 255.252.0.0

241.8.0.0 255.252.0.0

ホスト241.12.1.1

ホスト241.13.1.1

ホスト241.14.1.1

ホスト241.15.1.1

241.16.0.0 255.252.0.0

ホスト241.20.1.1

ホスト241.21.1.1

ホスト241.22.1.1

ホスト241.23.1.1

object-group network RFC1918-Private-IPv4

10.0.0.0 255.0.0.0

172.16.0.0 255.240.0.0

192.168.0.0 255.255.0.0

object-group network app_1

group-object RFC1918-Private-IPv4

object-group network app_2

group-object RFC1918-Private-IPv4

object-group network app_3

group-object RFC1918-Private-IPv4

object-group network app_4

group-object RFC1918-Private-IPv4

group-object experimental_1

group-object experimental_2

ip access-list extended APP_1_PORTS_1

10 permit udp any object-group app_1 range 1433 1434

20 permit udp object-group app_1 range 1433 1434 any

<その他4回線>

ip access-list extended APP_1_PORTS_2

10 permit udp any object-group app_1 range 7750 7759

20 permit udp object-group app_1 range 7750 7759 any

<その他18回線>

ip access-list extended APP_1_PORTS_3

10 permit udp any object-group app_1 range 22030 22031

20 permit udp object-group app_1 range 22030 22031 any

<その他6行>

ip access-list extended APP_2_PORTS_1

10 permit udp any object-group app_2 range 6000 9291

20 permit udp object-group app_2 range 6000 9291 any

ip access-list extended APP_3_PORTS_1

10 permit tcp any object-group app_3 eq 7563

20 permit tcp object-group app_3 eq 7563 any

<その他4回線>

ip access-list extended APP_3_PORTS_2

10 permit udp any object-group app_3 eq 554

20 permit udp object-group app_3 eq 554 any

<その他2行>

ip access-list extended APP_3_PORTS_3

10 permit udp any object-group app_3 eq 22331

20 permit udp object-group app_3 eq 22331 any

<その他2行>

ip access-list extended APP_3_PORTS_4

10 permit tcp any object-group app_3 eq 5432

20 permit tcp object-group app_3 eq 5432 any

<その他6行>

ip access-list extended APP_4_PORTS_1

10 permit udp any object-group app_4 range 1718 1719

20 permit udp object-group app_4 range 1718 1719 any

<その他14回線>

class-map match-any BigClass_1

match access-group name APP_3_PORTS_2

class-map match-any BigClass_2

match access-group name APP_4_PORTS_1

class-map match-any BigClass_3

match access-group name APP_1_PORTS_2

match access-group name APP_3_PORTS_3

match access-group name APP_2_PORTS_1

class-map match-any BigClass_4

match access-group name APP_1_PORTS_3

match access-group name APP_3_PORTS_4

class-map match-any BigClass_5

match access-group name APP_1_PORTS_1

match access-group name APP_3_PORTS_1

policy-map big_ingress_pmap

class BigClass_1

set dscp cs4

class BigClass_2

set dscp af41

class BigClass_3

set dscp cs3

class BigClass_4

set dscp af31

class BigClass_5

set dscp cs2

class class-default

チャートの右側にあるpolicy-mapが単純で、その隣のクラスマップも同様であることを確認します。しかし、クラスマップは、長いアクセスリストとオブジェクトグループのセットで構成されており、ポリシーマップがインターフェイスに適用されるときに、ソフトウェアがすべてのコンポーネントをマージすると、これらのグループが拡張されます。

ポリシーが適用されると、次のようになります。

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024      85    8.69%       29       40        0       20

C9200(config-pmap)#interface gi1/0/9

C9200(config-if)#service-policy input big_ingress_pmap

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024     633    61.82%     573       40        0       20 <-- 548 increase in used value

QOS ACL TCAMテーブルエントリの使用値は85から633に増加し、548エントリの増加となりました

シナリオ：QoS TCAMスケール超過

このシナリオでは、前のポリシーマップを取得し、set dscp cs4をset dscpefに変更するだけで、そのポリシーがアタッチされている場合は、すべてのエントリをハードウェアで複製する必要があります。

注：QoSポリシーを設計する際に、ハードウェア使用率を削減する重要な方法は、アクションとルールを1つのポリシーマップに結合して、複数のユースケースを満たすことです。2つのポリシーマップ間でオーバーラップする分類ACEは、ハードウェア内で複製されます。ポリシーを組み合わせると、重複するACEを再インストールする必要がなくなります。

ポリシーマップ1

ポリシーマップ2

policy-map big_ingress_pmap

class BigClass_1

set dscp cs4

class BigClass_2

set dscp af41

class BigClass_3

set dscp cs3

class BigClass_4

set dscp af31

class BigClass_5

set dscp cs2

class class-default

policy-map big_ingress_pmap2

class BigClass_1

set dscp ef

class BigClass_2

set dscp af41

class BigClass_3

set dscp cs3

class BigClass_4

set dscp af31

class BigClass_5

set dscp cs2

class class-default

big_ingress_pmap2がインストールされている場合、使用率の増加は見られず、エラーが記録されます。

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024      85    8.69%       29       40        0       20

C9200(config-pmap)#int gi1/0/9

C9200(config-if)#service-policy input big_ingress_pmap

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024     633    61.82%     573       40        0       20 <-- Utilization increased

C9200(config-pmap)#int gi1/0/10

C9200(config-if)#service-policy input big_ingress_pmap2

C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS

Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable

CAM Utilization for ASIC  [0]

Table                  Subtype      Dir      Max     Used    %Used       V4       V6     MPLS    Other

------------------------------------------------------------------------------------------------------

QOS ACL                TCAM         IO       1024     633    61.82%     573       40        0       20 <-- Utilization did not increase further

次のエラーが表示されます。

C9200#show logging

...

*Mar 2 04:54:48.170: %FED_QOS_ERRMSG-4-TCAM_OVERFLOW: Switch 3 R0/0: fed: Failed to program TCAM for policy-map big_ingress_pmap2 on GigabitEthernet1/0/10.

このポリシーをハードウェアにインストールする際にエラーが発生していることを確認します。

C9200#show platform software fed switch 1 qos policy target status

TCG status summary:

Loc Interface             IIF-ID           Dir State:(cfg,opr) Policy

--- --------------------- ---------------- --- --------------- --------------------

<snip>

L:0 GigabitEthernet1/0/9  0x00000000000010 IN  VALID,SET_INHW   big_ingress_pmap     <-- Configuration is valid, and installed / set in hardware

L:0 GigabitEthernet1/0/10 0x000000000000a4 IN  VALID,ERROR      big_ingress_pmap2    <-- Configuration is valid, but there is an error to install it in hardware

修復テクニック

このシナリオを修正するには、変更の意図を考慮し、最適化が可能かどうかを確認する必要があります。

ポリシーマップ1

ポリシーマップ2

policy-map big_ingress_pmap

class BigClass_1

set dscp cs4

class BigClass_2

set dscp af41

class BigClass_3

set dscp cs3

class BigClass_4

set dscp af31

class BigClass_5

set dscp cs2

class class-default

policy-map big_ingress_pmap2

class BigClass_1

set dscp ef

class BigClass_2

set dscp af41

class BigClass_3

set dscp cs3

class BigClass_4

set dscp af31

class BigClass_5

set dscp cs2

class class-default

構成が有効で、ハードウェアのスケール制限に達した場合、修復には設計中心のアプローチが必要です。ACEおよびその後のハードウェアのVMR使用率を削減する最善の方法はありません。何を分類し、どのように要約するかを考える必要があります。

前のシナリオでは、ポリシーマップのset dscp文を除き、ほぼ独立した2つのポリシーを意図的に示しています。この場合、同じ分類のトラフィックをレイヤ3(IP)またはレイヤ4(TCP/UDP)でインターフェイスに基づいて異なる方法でマーキングする場合は、これらの2つのポリシーを1つに結合できるよう、どの重要な情報(これらのインターフェイスの背後にあるデバイスに関する変更)を考慮する必要があります。

- big_ingress_pmapに一致するデバイストラフィックの送信元サブネットがbig_ingress_pmap2に一致するデバイスと異なる場合は、新しいクラスを作成して異なる送信元サブネットを指定し、最初にBigClass_1の前にそのトラフィックを分類できます。次に、これらの特定のクラスに対して、2つの異なるset dscp文を適宜使用できます。

- これらの2つのインターフェイスからのトラフィック間のレイヤ3(IP)/レイヤ4(TCP/UDP)の観点から、これらのフローの送信元または宛先に関する明確な情報が本当に存在しない場合は、ユーザのIPアドレスに関係なく、適用されるSGT(Secure Group Tag)が認可ステータスによって制御されるSGACL(Secure Group ACL)のようなソリューションが適しています。パケット上のSGTは、IPではなく適用の基礎となります。

注:SGT/SGACLでは、Cisco ISE、関連するDOT1X/MAB設定、およびネットワーク全体でのさらなる適用が必要です。適切な設計を考慮する必要があります。

次に、big_ingress_pmapとbig_ingress_pmap2の機能を組み合わせるためにサンプルポリシーを変更する方法を示します。

クラスBigClass_1は、アクセスグループ（アクセスリスト）名APP_3_PORTS_2から構築されます。

Ip access-list extended APP_3_PORTS_2 は、送信元と宛先間の関係が確立される場所です

新しい名前でIpアクセスリスト拡張APP_3_PORTS_2 の複製を作成します。ただし、この区別が重要な特定の送信元サブネット/宛先サブネットに一致させます。

ip access-list extended APP_3_PORTS_2_Special

10 permit udp <specific subnet or object group> object-group app_3 eq 554

20 permit udp object-group app_3 eq 554 <specific subnet or object group>

BigClass_1_Specialという名前の新しいクラスを作成します。

class-map match-any BigClass_1_Special

match access-group name APP_3_PORTS_2_Special

ポリシーマップを再設定して、新しいクラスをポリシーの最上位に含めます。

- BigClass_1には関連するACL内に部分的なmatch anyステートメントがあるため、新しいクラスが最上位に存在する必要があります。これにより、BigClass_1は残っているトラフィックを分類できます。それ以外の場合はBigClass_1_Specialに一致しません。つまり、BigClass_1_Specialに対してより具体的な対象トラフィックを照合するには、より一般的なBigClass_1の照合よりも前に対象トラフィックを評価する必要があります。そのため、ポリシーの先頭に配置する必要があります

統合ポリシーマップ

policy-map big_ingress_pmap_combined

class BigClass_1_Special

set dscp ef

class BigClass_1

set dscp cs4

class BigClass_2

set dscp af41

class BigClass_3

set dscp cs3

class BigClass_4

set dscp af31

class BigClass_5

set dscp cs2

class class-default

注：ポリシーマップ内のクラスを並べ替える方法はありません。すでに存在するクラスの前に新しく設定したクラスを置く必要がある場合は、ポリシー全体を再設定する必要があります。つまり、設定から完全に削除する必要があります。

更新された順序で新しいポリシーを作成し、ポリシーのインストールまたは適用に失敗した場合は、最初にすべての接続されたインターフェイスから古いポリシーを削除して、ハードウェアの使用率を下げます。

interface rangeコマンドはインターフェイス上で順番に動作するため、新しいポリシーを使用して古いポリシーを上書きし、両方のポリシーをハードウェア上に置く必要がある一時的なシナリオが導入されます。この時点で、過剰な使用率が原因でインストールに失敗する可能性があります。現在のポリシーをすべてのインターフェイスから削除して、ハードウェアの使用率を下げてから続行します。

TAC用に収集するコマンド

このガイドでは、QoS使用率に関連する最も一般的なハードウェアリソースの問題と、適切な修復手順について説明します。ただし、このガイドで問題が解決しなかった場合は、表示されているコマンドリストを収集し、TACサービスリクエストに添付してください。

- show tech-supportおよびshow tech-support qosの完全な出力またはサニタイズされた出力をサービスリクエストに添付し、実行した手順または最近行った変更の詳細を確認します。

関連情報

- Catalyst 9000スイッチのハードウェアリソースについて

- 『Cisco Catalyst 9000 Switching Platforms: QoS and Queuing White Paper』

- テクニカル サポートとドキュメント – Cisco Systems

Cisco Bug ID

Cisco Bug ID CSCvz54607(C9200/C9200L(16.12):QoSプログラミングの誤りによる出力キューの過負荷)

Cisco Bug ID CSCvz76172(C9200/C9200L(17.3/17.6):QoSプログラミングの誤りによる出力キューの過負荷)