Introduction
Ce document décrit comment graver la mémoire TCAM (ternary content-addressable memory) du Nexus 9000.
Informations générales
Ce document ne se veut pas une liste exhaustive des nombreuses combinaisons de TCAM. L'objectif de ce document est d'aider les utilisateurs à comprendre le fonctionnement de l'allocation TCAM afin qu'ils puissent déterminer des configurations valides qui répondent à leurs besoins. Il couvre les concepts, la configuration et les messages d'erreur les plus courants et actuels.
Pour utiliser une fonctionnalité autre que celle par défaut pour les commutateurs de la gamme Nexus 9000, vous devez supprimer manuellement l'espace TCAM pour les fonctionnalités. Par défaut, tout l'espace TCAM est alloué.
NOTE:
Le périphérique sur lequel ce document est basé n'est ni Cloud-Scale ni Cisco Silicon One. Par conséquent, il peut y avoir des variations dans les noms de région, les valeurs par défaut et d'autres éléments associés.
Terminologie
- Largeur de la fonction - Il existe des fonctions simple largeur et double largeur. Une fonction à largeur unique nécessite au moins une tranche. Une fonction double largeur nécessite au minimum deux tranches.
Pour les fonctions simple largeur et double largeur, la taille totale, si elle est supérieure à 256, doit être un multiple de 512. Une tranche ne peut être allouée qu'à une seule région.
Par exemple, vous ne pouvez pas utiliser une tranche de taille 512 pour configurer deux fonctionnalités de taille 256 chacune, ni utiliser une tranche de taille 512 pour configurer une fonctionnalité simple double largeur.
- Tranche : unité d'allocation de mémoire. Les tranches peuvent être de taille 256 ou 512, mesurées en octets.
- TCAM (Ternary Content Addressable Memory). Il s’agit de l’espace dans le matériel où les listes de contrôle d’accès (ACL) sont stockées. Il s'agit d'une mémoire spécialisée qui stocke des données tabulaires complexes et prend en charge des recherches parallèles très rapides.
Régions TCAM ACL
Vous pouvez modifier la taille des régions TCAM de la liste de contrôle d'accès dans le matériel. La taille TCAM de sortie est de 1000, divisée en quatre entrées de 256. La taille TCAM d'entrée est de 4K, divisée en huit tranches de 256 et quatre tranches de 512.
Les régions TCAM IPv4 ont une largeur unique. Les zones IPv6, QoS (Quality of Service), MAC, CoPP (Control-Plane Policing) et TCAM système ont une largeur double et consomment deux fois plus d'entrées TCAM physiques.
Par exemple, une taille de région logique de 256 entrées consomme en réalité 512 entrées TCAM physiques.
Vous pouvez créer des listes de contrôle d'accès IPv6, des listes de contrôle d'accès de port (PACL), des listes de contrôle d'accès VLAN (VACL) et des listes de contrôle d'accès de routeur (RACL), et vous pouvez faire correspondre les adresses IPv6 et MAC pour la qualité de service. Cependant, Cisco NX-OS ne peut pas tous les prendre en charge simultanément.
Vous devez supprimer ou réduire la taille des régions TCAM actuelles afin d'activer les régions TCAM IPv6 et MAC. Pour chaque commande de configuration de région TCAM, le système évalue si la nouvelle modification peut tenir dans la TCAM.
Si ce n'est pas le cas, une erreur est signalée et la commande est rejetée. Vous devez supprimer ou réduire la taille des régions TCAM actuelles pour faire de la place aux nouvelles exigences.
Les tailles des régions ACL TCAM sont soumises aux consignes et limitations suivantes :
- Sur les commutateurs de la gamme Cisco Nexus 9500, la configuration de région TCAM d'entrée par défaut comporte une tranche de 256 entrées libre dans Cisco NX-OS version 6.1(2)I1(1).
Cette tranche est allouée à la région SPAN (Switch Port Analyzer) dans Cisco NX-OS version 6.1(2)I2(1). De même, la région RACL est réduite de 2 000 à 1 500 dans Cisco NX-OS version 6.1(2)I2(1) afin de faire de la place pour la région de convergence port-channel virtuel (vPC) avec 512 entrées.
- Sur les commutateurs de la gamme Cisco Nexus 9300, la carte de ligne leaf de l'infrastructure axée sur les applications (ACI) est utilisée pour appliquer les politiques de classification QoS appliquées sur les ports 40G. Il dispose de 768 entrées TCAM disponibles pour graver en 256 entrées de granularité. Ces noms de région sont précédés de ns-.
- Pour la carte de ligne leaf ACI sur les commutateurs Cisco Nexus 9300, seules les régions TCAM IPv6 consomment des entrées de largeur double. Le reste des régions TCAM consomme des entrées de largeur simple.
- Lorsqu’une région VACL est configurée, elle est configurée avec la même taille dans les directions d’entrée et de sortie. Si la taille de la région ne peut s'adapter à aucune direction, la configuration est rejetée.
Les commutateurs des gammes Nexus 9300 et 9500 ont quatre tranches de 512 octets et huit tranches de 256 octets. Par défaut, toutes les tranches et tous les espaces sont utilisés, bien que l'allocation par défaut soit différente entre les séries Nexus 9300 et 9500.
Remarque : Le Nexus 9332PQ utilise la même allocation par défaut que le Nexus 9500.
Allocation TCAM pour la gamme Nexus 9500
Par défaut, les commutateurs de la gamme Nexus 9500 disposent de cette allocation TCAM :
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
----------------------------------------------------------------------
L'allocation de tranche est comme indiqué pour l'entrée :
Tranche 1 (512) : RACL
Tranche 2 (512) : RACL
Tranche 3 (512) : RACL
Tranche 4 (512) : Convergence VPC
Tranche 5 (256) : QoS de couche 3
Tranche 6 (256) : QoS de couche 3
Tranche 7 (256) : PORTÉE
Tranche 8 (256) : REDIRIGER
Tranche 9 (256) : CoPP d'entrée
Tranche 10 (256) : CoPP d'entrée
Tranche 11 (256) : Système D'Entrée
Tranche 12 (256) : Système D'Entrée
Utilisation en entrée conceptualisée :

Allocation TCAM pour la gamme Nexus 9300
Par défaut, les commutateurs de la gamme Nexus 9300 disposent de cette allocation TCAM :
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
----------------------------------------------------------------
Tranche 1 (512) : PACL IPv4
Tranche 2 (512) : VACL
Tranche 3 (512) : RACL
Tranche 4 (512) : Rediriger
Tranche 5 (256) : QoS du port
Tranche 6 (256) : QoS du port
Tranche 7 (256) : PORTÉE
Tranche 8 (256) : Convergence VPC
Tranche 9 (256) : CoPP d'entrée
Tranche 10 (256) : CoPP d'entrée
Tranche 11 (256) : Système D'Entrée
Tranche 12 (256) : Système D'Entrée
Utilisation en entrée conceptualisée :

Configuration
Afin de reconfigurer une région TCAM, utilisez la hardware access-list tcam region
commande dans le terminal de configuration. Une fois que vous avez modifié les zones pour qu'elles correspondent aux tailles prévues, vous devez recharger le périphérique.
Exemple de scénario
Vous disposez d'un commutateur Nexus 9300 et souhaitez allouer l'espace TCAM afin de répondre au mieux à vos besoins. Vous devez libérer 512 octets de TCAM. Cela vous permet d'en ajouter davantage à la liste de contrôle d'accès IPv4.
Cependant, vous décidez que vous n'avez pas besoin de 512 VACL ou de 512 RACL, mais que vous avez besoin de certains des deux, de sorte que vous décidez d'annuler l'allocation de 256 octets à partir de VACL et RACL. Cela libère de l'espace 512 comme le montrent ces commandes :
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
Avec 512 octets libres, vous essayez d'allouer 512 octets supplémentaires à la liste de contrôle d'accès IPv4, mais voyez ce résultat :
Nexus9300(config)# hardware access-list tcam region ifacl 1024
ERROR: Aggregate TCAM region configuration exceeded the available Ingress TCAM slices.
Please re-configure.
Bien que 512 octets aient été libérés, les espaces VACL et RACL, dont 256 ont été extraits, étaient de taille 512 blocs. Par conséquent, les commandes précédentes ont annulé l'allocation d'espace, mais n'ont annulé aucune tranche. Afin d'augmenter la taille de la liste de contrôle d'accès IPv4 à 1024, vous devez prendre 512 octets d'une seule fonctionnalité qui libère à la fois une tranche et de l'espace :
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
Commandes de vérification
show hardware access-list tcam region
- Vérifie la configuration logicielle actuelle.
show system internal access-list globals
- Vérifie la configuration matérielle actuelle.
show system internal access-list input entries detail -
Affiche les listes de contrôle d'accès spécifiques configurées pour chaque instance.
show hardware access-list resource utilization
- Affiche l'utilisation actuelle de chaque région TCAM configurée.
show hardware access-list resource entries
- Affiche le nombre d'entrées ACL configurées pour chaque instance
Erreurs et solutions
Voici les erreurs courantes observées lors de la configuration de TCAM :
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM slices. Please re-configure.
Cette erreur se produit lorsque vous essayez de configurer une quantité valide d'espace TCAM par rapport à la limite de 4 Ko, mais que votre allocation consomme plus de tranches que ce qui est disponible.
La seule solution pour cette erreur est de réviser votre conception TCAM globale afin de libérer des tranches.
Cette erreur est plus courante lorsque vous essayez de configurer une nouvelle fonctionnalité double largeur, car elles nécessitent au moins deux tranches de 256 ou 512.
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM space. Please re-configure.
Comme pour l'erreur de tranche, la solution consiste à reconfigurer l'espace alloué pour ne pas dépasser la limite totale. Ce message d'erreur s'affiche uniquement lorsque toutes les tranches TCAM ont déjà été allouées et que vous essayez d'allouer plus d'espace.
ERROR: TCAM regions with size more than 256, ... have size
in multiple of 512 entries
En raison de limitations matérielles, les tailles TCAM supérieures à 256 ne peuvent pas être combinées de manière à combiner un nombre impair de 256 blocs avec un bloc 512. Pour cette raison, lorsque vous configurez une région TCAM supérieure à 512, les seules tailles valides sont des multiples de 512.
Consignes et limites de conception
L'espace TCAM est limité. Le choix de ce qui vous convient le mieux dépend entièrement du cas d'utilisation spécifique. Par défaut, tout l'espace TCAM est déjà alloué. Vous devez donc décider où allouer de l'espace TCAM afin d'allouer ailleurs.
- Les utilisateurs ne peuvent pas réduire la quantité par défaut du système entrant et du TCAM CoPP. Elles sont déjà à la valeur minimale et ne peuvent pas être réduites.
- Toutes les fonctionnalités QoS sont à double largeur.
- Les cartes de stratégie SVI ne sont pas prises en charge.
Informations connexes