Einleitung
In diesem Dokument wird beschrieben, wie der ternäre Ternary Content Addressable Memory (TCAM) des Nexus 9000 erstellt wird.
Hintergrundinformationen
Dieses Dokument ist nicht als vollständige Liste der vielen TCAM-Kombinationen gedacht. Dieses Dokument soll den Benutzern die Funktionsweise der TCAM-Zuweisung verdeutlichen, damit sie gültige Konfigurationen für ihre Anforderungen ermitteln können. Es behandelt die aktuellen und gebräuchlichsten Konzepte, Konfigurationen und Fehlermeldungen.
Um eine vom Standard abweichende Funktion für Switches der Serie Nexus 9000 zu verwenden, muss manuell Platz im TCAM für die Funktionen reserviert werden. Standardmäßig wird der gesamte TCAM-Speicherplatz zugewiesen.
HINWEIS:
Das Gerät, auf dem dieses Dokument basiert, ist nicht Cloud-fähig oder basiert nicht auf Cisco Silicon One. Daher kann es Unterschiede bei Bereichsnamen, Standardwerten und anderen verwandten Elementen geben.
Terminologie
- KE-Breite - Es gibt KEs mit einfacher und doppelter Breite. Für eine Funktion mit einfacher Breite ist mindestens ein Segment erforderlich. Eine Funktion mit doppelter Breite erfordert mindestens zwei Abschnitte.
Sowohl für Funktionen mit einfacher als auch mit doppelter Breite muss die Gesamtgröße, wenn sie größer als 256 ist, ein Vielfaches von 512 sein. Ein Segment kann nur einem Bereich zugewiesen werden.
So können Sie z. B. weder ein Segment der Größe 512 zum Konfigurieren von zwei Features der Größe 256 verwenden, noch können Sie ein Segment der Größe 512 zum Konfigurieren eines einzelnen Features doppelter Breite verwenden.
- Segment - Eine Einheit der Speicherzuweisung. Slices können die Größe 256 oder 512 haben, gemessen in Byte.
- TCAM = Ternary Content Addressable Memory Dies ist der Hardwarebereich, in dem Zugriffslisten (ACLs) gespeichert werden. Dies ist ein spezieller Speicher, der komplexe Tabellendaten speichert und sehr schnelle parallele Suchvorgänge unterstützt.
ACL TCAM-Regionen
Sie können die Größe der ACL-TCAM-Bereiche in der Hardware ändern. Die Ausgangs-TCAM-Größe beträgt 1.000, unterteilt in vier 256 Einträge. Die Eingangs-TCAM-Größe beträgt 4.000, unterteilt in acht 256 Abschnitte und vier 512 Abschnitte.
Die IPv4-TCAM-Bereiche sind Single-Wide. Die IPv6-, QoS-, MAC-, CoPP- (Control Plane Policing) und System-TCAM-Bereiche sind doppelt so breit und belegen doppelt so viel wie die physischen TCAM-Einträge.
Beispiel: Eine logische Bereichsgröße von 256 Einträgen belegt 512 physische TCAM-Einträge.
Sie können IPv6, Port-ACLs (PACLs), VLAN-ACLs (VACLs) und Router-ACLs (RACLs) erstellen und IPv6- und MAC-Adressen für QoS zuordnen. Cisco NX-OS unterstützt jedoch nicht alle Anwendungen gleichzeitig.
Sie müssen die aktuellen TCAM-Bereiche entfernen oder verkleinern, um die IPv6- und MAC-TCAM-Bereiche zu aktivieren. Für jeden TCAM-Regionskonfigurationsbefehl prüft das System, ob die neue Änderung in den TCAM passt.
Wenn nicht, wird ein Fehler gemeldet, und der Befehl wird abgelehnt. Sie müssen die aktuellen TCAM-Bereiche entfernen oder verkleinern, um Platz für neue Anforderungen zu schaffen.
ACL TCAM-Regionsgrößen unterliegen den folgenden Richtlinien und Einschränkungen:
- Bei Cisco Nexus Switches der Serie 9500 ist in der Cisco NX-OS Version 6.1(2)I1(1) für die standardmäßige Eingangs-TCAM-Regionskonfiguration ein kostenloses Segment mit 256 Einträgen vorhanden.
Dieses Segment ist der SPAN-Region (Switch Port Analyzer) in Cisco NX-OS 6.1(2)I2(1) zugeordnet. Entsprechend wird die RACL-Region in der Cisco NX-OS-Version 6.1(2)I2(1) von 2.000 auf 1.500 reduziert, um Platz für die vPC-Konvergenzregion mit 512 Einträgen zu schaffen.
- Auf Cisco Nexus Switches der Serie 9300 wird die ACI-Leaf-Linecard (Application Centric Infrastructure) verwendet, um die QoS-Klassifizierungsrichtlinien durchzusetzen, die auf 40G-Ports angewendet werden. Es stehen 768 TCAM-Einträge zur Verfügung, die eine Genauigkeit von 256 Einträgen ermöglichen. Diesen Bereichsnamen wird ns- vorangestellt.
- Bei der ACI-Leaf-Linecard auf Cisco Nexus Switches der Serie 9300 werden doppeltbreite Einträge nur in den IPv6-TCAM-Regionen belegt. Für die übrigen TCAM-Regionen sind Einträge mit einfacher Breite erforderlich.
- Wenn ein VACL-Bereich konfiguriert ist, wird er mit derselben Größe sowohl in Eingangs- als auch in Ausgangsrichtung konfiguriert. Wenn die Regionsgröße nicht in beide Richtungen passen kann, wird die Konfiguration abgelehnt.
Sowohl die Nexus Switches der Serien 9300 als auch 9500 verfügen über vier Abschnitte mit einer Größe von 512 Byte und acht Abschnitte mit einer Größe von 256 Byte. Standardmäßig werden alle Slices und der gesamte Speicherplatz verwendet, obwohl die Standardzuweisung für die Nexus Serie 9300 und die Serie 9500 unterschiedlich ist.
Anmerkung: Der Nexus 9332PQ verwendet dieselbe Standardzuweisung wie der Nexus 9500.
TCAM-Zuweisung für Nexus Serie 9500
Die Switches der Serie Nexus 9500 verfügen standardmäßig über diese TCAM-Zuweisung:
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
----------------------------------------------------------------------
Die Slice-Zuordnung erfolgt wie für den Eingang dargestellt:
Segment 1 (512): RACL
Segment 2 (512): RACL
Segment 3 (512): RACL
Segment 4 (512): VPC-Konvergenz
Segment 5 (256): Layer-3-QoS
Segment 6 (256): Layer-3-QoS
Abschnitt 7 (256): SPAN
Abschnitt 8 (256): UMLEITEN
Segment 9 (256): Eingangs-CoPP
Segment 10 (256): Eingangs-CoPP
Segment 11 (256): Eingangssystem
Segment 12 (256): Eingangssystem
Konzipierte Auslastung des Eingangs:

TCAM-Zuweisung für die Nexus Serie 9300
Die Switches der Serie Nexus 9300 verfügen standardmäßig über diese TCAM-Zuweisung:
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
----------------------------------------------------------------
Segment 1 (512): IPv4-PACL
Segment 2 (512): VACL
Segment 3 (512): RACL
Segment 4 (512): Umleiten
Segment 5 (256): Port-QoS
Segment 6 (256): Port-QoS
Abschnitt 7 (256): SPAN
Abschnitt 8 (256): VPC-Konvergenz
Segment 9 (256): Eingangs-CoPP
Segment 10 (256): Eingangs-CoPP
Segment 11 (256): Eingangssystem
Segment 12 (256): Eingangssystem
Konzipierte Auslastung des Eingangs:

Konfiguration
Um einen TCAM-Bereich neu zu konfigurieren, verwenden Sie den hardware access-list tcam region
Befehl im Konfigurationsterminal. Nachdem Sie die Regionen in die beabsichtigten Größen geändert haben, müssen Sie das Gerät neu laden.
Beispielszenario
Sie verfügen über einen Nexus 9300 und möchten den TCAM-Bereich Ihren Anforderungen entsprechend bereitstellen. Sie müssen 512 Byte TCAM kostenlos. Auf diese Weise können Sie IPv4 PACL weitere hinzufügen.
Sie entscheiden sich jedoch, dass Sie nicht benötigen 512 VACL oder 512 RACL, sondern benötigen einige von beiden, sodass Sie sich entscheiden, 256 Bytes von VACL und RACL freizugeben. Dadurch wird 512 Speicherplatz freigegeben, wie die folgenden Befehle zeigen:
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
Bei 512 Byte freiem Speicherplatz versuchen Sie, eine zusätzliche 512 IPv4-PACLs zuzuweisen. Die folgende Ausgabe wird jedoch angezeigt:
Nexus9300(config)# hardware access-list tcam region ifacl 1024
ERROR: Aggregate TCAM region configuration exceeded the available Ingress TCAM slices.
Please re-configure.
Obwohl 512 Bytes freigegeben wurden, waren sowohl der VACL- als auch der RACL-Raum, aus dem 256 gezogen wurden, 512 Blöcke groß. Daher haben die vorherigen Befehle den zugewiesenen Speicherplatz freigegeben, aber die Zuweisung von Slices nicht aufgehoben. Um die IPv4-PACL-Größe auf 1024 zu erhöhen, müssen Sie von einer einzelnen Funktion 512 Byte benötigen, wodurch sowohl ein Segment als auch Platz frei werden:
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
Überprüfungsbefehle
show hardware access-list tcam region
- Überprüft die aktuelle Softwarekonfiguration.
show system internal access-list globals
- Überprüft die aktuelle Hardwarekonfiguration.
show system internal access-list input entries detail -
Zeigt die spezifischen, für jede Instanz konfigurierten ACLs an.
show hardware access-list resource utilization
- Zeigt die aktuelle Nutzung jeder konfigurierten TCAM-Region an.
show hardware access-list resource entries
- Zeigt die Anzahl der für jede Instanz konfigurierten ACL-Einträge an
Fehler und Lösungen
Dies sind die häufigsten Fehler, die während der TCAM-Konfiguration auftreten:
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM slices. Please re-configure.
Dieser Fehler tritt auf, wenn Sie versuchen, einen gültigen TCAM-Speicherplatz in Bezug auf die Beschränkung auf 4.000 zu konfigurieren. Ihre Zuweisung nimmt jedoch mehr Abschnitte in Anspruch, als verfügbar sind.
Die einzige Lösung für diesen Fehler besteht darin, Ihr TCAM-Gesamtdesign zu überarbeiten, um Slices freizugeben.
Dieser Fehler tritt häufiger auf, wenn Sie versuchen, eine neue Funktion mit doppelter Breite zu konfigurieren, da diese mindestens zwei Abschnitte mit 256 oder 512 erfordert.
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM space. Please re-configure.
Ähnlich wie beim Slicefehler besteht die Lösung darin, den zugewiesenen Speicherplatz so neu zu konfigurieren, dass er den Gesamtgrenzwert nicht überschreitet. Diese Fehlermeldung wird nur angezeigt, wenn alle TCAM-Slices bereits zugewiesen wurden und Sie versuchen, mehr Speicherplatz zuzuweisen.
ERROR: TCAM regions with size more than 256, ... have size
in multiple of 512 entries
Aufgrund von Hardware-Einschränkungen können TCAM-Größen größer als 256 nicht in einer Weise kombiniert werden, die eine ungerade Anzahl von 256 Blöcken mit einem 512-Block kombiniert. Aus diesem Grund sind die einzigen gültigen Größen Vielfache von 512, wenn Sie eine TCAM-Region konfigurieren, die größer als 512 ist.
Design-Richtlinien und -Einschränkungen
Der TCAM-Speicherplatz ist begrenzt. Die Auswahl der für Sie am besten geeigneten Lösungen hängt vollständig von dem jeweiligen Anwendungsfall ab. Standardmäßig ist der gesamte TCAM-Speicherplatz bereits zugewiesen. Sie müssen also entscheiden, wo Sie den TCAM-Speicherplatz zuweisen möchten, um ihn an anderer Stelle zuzuweisen.
- Die Standardmenge des Eingangssystems und des CoPP-TCAM kann nicht reduziert werden. Diese sind bereits auf dem Mindestwert und können nicht reduziert werden.
- Alle QoS-Funktionen haben doppelte Breite.
- SVI-Richtlinienzuweisungen werden nicht unterstützt.
Zugehörige Informationen