Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

Terminology

Revisar registros del sistema relacionados con QoS

Validar el uso del hardware y el estado de la política

Comprender el uso actual de los recursos de hardware de QoS

Ejemplo de uso (9200L 17.3.4)

Solucionar problemas de uso de hardware

Situación: estimación de la escala TCAM de QoS

Situación: aumento de la escalabilidad de QoS TCAM (no superada)

Situación: se superó la escala de TCAM de QoS

Técnicas de remediación

Comandos que se deben recopilar para TAC

Información Relacionada

ID de errores de Cisco

Introducción

Este documento describe cómo comprender y verificar la utilización de hardware de Calidad de servicio (QoS) en los switches Catalyst serie 9000 basados en ASIC UADP

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- Configuración de QoS de Cisco MQC; mapas de políticas, mapas de clase, listas de control de acceso, entradas de control de acceso

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- Cisco Catalyst 9200L Cisco IOS®-XE 17.3.4

Los conceptos generales, las ideas y los distintos resultados se pueden ver en otros switches Catalyst de Cisco serie 9000.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Productos Relacionados

Este documento también puede utilizarse con estas versiones de software y hardware:

- Switches Catalyst serie 9300 - 9600

- Catalyst 9300X y 9400X

- Versiones de software de Cisco IOS® XE 16.x y 17.x

Antecedentes

- Las distintas funciones de los switches Catalyst serie 9000 consumen recursos de hardware limitados. Estos recursos existen para acelerar el rendimiento de estas funciones y para proporcionar las altas velocidades de avance esperadas de un switch.

- La escala de estos recursos puede variar de un modelo de switch a otro, pero la metodología básica para solucionar problemas sigue siendo la misma en los switches Catalyst serie 9000 con UADP ASIC

- Normalmente, el recurso de hardware limitado principal con switches se denomina TCAM - Memoria direccionable de contenido ternario

- En los switches Catalyst serie 9000, se utilizan varios tipos de memoria más allá de TCAM, adecuados para las necesidades específicas de una función determinada

Este documento le ayuda a:

- Comprender cómo la calidad de servicio (QoS) consume las entradas de hardware

- Comprender registros o mensajes de error que indican un problema de recursos de hardware de QoS

- Determine qué acciones tomar para remediar los problemas de recursos de hardware relacionados con QoS

Terminology

QoS

Calidad del servicio

Concepto o grupo de funciones relacionadas con la clasificación, marca, cola y programación del tráfico entrante y saliente de un dispositivo de red

TCAM

Memoria direccionable por contenido ternario

Tipo de memoria que almacena y consulta entradas con tres entradas diferentes: 0, 1 y X. Este tipo de memoria se utiliza en casos en los que hay varias coincidencias con la misma entrada y el valor Hash resultante para cada una no sería único. Esta tabla incluye una máscara o un valor X que le permite saber si coincide o no con esta entrada.

DSCP

Punto de Código de Servicios Diferenciados

Mecanismo de clasificación de tráfico contenido en el encabezado IP de un paquete

CoS

Clase de servicio

Mecanismo de clasificación de tráfico contenido en el encabezado de trama Ethernet de un paquete

AS

Entrada de control de acceso

Una única regla o línea dentro de una lista de control de acceso (ACL)

ACL

Lista de control de acceso

Grupo de entradas de control de acceso (ACE) que utilizan diversas funciones para hacer coincidir el tráfico y realizar una acción

FED

Controlador de motor directo

Componente de software que programa el hardware del dispositivo

Revisar registros del sistema relacionados con QoS

Si se queda sin recursos relacionados con QoS, el sistema genera mensajes SYSLOG:

Mensaje Syslog relacionado con QoS

Definición

Acciones de recuperación

%FED_QOS_ERRMSG-4-TCAM_OVERFLOW: Switch 1 R0/0: fed: Error al programar TCAM para policy-map ingress_pmap2 en GigabitEthernet1/0/10.

El hardware (TCAM) reservado para las entradas de QoS se ha quedado sin espacio

Asegúrese de que dispone de una configuración válida o admitida. A continuación, revise el resto de este documento para validar el uso actual de la escala de su switch y los posibles pasos para reducir si se utiliza en exceso.

%FED_QOS_ERRMSG-3-QUEUE_SCHEDULER_HW_ERROR: Switch 1 R0/0: fed: Error al configurar el programador de colas para GigabitEthernet1/0/27

Error en la instalación en el hardware del programador de colas de QoS

Compruebe que su configuración es compatible y revise la guía de configuración de QoS para su plataforma y versión de software específicas.

SÓLO para 9200L: revise el Id. de error de Cisco CSCvz54607 y el Id. de error de Cisco CSCvz76172

FED_QOS_ERRMSG-3-QUEUE_BUFFER_HW_ERROR: R0/0: fed: Error al configurar el búfer de cola predeterminado

Error en la instalación en el hardware de los búferes de cola de QoS

Compruebe que su configuración es compatible y revise la guía de configuración de QoS para su plataforma y versión de software específicas.

Revise el ID de bug de Cisco CSCvs49401

Validar el uso del hardware y el estado de la política

Verificar la utilización actual de TCAM de QoS

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

Nota: Consulte para obtener más detalles sobre este 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 que la política de QoS se haya instalado correctamente en el hardware. Asegúrese de que el estado es VALID y SET_INHW. Busque entradas de interfaz física en la parte inferior de la lista. En pilas de switches o en modo virtual apilable, utilice el número de switch o activo/en espera para reflejar con precisión en qué switch desea validar la instalación de 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

Si ve una política o un error no válido en lugar de VÁLIDO / SET_INHW para una interfaz de destino, revise la política de QoS y valide la longitud y la sintaxis. Verifique también la utilización del hardware. Las secciones posteriores de este documento detallan cómo comprender los recursos que puede consumir una política.

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

Comprender el uso actual de los recursos de hardware de QoS

Ejemplo 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 y adjunte un policy-map en blanco: no se ha llamado a ningún class-map en este policy-map, por lo que esta política no tiene ningún efecto esperado.

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 incluso con mapas de clase cero adjuntos o acciones realizadas, se utilizan 4 entradas de hardware, divididas entre V4, V6 y Otros.

En este ejemplo, se agrega una clase de prueba en blanco. En un escenario normal, este mapa de clase match-any permitiría la coincidencia de varios tipos de etiquetas DSCP, CoS o IPP. Pero para el ejemplo, no se ha llamado a ningún valor, por lo que el mapa de clase no coincide con ningún tráfico.

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

El ejemplo muestra que para cada clase adicional llamada, incluso sin ningún tráfico específico coincidente, se consume una línea base de una entrada v4 y dos entradas v6.

A medida que agrega una instrucción match a cada clase, se utilizan entradas adicionales:

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 en algunos casos, una sola sentencia match no consume más entradas. Además, observe que las sentencias de coincidencia subsiguientes consumen múltiples entradas.

Antes de implementar una política en toda la red, pruebe la política a medida que la desarrolla periódicamente y realice optimizaciones a medida que avanza.

Nota: para la utilización de hardware relacionada con QoS, el uso de hardware no siempre se amplía uno a uno con sentencias coincidentes o entradas de control de acceso (ACE). El hardware funciona en términos de resultado de la máscara de valor, o VMR. En algunos escenarios, se puede necesitar más de un VMR para clasificar completamente el rango de datos necesarios para cumplir con una ACE. Los ASIC de la familia UADP de los switches Catalyst serie 9000 contienen hardware para optimizar estos escenarios, como aquellos ACE con operaciones de intervalo de puertos (L4OP), con el fin de reducir la necesidad de expansión.

Solucionar problemas de uso de hardware

Esta sección presenta varios escenarios con esta combinación de hardware y software para ayudar a ilustrar un escenario de problemas y la remediación.

- Plataforma: C9200L-48T-4X

- Cisco IOS®-XE 17.3.4

Los escenarios presentados ilustran:

- Una política pequeña que añade una cantidad relativamente pequeña de entradas a la utilización general

- Una política de gran tamaño que añade una cantidad relativamente grande de entradas a la utilización general

- Una segunda política grande que causa un fallo al instalar esa política

- Corrección del fallo de instalación

Situación: estimación de la escala TCAM de QoS

Nota: Estos ejemplos utilizan ACL basadas en grupos de objetos.  Los grupos de objetos representan eficazmente listas de acceso tradicionales mucho más grandes. No consumen inherentemente más o menos TCAM. Más bien, son una forma simplificada y modular de representar lo que de otra manera serían listas de ACEs con patrones muy largos.

Este ejemplo utiliza una política de ingreso para marcar paquetes. Incluye grupos de objetos, listas de acceso IP y coincidencias basadas en puertos TCP/UDP.

Grupos de objetos

Lista de acceso que utiliza el grupo de objetos

Mapa de clase

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

class-map match-any BigClass

match access-group name APP_1_PORTS_1

policy-map ingress_map

class BigClass

set dscp cs2

Revise el gráfico y observe que hay 3 subredes en la red 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

Además, hay 6 sentencias de coincidencia en 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 en la red de grupo de objetos RFC1918-Private-IPv4 a cada entrada en la lista de acceso ip extendida APP_1_PORTS_1

Esto tiene un efecto multiplicativo, porque para cada ACE en APP_1_PORTS_1, hace referencia al grupo de objetos app_1, que a su vez representa 3 ACE adicionales de RFC1918-Private-IPv4

La estimación de la utilización total para la lista de acceso ip extendida APP_1_PORTS_1, cuando se asocia a un mapa de clase y un mapa de política es:

APP_1 usado 6 veces x 3 ACE de grupos de objetos = 18

Aplique la política y observe la utilización de 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

- Las ACL definen grupos de objetos que se expanden para consumir 18 entradas adicionales, debido al efecto multiplicativo de los grupos de objetos

- El policy map consume 4 entradas de forma predeterminada

- Esto se suma a 22 entradas consumidas

Situación: aumento de la escalabilidad de QoS TCAM (no superada)

Este ejemplo es una continuación del anterior con una política más amplia. Esto establece cómo puede consumir rápidamente una gran cantidad de TCAM.

Política 1:

Grupos de objetos

Listas de acceso que utilizan los grupos de objetos

Mapa de clase

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

<4 líneas más>

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 líneas más>

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 líneas más>

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 líneas más>

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 líneas más>

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 líneas más>

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 líneas más>

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 líneas más>

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_map

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 el policy-map a la derecha del gráfico es simple, así como los mapas de clase junto a él. Sin embargo, los mapas de clase se componen de un conjunto de listas de acceso y grupos de objetos más largos, que se expanden una vez que el software combina todos los componentes a medida que el mapa de políticas se aplica a una interfaz.

Cuando se aplica la política:

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

El valor usado aumentó de 85 a 633 para la entrada de la tabla TCAM de ACL de QOS, un aumento de 548 entradas

Situación: se superó la escala de TCAM de QoS

En este escenario, si toma el mapa de política anterior y cambia solamente el set dscp cs4 para set dscpef en una política independiente, cuando esa política está adjunta todas las entradas deben estar duplicadas en el hardware.

Nota: Al diseñar una política de QoS, una forma importante de reducir la utilización del hardware es combinar acciones y reglas en un único policy-map para satisfacer varios casos prácticos. Las ACE de clasificación que se solapan entre dos mapas de políticas se duplican en el hardware. Al combinar políticas, se elimina la necesidad de volver a instalar las ACE que se solapan.

Mapa de política 1

Mapa de política 2

policy-map big_ingress_map

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_map2

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 cuando se instala big_ingress_pmap2, no se observa aumento de utilización y se registra un error.

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

Se observa este error:

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 que haya un error al instalar esta política en el 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 remediación

Para remediar este escenario, debe considerar la intención del cambio y ver si se pueden realizar optimizaciones.

Mapa de política 1

Mapa de política 2

policy-map big_ingress_map

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_map2

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

Si la configuración es válida y se alcanza un límite de escala del hardware, la solución requiere un enfoque centrado en el diseño. No existe una mejor manera de reducir las ACE y la posterior utilización del hardware por parte de VMR. Debe tener en cuenta lo que desea clasificar y cómo resumir.

Los escenarios anteriores presentan intencionalmente dos políticas que son casi idénticas excepto por una sentencia set dscp en el policy-map. En este caso, si la intención es marcar la misma clasificación del tráfico en la capa 3 (IP) o la capa 4 (TCP/UDP) de forma diferente según la interfaz, debe considerar qué información clave (sobre los dispositivos detrás de esas interfaces) cambia de tal manera que puede combinar estas dos políticas en una.

- Si el tráfico de dispositivo que coincide con big_ingress_pmap tiene una subred de origen diferente que los dispositivos con big_ingress_pmap2, puede crear una nueva clase para especificar una subred de origen distinta y clasificar ese tráfico primero, antes de BigClass_1. Luego, se pueden utilizar dos sentencias set dscp diferentes en esas clases específicas en consecuencia.

- Si realmente no hay información clara sobre el origen o el destino de estos flujos desde la perspectiva de la capa 3 (IP)/capa 4 (TCP/UDP) entre el tráfico de estas dos interfaces, soluciones como SGACL (Secure Group ACL) podrían ser más adecuadas, donde el estado de autorización determina la SGT (Secure Group Tag) aplicada, independientemente de la dirección IP del usuario. La SGT del paquete se convierte en la base de la aplicación, en lugar de la IP.

Nota: SGT/SGACL requiere Cisco ISE, la configuración DOT1X/MAB relacionada y una aplicación adicional en toda la red. Debe prestarse la debida atención al diseño.

Así es como se modifica la política de ejemplo para combinar la funcionalidad de big_ingress_map y big_ingress_pmap2:

La clase BigClass_1 se crea a partir del nombre del grupo de acceso (lista de acceso) APP_3_PORTS_2.

La lista de acceso Ip extendida APP_3_PORTS_2 es donde se establece la relación entre los orígenes y los destinos

Cree un duplicado de la lista de acceso Ip extendida APP_3_PORTS_2 con un nuevo nombre, pero en su lugar haga coincidir subredes de origen/subredes de destino específicas donde esta distinción importa:

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>

Cree una nueva clase denominada BigClass_1_Special

class-map match-any BigClass_1_Special

match access-group name APP_3_PORTS_2_Special

Reconfigure el policy map para incluir la nueva clase en la parte superior de la política.

- La nueva clase debe estar en la parte superior, ya que BigClass_1 tiene coincidencia parcial con cualquier sentencia en su ACL relacionada. Esto permite que BigClass_1 clasifique el tráfico que permanece, de lo contrario no coincidirá con BigClass_1_Special. En otras palabras, para que coincida con el tráfico más específico de interés para BigClass_1_Special, debe ser evaluado antes de las coincidencias más generales de BigClass_1, y por lo tanto debe ir en la parte superior de la política

Mapa de política combinado

policy-map big_ingress_map_combinated

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

Nota: No hay forma de reordenar las clases en un policy-map. Si necesita colocar una clase recién configurada antes de una clase que ya existe, debe volver a configurar la política completa, lo que significa que debe eliminarla de la configuración por completo.

Si crea una política completamente nueva con el orden actualizado y la instalación/aplicación de la política falla, primero quite la política antigua de todas las interfaces conectadas para reducir la utilización del hardware.

El comando interface range opera en las interfaces secuencialmente, por lo que su uso con una nueva política para sobrescribir una antigua, introduce un escenario temporal donde ambas políticas deben estar en el hardware. En ese momento, podría no instalarse debido a una utilización excesiva. Elimine la política actual de todas las interfaces para reducir la utilización del hardware y, a continuación, continúe.

Comandos que se deben recopilar para TAC

Los problemas de recursos de hardware más comunes relacionados con la utilización de QoS se tratan en esta guía, con los pasos de remediación adecuados. Sin embargo, en caso de que esta guía no haya resuelto su problema, recopile la lista de comandos mostrada y adjúntela a su solicitud de servicio TAC.

- Adjunte el resultado completo o desinfectado de show tech-support y show tech-support qos a su solicitud de servicio, y detalles sobre cualquier paso que haya tomado o los cambios que haya realizado recientemente.

Información Relacionada

- Conozca los recursos de hardware de los switches Catalyst 9000

- Informe técnico sobre plataformas de switching Cisco Catalyst 9000: QoS y colas

- Soporte Técnico y Documentación - Cisco Systems

ID de errores de Cisco

ID de error de Cisco CSCvz54607 (C9200/C9200L (16.12) - Cola de salida sobrecargada debido a una programación de QoS incorrecta)

ID de error de Cisco CSCvz76172 (C9200/C9200L (17.3/17.6) - Cola de salida sobrecargada debido a una programación de QoS incorrecta)