Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Informações de Apoio

Terminology

Revisar Syslogs relacionados à QoS

Valide o status da política e a utilização de hardware

Compreender a utilização atual dos recursos de hardware de QoS

Exemplo de uso (9200L 17.3.4)

Solucionar problemas de utilização de hardware

Cenário: estimativa de escala de TCAM de QoS

Cenário: Escala de TCAM de QoS Aumentada (não excedida)

Cenário: Escala de TCAM de QoS excedida

Técnicas de correção

Comandos a serem coletados para TAC

Informações Relacionadas

IDs de bug da Cisco

Introduction

Este documento descreve como entender e verificar a utilização de hardware de Qualidade de Serviço (QoS - Quality of Service) em Switches Catalyst 9000 Series baseados em UADP ASIC

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Configuração de QoS do Cisco MQC; mapas de política, mapas de classe, listas de controle de acesso, entradas de controle de acesso

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- Cisco Catalyst 9200L Cisco IOS®-XE 17.3.4

Os conceitos gerais, ideias e várias saídas podem ser vistos em outros switches Cisco Catalyst 9000 Series.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Produtos Relacionados

Este documento também pode ser usado com as seguintes versões de hardware e software:

- Switches Catalyst 9300 - 9600 Series

- Catalyst 9300X e 9400X

- Cisco IOS® XE versões 16.x e 17.x Software

Informações de Apoio

- Vários recursos dos switches Catalyst 9000 Series consomem recursos de hardware limitados. Esses recursos existem para acelerar o desempenho desses recursos e para fornecer as altas taxas esperadas esperadas de encaminhamento de um switch.

- A escala desses recursos pode variar de um modelo de switch para outro, mas a metodologia básica para solucionar problemas permanece a mesma nos Switches da série Catalyst 9000 com o UADP ASIC

- Geralmente, o principal recurso de hardware limitado com Switches é conhecido como TCAM - Ternary Content Addressable Memory

- Nos switches Catalyst 9000 Series, vários tipos de memória são usados além do TCAM, adequado às necessidades específicas de um determinado recurso

Este documento ajuda você a:

- Entender como a Qualidade de Serviço (QoS) consome entradas de hardware

- Entender logs ou mensagens de erro que indicam um problema de recurso de hardware de QoS

- Determinar que ações tomar para corrigir problemas de recursos de hardware relacionados à QoS

Terminology

qos

Qualidade de Serviço

Um conceito/grupo de recursos relacionados relacionados à classificação, marcação, fila e programação de tráfego de entrada e saída de um dispositivo de rede

TCAM

Memória endereçável de conteúdo ternária

Um tipo de memória que armazena e consulta entradas com três entradas diferentes: 0, 1 e X. Esse tipo de memória é usado em casos em que há várias correspondências para a mesma entrada, e o Hash resultante para cada uma não seria exclusivo. Essa tabela inclui uma máscara ou um valor X que permite saber se corresponde ou não a essa entrada.

DSCP

Differentiated Services Code Point

Um mecanismo de classificação de tráfego contido no cabeçalho IP de um pacote

CoS

Classe de serviço

Um mecanismo de classificação de tráfego contido no cabeçalho do quadro Ethernet de um pacote

ACE

Entrada de Controle de Acesso

Uma única regra ou linha em uma ACL (Access Control List, lista de controle de acesso)

ACL

Lista de Controle de Acesso

Um grupo de Entradas de Controle de Acesso (ACEs - Access Control Entries) usado por vários recursos para corresponder o tráfego e executar uma ação

FED

Driver do mecanismo de encaminhamento

Componente de software que programa o hardware do dispositivo

Revisar Syslogs relacionados à QoS

Se você ficar sem recursos relacionados à QoS, as mensagens SYSLOG serão geradas pelo sistema:

Mensagem Syslog relacionada à QoS

Definição

Ações de Recuperação

%FED_QOS_ERRMSG-4-TCAM_OVERFLOW: Switch 1 R0/0: fed: falha ao programar TCAM para mapa de políticas ingress_pmap2 em GigabitEthernet1/0/10.

O hardware (TCAM) reservado para entradas de QoS ficou sem espaço

Verifique se você tem uma configuração válida/com suporte. Em seguida, revise o restante deste documento para validar a utilização de escala atual do switch e as etapas possíveis para reduzir se ele for superutilizado.

%FED_QOS_ERRMSG-3-QUEUE_SCHEDULER_HW_ERROR: Switch 1 R0/0: fed: Falha ao configurar o agendador de fila para GigabitEthernet1/0/27

Falha na instalação do agendador de fila de QoS no hardware

Verifique se a sua configuração é suportada, revise o guia de configuração de QoS para a sua plataforma e versão de software específicas.

Para 9200L ONLY: Reveja a ID de bug da Cisco CSCvz54607 e a ID de bug da Cisco CSCvz76172

FED_QOS_ERRMSG-3-QUEUE_BUFFER_HW_ERROR: R0/0: fed: Falha ao configurar buffer de fila padrão

Falha na instalação de buffers de fila de QoS no hardware

Verifique se a sua configuração é suportada, revise o guia de configuração de QoS para a sua plataforma e versão de software específicas.

Revisar a ID de bug da Cisco CSCvs49401

Valide o status da política e a utilização de hardware

Verificar a utilização atual da TCAM de QoS

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

Observação: consulte para obter mais detalhes sobre esse comando

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

Verifique se a política de QoS está instalada no hardware com êxito. Verifique se o estado é VALID e SET_INHW. Procure as entradas de interface física na parte inferior da lista. Em pilhas de switches ou stackwise-virtual, use o número do switch ou ative/standby para refletir com precisão em qual switch você deseja validar a instalação do hardware.

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

Se você vir uma política ou erro inválido em vez de VALID / SET_INHW para uma interface de destino, revise a política de QoS e valide o comprimento e a sintaxe. Verifique também a utilização do hardware. As seções posteriores deste documento detalham como entender os recursos que uma política pode consumir.

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

Compreender a utilização atual dos recursos de hardware de QoS

Exemplo de uso (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

Configure e anexe um mapa de política em branco - nenhum mapa de classe foi chamado nesse mapa de política, portanto, essa política não tem efeito pretendido.

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

Observe que, mesmo com zero mapas de classe anexados ou ações tomadas, 4 entradas de hardware são usadas, divididas em V4, V6 e Outros.

Neste exemplo, uma classe de teste em branco é adicionada. Em um cenário normal, esse mapa de classe match-any permitiria a correspondência de vários tipos de rótulos DSCP, CoS ou IPP. Mas, por exemplo, nenhum valor foi chamado e, portanto, o mapa de classe não corresponde a nenhum tráfego.

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

O exemplo mostra que para cada classe adicional chamada, mesmo sem nenhum tráfego específico correspondente, uma linha de base de uma entrada v4 e duas entradas v6 são consumidas.

À medida que você adiciona uma instrução match a cada classe, mais entradas são usadas:

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

Observe que em alguns casos, uma única instrução de correspondência não consome mais entradas. Observe também que as instruções de correspondência subsequentes consomem várias entradas.

Antes de implementar uma política em toda a rede, teste a política à medida que você a desenvolve periodicamente e faça otimizações à medida que prosseguir.

Observação: para utilização de hardware relacionado à QoS, o uso de hardware nem sempre é escalável um para um com instruções de correspondência ou ACEs (Access Control Entries, entradas de controle de acesso). O hardware opera em termos de resultado de máscara de valor, ou VMR. Em alguns cenários, mais de um VMR pode ser necessário para classificar totalmente o intervalo de dados necessário para preencher uma ACE. Os ASICs da família UADP dos switches Catalyst 9000 Series contêm hardware para otimizar esses cenários, como para os ACEs com operações de intervalo de portas (L4OPs), a fim de reduzir a necessidade de expansão.

Solucionar problemas de utilização de hardware

Esta seção apresenta vários cenários com essa combinação de hardware e software para ajudar a ilustrar um cenário de problema e a correção.

- Plataforma - C9200L-48T-4X

- Cisco IOS®-XE 17.3.4

Os cenários apresentados ilustram:

- Uma política pequena que adiciona uma quantidade relativamente pequena de entradas à utilização geral

- Uma política grande que adiciona uma quantidade relativamente grande de entradas à utilização geral

- Uma segunda política grande que causa uma falha na instalação dessa política

- Correção da falha de instalação

Cenário: estimativa de escala de TCAM de QoS

Observação: esses exemplos usam ACLs baseadas em grupos de objetos.  Os grupos de objetos representam eficientemente listas de acesso tradicionais muito maiores. Eles não consomem inerentemente mais ou menos TCAM. Em vez disso, eles são uma forma simplificada e modular de representar o que seria de outra forma muito longa, listas padronizadas de ACEs.

Este exemplo usa uma política de entrada para marcar pacotes. Envolve grupos de objetos, listas de acesso IP e correspondências baseadas em portas TCP/UDP.

Grupos de objetos

Lista de Acesso que usa o Grupo de Objetos

Mapa de classe

Mapa de políticas

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 any 14400

class-map match-any BigClass

match access-group name APP_1_PORTS_1

policy-map ingress_pmap

class BigClass

set dscp cs2

Revise o gráfico e observe que há 3 sub-redes na rede de grupo de objetos RFC1918-Private-IPv4

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

Além disso, há 6 instruções de correspondência em ip access-list extended APP_1_PORTS_1.

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 aplica cada entrada em object-group network RFC1918-Private-IPv4 a cada entrada em ip access-list extended APP_1_PORTS_1

Isso tem um efeito multiplicativo, pois para cada ACE em APP_1_PORTS_1, ele faz referência ao grupo de objetos app_1, que representa 3 ACEs adicionais de RFC1918-Private-IPv4

A estimativa de utilização total para a lista de acesso IP estendida APP_1_PORTS_1, quando anexada a um mapa de classes e mapa de políticas, é:

APP_1 usado 6 vezes x 3 ACEs de grupo de objetos = 18

Aplique a política e observe a utilização da 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

Summary

- As ACLs definem grupos de objetos que se expandem para consumir 18 entradas adicionais, devido ao efeito multiplicativo de grupos de objetos

- O mapa de política consome 4 entradas por padrão

- Isso contribui para 22 entradas consumidas

Cenário: Escala de TCAM de QoS Aumentada (não excedida)

Este exemplo é uma continuação do anterior com uma política maior. Isso estabelece como você pode consumir rapidamente uma grande quantidade de TCAM.

Política 1:

Grupos de objetos

Listas de Acesso que usam os Grupos de Objetos

Mapa de classe

Mapa de políticas

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

host 241.12.1.1

host 241.13.1.1

host 241.14.1.1

host 241.15.1.1

241.16.0.0 255.252.0.0

host 241.20.1.1

host 241.21.1.1

host 241.22.1.1

host 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

<mais 4 linhas>

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

<mais 18 linhas>

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 any 22031

<6 mais linhas>

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

<mais 4 linhas>

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 mais linhas>

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 mais linhas>

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 mais linhas>

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 linhas a mais>

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

Observe que o mapa de políticas à direita do gráfico é simples, assim como os mapas de classes próximos a ele. Mas os mapas de classe são compostos de um conjunto de listas de acesso e grupos de objetos mais longos, que se expandem quando o software mescla todos os componentes juntos, conforme o mapa de política é aplicado a uma interface.

Quando a política for aplicada:

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

O valor usado aumentou de 85 para 633 para a entrada da tabela TCAM da ACL de QOS, um aumento de 548 entradas

Cenário: Escala de TCAM de QoS excedida

Neste cenário, se você pegar o mapa de política anterior e alterar apenas o set dscp cs4 para set dscpef em uma política separada, quando essa política estiver anexada todas as entradas deverão ser duplicadas no hardware.

Observação: ao projetar uma política de QoS, uma maneira significativa de reduzir a utilização de hardware é combinar ações e regras em um único mapa de políticas para satisfazer vários casos de uso. As ACEs de classificação que se sobrepõem entre dois mapas de política são duplicadas no hardware. Quando você combina políticas, isso elimina a necessidade de reinstalação das ACEs que se sobrepõem.

Mapa de Políticas 1

Mapa de Políticas 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

Observe quando big_ingress_pmap2 está instalado, nenhum aumento de utilização é visto e um erro é registrado.

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

Este erro é observado:

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.

Verifique se há um erro para instalar esta política no hardware:

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

Técnicas de correção

Para corrigir esse cenário, você deve considerar a intenção da alteração e ver se é possível fazer otimizações.

Mapa de Políticas 1

Mapa de Políticas 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

Se a configuração for válida e um limite de escala do hardware for atingido, a correção exigirá uma abordagem centrada no design. Não há uma melhor maneira de reduzir ACEs e a utilização subsequente de VMR do hardware. Você deve considerar o que deseja classificar e como resumir.

Os cenários anteriores apresentam intencionalmente duas políticas que são quase idênticas, exceto para uma instrução set dscp no mapa de políticas. Nesse caso, se a intenção for marcar a mesma classificação de tráfego na camada 3 (IP) ou na camada 4 (TCP/UDP) de forma diferente com base na interface, você deverá considerar quais informações-chave (sobre os dispositivos por trás dessas interfaces) são alteradas de modo que seja possível combinar essas duas políticas em uma.

- Se o tráfego de dispositivo combinado com big_ingress_pmap tiver uma sub-rede de origem diferente dos dispositivos com big_ingress_pmap2, você poderá criar uma nova classe para especificar uma sub-rede de origem distinta e classificar esse tráfego primeiro, antes de BigClass_1. Em seguida, duas instruções set dscp diferentes podem ser usadas nessas classes específicas de acordo.

- Se realmente não houver informações distintas sobre a origem ou o destino desses fluxos da perspectiva da camada 3 (IP)/camada 4 (TCP/UDP) entre o tráfego dessas duas interfaces - soluções como SGACL (Secure Group ACL) podem ser mais adequadas - em que o status de autorização orienta o SGT (Secure Group Tag) aplicado, independentemente do endereço IP do usuário. O SGT no pacote torna-se então a base da aplicação, em vez do IP.

Observação: o SGT/SGACL requer o Cisco ISE, a configuração DOT1X/MAB relacionada e a aplicação adicional em toda a rede. Deve-se dar a devida consideração ao projeto.

Veja como modificar a política de exemplo para combinar a funcionalidade de big_ingress_pmap e big_ingress_pmap2:

A classe BigClass_1 é criada a partir do nome do grupo de acesso (lista de acesso) APP_3_PORTS_2.

A lista de acesso de Ip estendida APP_3_PORTS_2 é onde a relação entre origens e destinos é estabelecida

Crie uma duplicata de APP_3_PORTS_2 estendido da lista de acesso IPcom um novo nome, mas, em vez disso, corresponda a sub-redes de origem/sub-redes de destino específicas onde essa distinção é importante:

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>

Crie uma nova classe chamada BigClass_1_Special

class-map match-any BigClass_1_Special

match access-group name APP_3_PORTS_2_Special

Reconfigure o mapa de políticas para incluir a nova classe na parte superior da política.

- A nova classe deve estar no topo, pois BigClass_1 tem instruções match any parciais em sua ACL relacionada. Isso permite que BigClass_1 classifique o tráfego restante, caso contrário não será correspondido por BigClass_1_Special. Em outras palavras, para corresponder ao tráfego de interesse mais específico para BigClass_1_Special, ele deve ser avaliado antes das correspondências mais gerais de BigClass_1 e, portanto, deve estar no topo da política

Mapa de políticas combinadas

policy-map big_ingress_pmap_mixed

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

Observação: não há como reordenar as classes em um mapa de políticas. Se precisar colocar uma classe recém-configurada antes de uma classe que já existe, você deve reconfigurar a política inteira, o que significa que você deve removê-la totalmente da configuração.

Se você criar uma nova política com ordem atualizada e a instalação/aplicação da política falhar, primeiro remova a política antiga de todas as interfaces conectadas para reduzir a utilização de hardware.

O intervalo de interface de comando opera em interfaces sequencialmente, portanto, seu uso com uma nova política para substituir uma antiga introduz um cenário temporário onde ambas as políticas precisam estar no hardware. Nesse ponto, a instalação poderá falhar devido à utilização excessiva. Remova a política atual de todas as interfaces para reduzir a utilização de hardware e continue.

Comandos a serem coletados para TAC

Os problemas mais comuns de recursos de hardware relacionados à utilização de QoS são abordados neste guia, com as etapas de correção apropriadas. No entanto, caso este guia não resolva o problema, colete a lista de comandos mostrada e anexe-a à sua solicitação de serviço do TAC.

- Anexe a saída completa ou higienizada de show tech-support e show tech-support qos à sua solicitação de serviço e detalhes sobre quaisquer etapas realizadas ou alterações feitas recentemente.

Informações Relacionadas

- Entender os recursos de hardware nos switches Catalyst 9000

- Cisco Catalyst 9000 Switching Platforms: QoS and Queuing White Paper (Plataformas de switching Cisco Catalyst 9000: QoS e enfileiramento)

- Suporte Técnico e Documentação - Cisco Systems

IDs de bug da Cisco

ID de bug Cisco CSCvz54607 (C9200/C9200L (16.12) - fila de saída sobrecarregada devido à programação incorreta de QoS)

ID de bug Cisco CSCvz76172 (C9200/C9200L (17.3/17.6) - fila de saída sobrecarregada devido à programação de QoS incorreta)