Nexus TCAM: waarom een ARP-onderdrukkingsregio twee slices nodig heeft
Logische entries zijn maar de helft van het budget. Een functie die als dubbelbreed wordt uitgesneden, heeft een paar slices nodig, en één vrije slice op de verkeerde plek is niet genoeg.
U bepaalt de grootte van een ARP-onderdrukkingsregio, telt de entries die het ontwerp nodig heeft, vindt een regio met meer vrije capaciteit dan dat, en de wijziging past nog steeds niet. Niets was verkeerd geteld. Het budget dat u las, wordt in slices gemeten, en een functie die als dubbelbreed wordt uitgesneden, heeft er twee nodig voordat er een entry wordt overwogen.
Behandel de toewijzing als een lay-outprobleem met een vast aantal eenheden, en de rekenkunde begint zich te gedragen.
Een regio bezit slices, geen entries
TCAM is op deze platforms verdeeld in slices, en elke slice behoort tot precies één regio. Regio's worden in slices gedimensioneerd, en de breedte van de functie bepaalt hoeveel slices deze minimaal verbruikt. Een enkelbrede functie kan in één slice leven; een dubbelbrede functie heeft een aaneengesloten paar nodig.
| Concept | What it means when you plan |
|---|---|
| Slice | The indivisible unit; it belongs to one region and cannot be shared |
| Feature width | Single or double; a double-width feature must have two slices available |
| Logical entries | What the feature wants to store, which only matters after the slices are allocated |
Een vrije slice is dus niet automatisch bruikbare capaciteit. Twee enkelbrede regio's op aparte slices combineren niet tot het paar dat een nieuwe dubbelbrede regio vereist, en de tabel die in totaal ruim ongebruikte ruimte toont, vertelt u over een pool die u niet kunt uitgeven.
Leg de baseline vast voordat u gaat snijden
Verzamel het exacte hardwaremodel, de NX-OS-versie, de huidige regiobreedtes en -groottes, en de functies die elke regio verbruiken. Doe dit vóór elke wijziging, want na een herlaad is de vorige toestand een herinnering en geen feit.
show version
show hardware capacity
show running-config | include hardware profile
Opdrachtnamen verschillen per platform en versie, en de snijhandleiding noemt de opdrachten die voor de eigen hardware gelden. Lees de uitvoer die u daadwerkelijk krijgt in plaats van aan te nemen dat een opdracht van een ander model dezelfde tabel oplevert.
Schrijf vervolgens op waar elke regio voor dient. Een VACL-regio is met een reden filtercapaciteit, en een QoS-regio bestaat omdat iemand die heeft gedimensioneerd voor een beleid dat nog geldt. Een plan dat die ruimtes zonder controle als terugwinbare ruimte behandelt, is een plan om functies stil te verwijderen. Benoem een eigenaar voor elke regio die u wilt verkleinen, en geef die eigenaar de nieuwe grootte vóór het venster.
Houd ook rekening met richting. Waar het platform de toewijzing van inkomend en uitgaand verkeer koppelt, kan een wijziging aan de ene kant budget aan de andere kant verbruiken, en een plan dat alleen de inkomende tabel telt, ziet er correct uit en faalt bij herladen.
Wat het vrijmaken van één grote slice niet doet
Het verkleinen van een grote enkelbrede regio maakt één slice vrij. Als uw doelregio een paar nodig heeft, kan die ene slice nutteloos zijn tenzij deze naast een andere vrije slice ligt, en nabijheid is een eigenschap van de lay-out en niet van het totaal.
Dit is het punt waarop mensen concluderen dat het platform kapot is of dat de documentatie onjuist is. Geen van beide is waar. Het toewijzingsmodel doet precies wat het zegt, en de fout was vrije ruimte tellen in plaats van vrije slices op de juiste posities. Zodra u de lay-out op papier hebt getekend, bestaat het beschikbare paar of bestaat het niet, en dat is een veel gemakkelijker gesprek met de platformeigenaar dan een discussie over totalen.
Er is ook een versieval die het vermelden waard is. De snijhandleiding van Cisco beschrijft een specifieke hardwaregeneratie en stelt duidelijk dat het model ervan noch Cloud Scale noch Silicon One is. Regionamen, standaardgroottes en zelfs welke functies dubbelbreed zijn, verschillen elders, dus een waarschuwing over een specifieke regio op één platform is bewijs over dat platform en die versie, geen universeel recept.
Een regio wijzigen is een functiewijziging
Elke snede is een capaciteitsruil. Een regio verkleinen om ruimte te maken voor ARP-onderdrukking vermindert wat die regio beschermde, en het gevolg verschijnt misschien pas wanneer het beleid dat de ruimte nodig heeft, opnieuw wordt toegepast.
Zorg dat de eigenaar van elke getroffen functie vóór het venster schriftelijk instemt. Dat is geen bureaucratie: wie de VACL-regio oorspronkelijk dimensioneerde, weet wat die filtert, en wie ruimte maakt, weet dat meestal niet.
Verwacht een herlaad voor wijzigingen die de hardwarelay-out veranderen. Sommige platforms vereisen het en andere niet, maar plannen zonder onderhoudsvenster wanneer een herlaad mogelijk is, is hoe een routingwijziging een storing wordt. Plan het venster rond de herlaad en niet rond de opdracht, en bewaar de tekst van het vorige profiel ergens waar u die kunt lezen vanaf een console die zijn beheersessie heeft verloren.
Pas toe en verifieer tegen de baseline
Pas het plan toe via het ondersteunde proces van het platform, en verifieer daarna de functies die u hebt behouden, niet alleen die u hebt toegevoegd. Een nieuw gesneden regio die werkt terwijl het filteren stil is gestopt met overeenkomen, is een slechter resultaat dan de oorspronkelijke fout.
Lees de capaciteitsuitvoer opnieuw en vergelijk die met de baseline die u hebt vastgelegd, en test daarna de functie die de wijziging motiveerde. De Nexus TCAM-snijhandleiding is de referentie voor het hier beschreven breedte- en slicemodel, inclusief welke hardwaregeneratie het dekt.