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. Cubre los conceptos, la configuración y los mensajes de error actuales y más comunes.
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.
NOTE:
El dispositivo en el que se basa este documento no es Cloud-Scale ni Cisco Silicon One. Por lo tanto, puede haber variaciones en los nombres de las regiones, los valores predeterminados y otros elementos relacionados.
Terminology
- Feature Width (Ancho de función): Existen funciones de ancho único y de 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 único 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 TCAM de sistema, calidad de servicio (QoS), MAC, políticas de plano de control (CoPP) e IPv6 tienen un 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: El Nexus 9332PQ utiliza la misma asignación predeterminada que el 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 del sector es la que se muestra para el ingreso:
Sector 1 (512): RACL
Segmento 2 (512): RACL
Sección 3 (512): RACL
Sección 4 (512): Convergencia de VPC
Sección 5 (256): QOS de capa 3
Sección 6 (256): QOS de capa 3
Segmento 7 (256): TRAMO
Porción 8 (256): REDIRECCIONAR
Porción 9 (256): CoPP de entrada
Sección 10 (256): CoPP de entrada
Sección 11 (256): Sistema de ingreso
Sección 12 (256): Sistema de ingreso
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
----------------------------------------------------------------
Sector 1 (512): PACL IPv4
Segmento 2 (512): VACL
Sección 3 (512): RACL
Sección 4 (512): Redireccionar
Sección 5 (256): QOS de puerto
Sección 6 (256): QOS de puerto
Segmento 7 (256): TRAMO
Porción 8 (256): Convergencia de VPC
Porción 9 (256): CoPP de entrada
Sección 10 (256): CoPP de entrada
Sección 11 (256): Sistema de ingreso
Sección 12 (256): Sistema de ingreso
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 asignaron espacio, pero no anularon la asignación de 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 de software actual.
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.
- 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