Contenido

Introducción

Antecedentes

Terminology

Regiones TCAM de ACL

Asignación de TCAM de Nexus serie 9500

Asignación de TCAM de Nexus serie 9300

Configuración

Situación de ejemplo

Comandos de verificación

Errores y soluciones

Limitaciones y directrices de diseño

Información Relacionada

Introducción

Este documento describe cómo dividir la memoria direccionable por contenido ternario (TCAM) de Nexus 9000.

Antecedentes

Este documento no pretende ser una lista exhaustiva de las muchas combinaciones TCAM. El propósito de este documento es ayudar a los usuarios a entender cómo funciona la asignación TCAM para que puedan determinar configuraciones válidas que satisfagan sus necesidades. Trata los conceptos, la configuración y los mensajes de error más comunes y actuales.

Para utilizar una función no predeterminada para los switches Nexus serie 9000, se debe crear manualmente espacio TCAM para las funciones. De forma predeterminada, se asigna todo el espacio TCAM.

Terminology

- Feature Width - Hay funciones de ancho simple y ancho doble.  Una función de ancho único requiere un mínimo de un sector.  Una función de ancho doble requiere, como mínimo, dos porciones.

Tanto para las funciones de ancho simple como para las de ancho doble, el tamaño total, si es superior a 256, debe ser un múltiplo de 512. Una división sólo se puede asignar a una región.

Por ejemplo, no puede utilizar un sector de tamaño 512 para configurar dos funciones de tamaño 256 cada una, ni puede utilizar un sector de tamaño 512 para configurar una única función de ancho doble.

- Sector: unidad de asignación de memoria. Las porciones pueden ser del tamaño 256 o del tamaño 512, medido en bytes.

- TCAM - Memoria direccionable de contenido ternario.  Este es el espacio del hardware donde se almacenan las listas de acceso (ACL).  Se trata de una memoria especializada que almacena datos tabulares complejos y admite búsquedas paralelas muy rápidas.

Regiones TCAM de ACL

Puede cambiar el tamaño de las regiones TCAM de ACL en el hardware. El tamaño de TCAM de salida es 1K, dividido en cuatro entradas 256. El tamaño de TCAM de entrada es de 4K, dividido en ocho 256 porciones y cuatro 512 porciones.

Las regiones TCAM IPv4 son de ancho único. Las regiones IPv6, calidad de servicio (QoS), MAC, políticas de plano de control (CoPP) y TCAM del sistema son de ancho doble y consumen el doble de entradas TCAM físicas.

Por ejemplo, un tamaño de región lógica de 256 entradas consume realmente 512 entradas físicas de TCAM.

Puede crear IPv6, ACL de puerto (PACL), ACL de VLAN (VACL) y ACL de router (RACL), y puede hacer coincidir las direcciones IPv6 y MAC para QoS. Sin embargo, Cisco NX-OS no es compatible con todos ellos de forma simultánea.

Debe eliminar o reducir el tamaño de las regiones TCAM actuales para habilitar las regiones TCAM IPv6 y MAC. Para cada comando de configuración de región TCAM, el sistema evalúa si el nuevo cambio puede caber en TCAM.

Si no es así, informa de un error y se rechaza el comando. Debe eliminar o reducir el tamaño de las regiones TCAM actuales para dejar espacio para nuevos requisitos.

Los tamaños de región TCAM de ACL tienen estas directrices y limitaciones:

- En los switches Nexus de Cisco serie 9500, la configuración regional TCAM de entrada predeterminada tiene una parte de 256 entradas libre en Cisco NX-OS versión 6.1(2)I1(1).

Este segmento se asigna a la región del analizador de puertos de switch (SPAN) en Cisco NX-OS versión 6.1(2)I2(1). Del mismo modo, la región RACL se reduce de 2000 a 1500 en Cisco NX-OS versión 6.1(2)I2(1) para dejar espacio a la región de convergencia de canal de puerto virtual (vPC) con 512 entradas.

- En los switches Nexus de Cisco serie 9300, la tarjeta de línea de hoja de la infraestructura centrada en aplicaciones (ACI) se utiliza para aplicar las políticas de clasificación de QoS aplicadas en los puertos 40 G. Tiene 768 entradas TCAM disponibles para tallar en granularidad de 256 entradas. Estos nombres de región llevan el prefijo "ns-".

- En el caso de la tarjeta de línea de hoja de ACI en los switches Nexus de Cisco serie 9300, solo las regiones TCAM IPv6 consumen entradas de ancho doble. El resto de las regiones TCAM consumen entradas de ancho único.

- Cuando se configura una región VACL, se configura con el mismo tamaño en las direcciones de ingreso y egreso. Si el tamaño de región no cabe en ninguna dirección, se rechaza la configuración.

Los switches Nexus serie 9300 y 9500 tienen cuatro porciones de tamaño de 512 bytes y ocho porciones de tamaño de 256 bytes.  De forma predeterminada, se utilizan todos los segmentos y todo el espacio, aunque la asignación predeterminada es diferente entre Nexus serie 9300 y serie 9500.

Nota: Nexus 9332PQ utiliza la misma asignación predeterminada que Nexus 9500.

Asignación de TCAM de Nexus serie 9500

Los switches Nexus serie 9500 tienen esta asignación TCAM de forma predeterminada:

Nexus9500# show system internal access-list globals

slot  1

=======

Atomic Update : ENABLED

Default ACL   : DENY

Bank Chaining : DISABLED

Fabric path DNL : DISABLED

NS Buffer Profile: Mesh optimized

Min Buffer Profile: all

EOQ Class Stats: qos-group-0

NS MCQ3 Alias: qos-group-3

Ing PG Share: ENABLED

LOU Threshold Value : 5

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

INSTANCE 0 TCAM Region Information:

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

Ingress:

----------

Region            GID     Base     Size     Width

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

IPV4 PACL [ifacl]      3        0        0        1

IPV6 PACL [ipv6-ifacl]      4        0        0        2

MAC PACL [mac-ifacl]      5        0        0        2

IPV4 Port QoS [qos]      6        0        0        2

IPV6 Port QoS [ipv6-qos]      7        0        0        2

MAC Port QoS [mac-qos]      8        0        0        2

FEX IPV4 PACL [fex-ifacl]      9        0        0        1

FEX IPV6 PACL [fex-ipv6-ifacl]     10        0        0        2

FEX MAC PACL [fex-mac-ifacl]     11        0        0        2

FEX IPV4 Port QoS [fex-qos]     12        0        0        2

FEX IPV6 Port QoS [fex-ipv6-qos]     13        0        0        2

FEX MAC Port QoS [fex-mac-qos]     14        0        0        2

IPV4 VACL [vacl]     15        0        0        1

IPV6 VACL [ipv6-vacl]     16        0        0        2

MAC VACL [mac-vacl]     17        0        0        2

IPV4 VLAN QoS [vqos]     18        0        0        2

IPV6 VLAN QoS [ipv6-vqos]     19        0        0        2

MAC VLAN QoS [mac-vqos]     20        0        0        2

IPV4 RACL [racl]     21        0     1536        1

IPV6 RACL [ipv6-racl]     22        0        0        2

IPV4 Port QoS Lite [qos-lite]     61        0        0        1

FEX IPV4 Port QoS Lite [fex-qos-lite]     62        0        0        1

IPV4 VLAN QoS Lite [vqos-lite]     63        0        0        1

IPV4 L3 QoS Lite [l3qos-lite]     64        0        0        1

IPV4 L3 QoS [l3qos]     37     3072      256        2

IPV6 L3 QoS [ipv6-l3qos]     38        0        0        2

MAC L3 QoS [mac-l3qos]     39        0        0        2

Ingress System      1     2048      256        2

SPAN [span]      2     4096      256        1

Ingress COPP [copp]     40     2560      256        2

Ingress Flow Counters [flow]     43        0        0        1

Ingress SVI Counters [svi]     45        0        0        1

Redirect [redirect]     46     3840      256        1

NS IPV4 Port QoS [ns-qos]     47        0        0        1

NS IPV6 Port QoS [ns-ipv6-qos]     48        0        0        2

NS MAC Port QoS [ns-mac-qos]     49        0        0        1

NS IPV4 VLAN QoS [ns-vqos]     50        0        0        1

NS IPV6 VLAN QoS [ns-ipv6-vqos]     51        0        0        2

NS MAC VLAN QoS [ns-mac-vqos]     52        0        0        1

NS IPV4 L3 QoS [ns-l3qos]     53        0        0        1

NS IPV6 L3 QoS [ns-ipv6-l3qos]     54        0        0        2

NS MAC L3 QoS [ns-mac-l3qos]     55        0        0        1

VPC Convergence [vpc-convergence]     57     1536      512        1

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

* - allocated 512 entry slice due to unavailability of 256 entry slices

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

Total: 4096

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

Egress

----------

Region            GID     Base     Size     Width

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

Egress IPV4 VACL [vacl]     31        0        0        1

Egress IPV6 VACL [ipv6-vacl]     32        0        0        2

Egress MAC VACL [mac-vacl]     33        0        0        2

Egress IPV4 RACL [e-racl]     34     4352      768        1

Egress IPV6 RACL [e-ipv6-racl]     35        0        0        2

Egress System     24     3584      256        1

Egress Flow Counters [e-flow]     44        0        0        1

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

Total: 1024

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

La asignación de segmentos es la siguiente para el ingreso:

Segmento 1 (512): RACL

Segmento 2 (512): RACL

Segmento 3 (512): RACL

Sector 4 (512): convergencia de VPC

Sector 5 (256): QOS de capa 3

Sector 6 (256): QOS de capa 3

Segmento 7 (256): SPAN

Sección 8 (256): REDIRIGIR

Segmento 9 (256): CoPP de entrada

Segmento 10 (256): CoPP de entrada

Sector 11 (256): Sistema de entrada

Segmento 12 (256): Sistema de entrada

Utilización de entrada conceptualizada:

Asignación de TCAM de Nexus serie 9300

Los switches Nexus serie 9300 tienen esta asignación TCAM de forma predeterminada:

Nexus9300# show system internal access-list globals

slot  1

=======

Atomic Update : ENABLED

Default ACL   : DENY

Bank Chaining : DISABLED

Fabric path DNL : DISABLED

NS Buffer Profile: Burst optimized

Min Buffer Profile: all

EOQ Class Stats: qos-group-0

NS MCQ3 Alias: qos-group-3

Ing PG Share: ENABLED

LOU Threshold Value : 5

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

INSTANCE 0 TCAM Region Information:

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

Ingress:

----------

Region                      GID     Base     Size     Width

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

IPV4 PACL [ifacl](   1)       3        0      512        1

IPV6 PACL [ipv6-ifacl](   2)       4        0        0        2

MAC PACL [mac-ifacl](   3)       5        0        0        2

IPV4 Port QoS [qos](   4)       6     3072      256        2

IPV6 Port QoS [ipv6-qos](   5)       7        0        0        2

MAC Port QoS [mac-qos](   6)       8        0        0        2

FEX IPV4 PACL [fex-ifacl](   7)       9        0        0        1

FEX IPV6 PACL [fex-ipv6-ifacl](   8)      10        0        0        2

FEX MAC PACL [fex-mac-ifacl](   9)      11        0        0        2

FEX IPV4 Port QoS [fex-qos](  10)      12        0        0        2

FEX IPV6 Port QoS [fex-ipv6-qos](  11)      13        0        0        2

FEX MAC Port QoS [fex-mac-qos](  12)      14        0        0        2

IPV4 VACL [vacl](  13)      15      512      512        1

IPV6 VACL [ipv6-vacl](  14)      16        0        0        2

MAC VACL [mac-vacl](  15)      17        0        0        2

IPV4 VLAN QoS [vqos](  16)      18        0        0        2

IPV6 VLAN QoS [ipv6-vqos](  17)      19        0        0        2

MAC VLAN QoS [mac-vqos](  18)      20        0        0        2

IPV4 RACL [racl](  19)      21     1024      512        1

IPV6 RACL [ipv6-racl](  20)      22        0        0        2

IPV4 Port QoS Lite [qos-lite](  21)      63        0        0        1

FEX IPV4 Port QoS Lite [fex-qos-lite](  22)      64        0        0        1

IPV4 VLAN QoS Lite [vqos-lite](  23)      65        0        0        1

IPV4 L3 QoS Lite [l3qos-lite](  24)      66        0        0        1

IPV4 L3 QoS [l3qos](  34)      37        0        0        2

IPV6 L3 QoS [ipv6-l3qos](  35)      38        0        0        2

MAC L3 QoS [mac-l3qos](  36)      39        0        0        2

Ingress System(  37)       1     2048      256        2

SPAN [span](  39)       2     3584      256        1

Ingress COPP [copp](  40)      40     2560      256        2

Ingress Flow Counters [flow](  41)      43        0        0        1

Ingress SVI Counters [svi](  43)      45        0        0        1

Redirect [redirect](  44)      46     1536      512        1

NS IPV4 Port QoS [ns-qos](  45)      47        0        0        1

NS IPV6 Port QoS [ns-ipv6-qos](  46)      48        0        0        2

NS MAC Port QoS [ns-mac-qos](  47)      49        0        0        1

NS IPV4 VLAN QoS [ns-vqos](  48)      50        0        0        1

NS IPV6 VLAN QoS [ns-ipv6-vqos](  49)      51        0        0        2

NS MAC VLAN QoS [ns-mac-vqos](  50)      52        0        0        1

NS IPV4 L3 QoS [ns-l3qos](  51)      53        0        0        1

NS IPV6 L3 QoS [ns-ipv6-l3qos](  52)      54        0        0        2

NS MAC L3 QoS [ns-mac-l3qos](  53)      55        0        0        1

VPC Convergence [vpc-convergence](  54)      57     4096      256        1

IPSG SMAC-IP bind table [ipsg](  55)      59        0        0        1

Ingress ARP-Ether ACL [arp-ether](  56)      62        0        0        1

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

* - allocated 512 entry slice due to unavailability of 256 entry slices

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

Total: 4096

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

Egress

----------

Region                  GID     Base     Size     Width

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

Egress IPV4 QoS [e-qos](  25)      28        0        0        2

Egress IPV6 QoS [e-ipv6-qos](  26)      29        0        0        2

Egress MAC QoS [e-mac-qos](  27)      30        0        0        2

Egress IPV4 VACL [vacl](  28)      31     4352      512        1

Egress IPV6 VACL [ipv6-vacl](  29)      32        0        0        2

Egress MAC VACL [mac-vacl](  30)      33        0        0        2

Egress IPV4 RACL [e-racl](  31)      34     4864      256        1

Egress IPV6 RACL [e-ipv6-racl](  32)      35        0        0        2

Egress IPV4 QoS Lite [e-qos-lite](  33)      36        0        0        1

Egress System(  38)      24     3840      256        1

Egress Flow Counters [e-flow](  42)      44        0        0        1

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

Total: 1024

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

Segmento 1 (512): PACL IPv4

Segmento 2 (512): VACL

Segmento 3 (512): RACL

Sector 4 (512): redirección

Sector 5 (256): QoS de puerto

Segmento 6 (256): QoS de puerto

Segmento 7 (256): SPAN

Segmento 8 (256): convergencia de VPC

Segmento 9 (256): CoPP de entrada

Segmento 10 (256): CoPP de entrada

Sector 11 (256): Sistema de entrada

Segmento 12 (256): Sistema de entrada

Utilización de entrada conceptualizada:

Configuración

Para reconfigurar una región TCAM, utilice el hardware access-list tcam region

comando en el terminal de configuración. Una vez que haya cambiado las regiones para que tengan los tamaños previstos, debe volver a cargar el dispositivo.

Situación de ejemplo

Tiene un Nexus 9300 y desea asignar el espacio TCAM para que se adapte mejor a sus necesidades. Debe liberar 512 bytes de TCAM. Esto le permite agregar más a IPv4 PACL.

Sin embargo, usted decide que no necesita 512 VACL o 512 RACL, pero necesita algunos de ambos, por lo que decide desasignar 256 bytes de VACL y RACL. Esto libera 512 espacios como muestran estos comandos:

Nexus9300(config)# hardware access-list tcam region vacl 256

Warning: Please save config and reload the system for the configuration to take effect

Nexus9300(config)# hardware access-list tcam region racl 256

Warning: Please save config and reload the system for the configuration to take effect

Con 512 bytes libres, intenta asignar 512 bytes adicionales a IPv4 PACL, pero observe este resultado:

Nexus9300(config)# hardware access-list tcam region ifacl 1024

ERROR: Aggregate TCAM region configuration exceeded the available Ingress TCAM slices.

Please re-configure.

A pesar de que se liberaron 512 bytes, tanto el espacio VACL como el RACL, de los que se extrajeron 256, tenían un tamaño de 512 bloques.  Como tal, los comandos anteriores no asignaban espacio, pero no desasignaban ningún sector.  Para aumentar el tamaño de PACL IPv4 a 1024, necesita tomar 512 bytes de una sola función que libera tanto una porción como espacio:

Nexus9300(config)# hardware access-list tcam region vacl 512

Warning: Please save config and reload the system for the configuration to take effect

Nexus9300(config)# hardware access-list tcam region racl 0

Warning: Please save config and reload the system for the configuration to take effect

Nexus9300(config)# hardware access-list tcam region ifacl 1024

Warning: Please save config and reload the system for the configuration to take effect

Comandos de verificación

- show hardware access-list tcam region - Verifica la configuración actual del software

- show system internal access-list globals - Verifica la configuración de hardware actual

- show system internal access-list input entries detail - Muestra las ACL específicas configuradas para cada instancia

- show hardware access-list resource utilization - Muestra la utilización actual de cada región TCAM configurada

- show hardware access-list resource entries - Muestra el número de entradas de ACL configuradas para cada instancia

Errores y soluciones

Estos son los errores comunes observados durante la configuración de TCAM:

ERROR: Aggregate TCAM region configuration exceeded the available

Ingress TCAM slices. Please re-configure.

Este error ocurre cuando intenta configurar una cantidad válida de espacio TCAM con respecto al límite de 4k, pero su asignación consume más segmentos de los disponibles.

La única solución para este error es revisar su diseño TCAM general para liberar porciones.

Este error es más común cuando se intenta configurar una nueva función de ancho doble, ya que requieren al menos dos segmentos de 256 o 512.

ERROR: Aggregate TCAM region configuration exceeded the available

Ingress TCAM space. Please re-configure.

De forma similar al error de división, la solución consiste en volver a configurar el espacio asignado para que no supere el límite total. Este mensaje de error sólo aparece cuando ya se han asignado todos los segmentos TCAM e intenta asignar más espacio.

ERROR: TCAM regions with size more than 256, ... have size

in multiple of 512 entries

Debido a las limitaciones de hardware, los tamaños de TCAM superiores a 256 no se pueden combinar de ninguna manera que combine un número impar de 256 bloques con un bloque 512. Por esta razón, cuando configura una región TCAM que es mayor que 512, los únicos tamaños válidos son múltiplos de 512.

Limitaciones y directrices de diseño

El espacio de TCAM es limitado. La elección de lo que es mejor para usted depende completamente del caso de uso específico. De forma predeterminada, todo el espacio de TCAM ya está asignado, por lo que debe decidir dónde desea asignar el espacio de TCAM para asignarlo a otro lugar.

- En el caso de la entrada, cuatro de las ocho porciones de tamaño 256 disponibles no se pueden desasignar (utilizadas por CoPP y el sistema de entrada).

- SPAN utiliza una porción 256. Si toma prestado de esto, elimina la capacidad de utilizar las funciones SPAN y Packet-Tracer completamente (no se recomienda eliminarlas para solucionar problemas).

- Se utiliza un segmento de tamaño 256 o 512 para vPC en las plataformas Nexus 9300 y 9500, respectivamente. Una reasignación elimina la capacidad de utilizar vPC

- Para la redirección en las plataformas Nexus 9300 y 9500 se utiliza una división de tamaño 512 o 256, respectivamente. Si toma prestado de esto, se elimina la capacidad de utilizar DHCPv4, DHCPv6 o BFD.

- Si las actualizaciones atómicas están habilitadas y tiene más del 50% de utilización para una función TCAM, no puede eliminar una línea de ninguna ACL debido a la falta de espacio.

- De forma predeterminada, la política de QoS aplicada en varias interfaces no comparte la etiqueta, ya que las estadísticas están habilitadas de forma predeterminada. Para compartir la etiqueta de la misma política de QoS aplicada en varias interfaces, debe configurar la política de QoS con la opción no-stats, como se muestra en este ejemplo:
(config-if)# service-policy type qos input my-policy no-stats

- Siempre que sea posible, utilice la versión básica de las funciones. Con las versiones básicas, el switch utiliza la mitad del espacio TCAM para esa función. Esto hace que una función de ancho doble sea de ancho único.

El coste es que la función no realiza un seguimiento de las estadísticas del regulador infringidas; solo realiza un seguimiento de las estadísticas del regulador conformadas. Esta suele ser la mejor opción, ya que ahorra espacio TCAM.

- Los usuarios no pueden reducir la cantidad predeterminada de TCAM CoPP y Sistema de entrada. Estos ya se encuentran en el valor mínimo y no pueden reducirse.

- Todas las funciones de QoS son de ancho doble.

- No se admiten mapas de políticas SVI.

Información Relacionada

- Guía de configuración de la división TCAM de Nexus 9000

- Regiones TCAM de ACL de Nexus 9000

- Soporte técnico y descargas de Cisco