Inleiding
In dit document wordt beschreven hoe u Nexus 9000 ternaire inhoud-adresseerbaar geheugen (TCAM) kunt snijden.
Achtergrondinformatie
Dit document is niet bedoeld als een uitputtende lijst van de vele TCAM-combinaties. Het doel van dit document is om gebruikers te helpen begrijpen hoe de TCAM-toewijzing werkt, zodat ze geldige configuraties kunnen bepalen die aan hun behoeften voldoen. Het behandelt de huidige en meest voorkomende concepten, configuratie en foutmeldingen.
Om een niet-standaardfunctie te gebruiken voor Nexus 9000-switches, moet u handmatig TCAM-ruimte voor de functies uitsnijden. Standaard wordt alle TCAM-ruimte toegewezen.
OPMERKING:
Het apparaat waarop dit document is gebaseerd, is niet Cloud-Scale of Cisco Silicon One. Daarom kunnen er variaties zijn in regionamen, standaardwaarden en andere gerelateerde elementen.
Terminologie
- Kenmerken Breedte - Er zijn functies met een enkele breedte en dubbele breedte. Voor een functie met één breedte is minimaal één segment vereist. Voor een functie met dubbele breedte zijn minimaal twee segmenten nodig.
Voor functies met een enkele en dubbele breedte moet de totale grootte, indien groter dan 256, een veelvoud van 512 zijn. Een segment kan slechts aan één regio worden toegewezen.
U kunt bijvoorbeeld geen segment met de grootte 512 gebruiken om twee functies van elk formaat 256 te configureren, en u kunt ook geen segment met de grootte 512 gebruiken om een enkele functie met dubbele breedte te configureren.
- Slice - Een eenheid voor geheugentoewijzing. Slices kunnen een grootte hebben van 256 of 512, gemeten in bytes.
- TCAM - Ternaire inhoud adresseerbaar geheugen. Dit is de ruimte in de hardware waar toegangslijsten (ACL's) worden opgeslagen. Dit is een gespecialiseerd stukje geheugen dat complexe tabelgegevens opslaat en zeer snelle parallelle opzoekingen ondersteunt.
ACL TCAM-regio's
U kunt de grootte van de ACL TCAM-gebieden in de hardware wijzigen. De grootte van de uitgang TCAM is 1K, verdeeld in vier 256 vermeldingen. De grootte van de ingress TCAM is 4K, verdeeld in acht 256 plakjes en vier 512 plakjes.
De IPv4 TCAM-regio's zijn één breed. De IPv6, Quality of Service (QoS), MAC, Control-Plane Policing (CoPP) en TCAM-regio's van het systeem zijn dubbel zo breed en verbruiken tweemaal de fysieke TCAM-vermeldingen.
Een logische regiogrootte van 256 items verbruikt bijvoorbeeld daadwerkelijk 512 fysieke TCAM-items.
U kunt IPv6-, poort-ACL's (PACL's), VLAN-ACL's (VACL's) en router-ACL's (RACL's) maken en u kunt IPv6- en MAC-adressen voor QoS matchen. Cisco NX-OS kan ze echter niet allemaal tegelijk ondersteunen.
U moet de huidige TCAM-gebieden verwijderen of verkleinen om de IPv6- en MAC TCAM-gebieden in te schakelen. Voor elke TCAM-regioconfiguratieopdracht evalueert het systeem of de nieuwe wijziging in de TCAM kan passen.
Als dat niet het geval is, wordt een fout gemeld en wordt de opdracht afgewezen. U moet de huidige TCAM-gebieden verwijderen of verkleinen om ruimte te maken voor nieuwe vereisten.
ACL TCAM regio maten hebben deze richtlijnen en beperkingen:
- Op Cisco Nexus 9500 Series-switches heeft de standaardconfiguratie voor ingangen in de TCAM-regio één gratis slice met 256 ingangen in Cisco NX-OS Release 6.1(2)I1(1).
Dit segment wordt toegewezen aan de switch Port Analyzer (SPAN)-regio in Cisco NX-OS Release 6.1(2)I2(1). Op dezelfde manier wordt de RACL-regio teruggebracht van 2K naar 1,5K in Cisco NX-OS Release 6.1(2)I2(1) om ruimte te maken voor de virtuele poort-kanaal (vPC) convergentieregio met 512 vermeldingen.
- Op Cisco Nexus 9300 Series-switches wordt de Application Centric Infrastructure (ACI) leaf-lijnkaart gebruikt om het QoS-classificatiebeleid af te dwingen dat wordt toegepast op 40G-poorten. Het heeft 768 TCAM-vermeldingen beschikbaar om te snijden in 256-entry granulariteit. Deze regionamen worden voorafgegaan door ns-.
- Voor de ACI leaf-lijnkaart op Cisco Nexus 9300 Series-switches verbruiken alleen de IPv6 TCAM-regio's dubbele brede vermeldingen. De rest van de TCAM-regio's verbruiken single-wide vermeldingen.
- Wanneer een VACL-gebied is geconfigureerd, wordt het geconfigureerd met dezelfde grootte in zowel de ingangen als de uitgangen. Als de gebiedsgrootte niet in beide richtingen past, wordt de configuratie afgewezen.
Zowel de Nexus 9300- als de 9500-serie switches hebben vier segmenten van grootte 512 bytes en acht segmenten van grootte 256 bytes. Standaard worden alle segmenten en alle ruimte gebruikt, hoewel de standaardtoewijzing verschilt tussen de Nexus 9300-reeks en de 9500-reeks.
Opmerking: De Nexus 9332PQ gebruikt dezelfde standaardtoewijzing als de Nexus 9500.
Nexus 9500-reeks TCAM-toewijzing
De Nexus 9500-serie switches hebben deze TCAM-toewijzing standaard:
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
----------------------------------------------------------------------
De allocatie van de segmenten is zoals weergegeven voor ingangen:
Segment 1 (512): RACL
Segment 2 (512): RACL
Segment 3 (512): RACL
Segment 4 (512): VPC-convergentie
Segment 5 (256): Layer 3 QOS
Segment 6 (256): Layer 3 QOS
Segment 7 (256): SPAN
Segment 8 (256): OMLEIDEN
Segment 9 (256): Ingress CoPP
Segment 10 (256): Ingress CoPP
Segment 11 (256): Ingress-systeem
Segment 12 (256): Ingress-systeem
Ingress-gebruik geconceptualiseerd:

Nexus 9300-reeks TCAM-toewijzing
De Nexus 9300-serie switches hebben deze TCAM-toewijzing standaard:
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): omleiden
Slice 5 (256): QOS-poort
Slice 6 (256): QOS-poort
Segment 7 (256): SPAN
Segment 8 (256): VPC-convergentie
Segment 9 (256): Ingress CoPP
Segment 10 (256): Ingress CoPP
Segment 11 (256): Ingress-systeem
Segment 12 (256): Ingress-systeem
Ingress-gebruik geconceptualiseerd:

Configuratie
Als u een TCAM-gebied opnieuw wilt configureren, gebruikt u de opdracht in de hardware access-list tcam region
configuratieterminal. Zodra u de regio's hebt gewijzigd in de beoogde grootte, moet u het apparaat opnieuw laden.
Voorbeeldscenario
U hebt een Nexus 9300 en wilt de TCAM-ruimte toewijzen om het beste aan uw behoeften te voldoen. U moet 512 bytes TCAM vrijmaken. Hiermee kunt u meer toevoegen aan IPv4 PACL.
U besluit echter dat u geen 512 VACL of 512 RACL nodig hebt, maar een aantal van beide, zodat u besluit om 256 bytes van VACL en RACL niet toe te wijzen. Dit maakt 512 ruimte vrij zoals deze opdrachten laten zien:
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
Met 512 bytes vrij probeert u een extra 512 aan IPv4 PACL toe te wijzen, maar zie deze uitvoer:
Nexus9300(config)# hardware access-list tcam region ifacl 1024
ERROR: Aggregate TCAM region configuration exceeded the available Ingress TCAM slices.
Please re-configure.
Hoewel 512 bytes werden vrijgemaakt, waren zowel de VACL- als de RACL-ruimte, waarvan 256 werden getrokken, 512 blokken. Als zodanig hebben de vorige opdrachten ruimte niet toegewezen, maar hebben ze geen segmenten vrijgemaakt. Om de IPv4 PACL-grootte te verhogen naar 1024, moet u 512 bytes nemen van een enkele functie die zowel een segment als ruimte vrijmaakt:
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
Verificatiecommando's
show hardware access-list tcam region
- Controleert de huidige softwareconfiguratie.
show system internal access-list globals
- Controleert de huidige hardwareconfiguratie.
show system internal access-list input entries detail -
Geeft de specifieke ACL's weer die voor elke instantie zijn geconfigureerd.
show hardware access-list resource utilization
- Toont het huidige gebruik van elke geconfigureerde TCAM-regio.
show hardware access-list resource entries
- Geeft het aantal ACL-items weer dat voor elke instantie is geconfigureerd
Fouten en oplossingen
Dit zijn de meest voorkomende fouten die worden gezien tijdens de TCAM-configuratie:
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM slices. Please re-configure.
Deze fout treedt op wanneer u probeert een geldige hoeveelheid TCAM-ruimte te configureren met betrekking tot de 4k-limiet, maar uw toewijzing verbruikt meer segmenten dan beschikbaar zijn.
De enige oplossing voor deze fout is om uw algehele TCAM-ontwerp te herzien om segmenten vrij te maken.
Deze fout komt vaker voor wanneer u een nieuwe functie met dubbele breedte probeert te configureren, omdat deze ten minste twee segmenten van 256 of 512 vereisen.
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM space. Please re-configure.
Net als bij de slice-fout, is de oplossing om de toegewezen ruimte opnieuw te configureren om de totale limiet niet te overschrijden. Deze foutmelding wordt alleen weergegeven wanneer alle TCAM-segmenten al zijn toegewezen en u meer ruimte probeert toe te wijzen.
ERROR: TCAM regions with size more than 256, ... have size
in multiple of 512 entries
Vanwege hardwarebeperkingen kunnen TCAM-formaten groter dan 256 niet worden gecombineerd op een manier die een oneven aantal van 256 blokken combineert met een 512-blok. Als u een TCAM-gebied configureert dat groter is dan 512, zijn de enige geldige formaten veelvouden van 512.
Ontwerprichtlijnen en -beperkingen
De TCAM-ruimte is beperkt. De keuze voor wat het beste voor u is, hangt volledig af van de specifieke use case. Standaard is alle TCAM-ruimte al toegewezen, dus u moet beslissen waar u TCAM-ruimte wilt toewijzen om elders toe te wijzen.
- Gebruikers kunnen de standaardhoeveelheid Ingress System en CoPP TCAM niet verlagen. Deze zijn al op de minimumwaarde en kunnen niet worden verlaagd.
- Alle QoS-functies zijn dubbel breed.
- SVI-beleidskaarten worden niet ondersteund.
Gerelateerde informatie