Table des matières

Introduction

Informations générales

Terminologie

Régions TCAM ACL

Allocation TCAM pour la gamme Nexus 9500

Allocation TCAM pour la gamme Nexus 9300

Configuration

Exemple de scénario

Commandes de vérification

Erreurs et solutions

Consignes et limites de conception

Informations connexes

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.

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é.

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é ci-dessous 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) : SPAN

Tranche 8 (256) : REDIRECTION

Tranche 9 (256) : entrée CoPP

Tranche 10 (256) : entrée CoPP

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) : redirection

Tranche 5 (256) : QoS des ports

Tranche 6 (256) : QoS du port

Tranche 7 (256) : SPAN

Tranche 8 (256) : convergence VPC

Tranche 9 (256) : entrée CoPP

Tranche 10 (256) : entrée CoPP

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 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.  Ainsi, les commandes précédentes ont annulé l'espace alloué, 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.

- Dans le cas d'une entrée, quatre des huit tranches de taille 256 disponibles ne peuvent pas être annulées (utilisées par le CoPP et le système d'entrée).

- La fonctionnalité SPAN utilise une tranche de 256. Si vous empruntez à ce système, il vous empêche d’utiliser complètement les fonctionnalités SPAN et Packet-Tracer (ce qui n’est pas recommandé pour le dépannage).

- Une tranche de taille 256 ou 512 est utilisée pour vPC sur les plates-formes Nexus 9300 et 9500, respectivement. Une réallocation supprime la possibilité d'utiliser le vPC

- Une tranche de taille 512 ou 256 est utilisée pour la redirection sur les plates-formes Nexus 9300 et 9500, respectivement. Si vous empruntez à cette option, elle supprime la possibilité d'utiliser DHCPv4, DHCPv6 ou BFD.

- Si les mises à jour atomiques sont activées et que vous utilisez plus de 50 % d'une fonctionnalité TCAM, vous ne pouvez pas supprimer une ligne d'une liste de contrôle d'accès en raison d'un manque d'espace.

- Par défaut, la stratégie QoS appliquée sur plusieurs interfaces ne partage pas l'étiquette, car les statistiques sont activées par défaut. Afin de partager l'étiquette pour la même stratégie QoS appliquée sur plusieurs interfaces, vous devez configurer la stratégie QoS avec l'option no-stats comme le montre cet exemple :
(config-if)# service-policy type qos input my-policy no-stats

- Dans la mesure du possible, utilisez la version de base des fonctionnalités. Avec les versions de base, le commutateur utilise la moitié de l'espace TCAM pour cette fonction. Cela fait qu'une fonction double largeur est simple largeur.

Le coût est que la fonctionnalité ne conserve pas la trace des statistiques de régulateur violées ; elle conserve uniquement la trace des statistiques de régulateur conformes. C'est généralement la meilleure option car elle économise de l'espace TCAM.

- 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

- Guide de configuration de la découpe TCAM du Nexus 9000

- Régions TCAM ACL Nexus 9000

- Assistance technique de Cisco et téléchargements