Inhalt

Einführung

Hintergrundinformationen

Capmap-Tabellen des Programms und LOU-Register

Anwenderbericht Nr. 1: ACLs mit TCP-Flags

Anwenderbericht Nr. 2 - 100 % LOU: Nutzung registrieren

Anwenderbericht Nr. 3: QoS-Programmierung mit L4Ops

Anwenderbericht Nr. 4: Dual-Stack-ACLs verursachen Erschöpfung der CAPMAP

Einführung

In diesem Dokument wird beschrieben, wie Logical Operation Units (LOUs) und Layer 4 Operations (L4Ops) in der Capmap-Tabelle programmiert werden. Es bietet Fehlerszenarien, die Art von Fehlern, die Sie in diesen Situationen normalerweise bemerken, und was Sie aus diesen Fehlern ableiten sollten.

Classification Manager (CM) verwaltet den Klassifizierungs-Ternary Content Addressable Memory (TCAM) und die zugehörigen Ressourcen wie Labels, LOUs, Capmap-Einträge und andere. CM-Dienste werden vom Feature Manager (FM) und vom QoS Manager (QM) zur Programmierung von TCAM-Einträgen zur Unterstützung von Cisco IOS verwendet.® Zugriffskontrolllisten (ACL) und Quality of Service (QoS)-Funktionen

Hintergrundinformationen

LOUs und L4Ops - LOUs stehen für Logical Operation Units. Hierbei handelt es sich um Hardwareregister, die zum Speichern von {operator, operand}-Tupeln für TCP/UDP-Portnummern verwendet werden, die in ACLs und VLAN Access Control Lists (VACLs) angegeben sind. Diese Tupel werden auch als L4Ops bezeichnet. Wenn Sie beispielsweise Host X mit Host Y gt 1023 abgleichen, wird der Tupel {gt, 1023}.

L4Ops - Layer-4-Betrieb.

Capmap-Tabellen - Die zuvor beschriebenen L4Ops werden in LOU-Register programmiert, auf die durch Einträge in Capmap-Tabellen verwiesen wird. Jede Capmap-Tabelle hat eine Grenze von 10 (eine ist für die Richtung reserviert, wodurch sich die Grenze auf neun) Einträge (L4Ops) erhöht. Capmap-Tabellen werden durch das TCAM-Label selbst indiziert.

Es gibt zwei TCAMs: A und B. Jeder TCAM ist mit 8.000 Bezeichnungen versehen. Für jeden TCAM gibt es eine Tabelle mit 2K-Einträgen in Großbuchstaben. Da jeder TCAM über 8.000 Labels verfügt, gibt es hier eine Überlappung von 4:1 - vier Labels werden einem Capmap-Eintrag zugeordnet. Überschneidung: 1=2049=4097=6145.

Im Grunde bedeutet dies, dass die TCAM-Labels 1, 2049, 4097 und 6145 denselben Capmap-Index verwenden. Die herkömmliche Implementierung der TCAM-Labelzuweisung führte aufgrund dieser Überschneidung zu Problemen. Cisco hat TCAM-Labels mit einer Lücke von 2.000 zugewiesen (genauer gesagt 2048). Dies bedeutet, dass die Zuweisung in der Form 1, 2049, 4097, 6145, 2, 2050, 4098, 6146 usw. erfolgen würde.

Von Anfang an war diese TCAM-Zuweisung so gestaltet, dass sich die Capmap-Tabellen überlagerten. Dies ist ein Beispiel für die Veranschaulichung (entnommen aus der Cisco Bug-ID CSCuo02666). Es folgen zwei ACLs, a1 und a2, definiert und angewendet auf die Schnittstelle VLAN 1 und das Schnittstellen-VLAN 2, wie hier gezeigt:

Sup2T(config)#ip access-list extended a1

Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 1

Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 2

Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 3

Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 4

Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 5

Sup2T(config-ext-nacl)#exit

Sup2T(config)#int vlan 1

Sup2T(config-if)#ip access-group a1 in

Sup2T(config-if)#exit

Sup2T(config)#ip access-list extended a2

Sup2T(config-ext-nacl)# permit ip host 1.1.1.2 any dscp 6

Sup2T(config-ext-nacl)# permit ip host 1.1.1.2 any dscp 7

Sup2T(config-ext-nacl)# permit ip host 1.1.1.2 any dscp cs1

Sup2T(config-ext-nacl)# permit ip host 1.1.1.2 any dscp 9

Sup2T(config-ext-nacl)#exit

Sup2T(config)#int vlan 2

Sup2T(config-if)#ip access-group a2 in

Sup2T(config-if)#end

Der TCAM für diese Schnittstellen ist jetzt:

Sup2T#show platform hardware acl entry interface vlan 1 security in ip detail

mls_if_index:20000001 dir:0 feature:0 proto:0

pass#0 features

UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin

MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match,

I-ife/ofe

's' means set; 'u' means unset; '-' means don't care

----------------------------------------------------------------

----------------------------------------------------------------

----------------------------------------------------------------

------

I     INDEX  LABEL FS ACOS    AS           IP_SA        SRC_PORT

IP_DA        DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs

RSLT                  CNT

---------------------------------------------------------------

---------------------------------------------------------------

---------------------------------------------------------------

---------

fno:0

tcam:B, bank:0, prot:0    Aces

I  V  16366   2049  0    0     0         1.1.1.1               -         0.0.0.0

- 0  0      0      -       ----- dscp=5;                       0x0000000000000038

0

I  M  16366 0x1FFF  0 0x00 0x000 255.255.255.255               -         0.0.0.0

- 0  0    0x0

I  V  16367   2049  0    0     0         1.1.1.1               -         0.0.0.0

- 0  0      0      -       ----- dscp=4;                       0x0000000000000038

0

I  M  16367 0x1FFF  0 0x00 0x000 255.255.255.255               -         0.0.0.0

- 0  0    0x0

I  V  16368   2049  0    0     0         1.1.1.1               -         0.0.0.0

- 0  0      0      -       ----- dscp=3;                       0x0000000000000038

0

I  M  16368 0x1FFF  0 0x00 0x000 255.255.255.255               -         0.0.0.0

- 0  0    0x0

I  V  16369   2049  0    0     0         1.1.1.1               -         0.0.0.0

- 0  0      0      -       ----- dscp=2;                       0x0000000000000038

0

I  M  16369 0x1FFF  0 0x00 0x000 255.255.255.255               -         0.0.0.0

- 0  0    0x0

I  V  16370   2049  0    0     0         1.1.1.1               -         0.0.0.0

- 0  0      0      -       ----- dscp=1;                       0x0000000000000038

0

I  M  16370 0x1FFF  0 0x00 0x000 255.255.255.255               -         0.0.0.0

- 0  0    0x0

I  V  16371   2049  0    0     0         0.0.0.0               -         0.0.0.0

- 0  0      0      -       -----          -                    0x0000000040000038

0

I  M  16371 0x1FFF  0 0x00 0x000         0.0.0.0               -         0.0.0.0

- 0  0    0x0

Sup2T#show platform hardware acl entry interface vlan 2 security in ip detail

mls_if_index:20000002 dir:0 feature:0 proto:0

pass#0 features

UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin

MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe

's' means set; 'u' means unset; '-' means don't care

----------------------------------------------------------------

----------------------------------------------------------------

----------------------------------------------------------------

------

I     INDEX  LABEL FS ACOS    AS           IP_SA        SRC_PORT

IP_DA        DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs

RSLT                  CNT

-----------------------------------------------------------------

-----------------------------------------------------------------

-----------------------------------------------------------------

fno:0

tcam:B, bank:1, prot:0    Aces

I  V  32738   4097  0    0     0         1.1.1.2               -         0.0.0.0

- 0  0      0      -       ----- dscp=9;                       0x0000000000000038

0

I  M  32738 0x1FFF  0 0x00 0x000 255.255.255.255               -         0.0.0.0

- 0  0    0x0

I  V  32739   4097  0    0     0         1.1.1.2               -         0.0.0.0

- 0  0      0      -       ----- dscp=8;                       0x0000000000000038

0

I  M  32739 0x1FFF  0 0x00 0x000 255.255.255.255               -         0.0.0.0

- 0  0    0x0

I  V  32740   4097  0    0     0         1.1.1.2               -         0.0.0.0

- 0  0      0      -       ----- dscp=7;                       0x0000000000000038

0

I  M  32740 0x1FFF  0 0x00 0x000 255.255.255.255               -         0.0.0.0

- 0  0    0x0

I  V  32741   4097  0    0     0         1.1.1.2               -         0.0.0.0

- 0  0      0      -       ----- dscp=6;                       0x0000000000000038

0

I  M  32741 0x1FFF  0 0x00 0x000 255.255.255.255               -         0.0.0.0

- 0  0    0x0

I  V  32745   4097  0    0     0         0.0.0.0               -         0.0.0.0

- 0  0      0      -       -----          -                    0x0000000040000038

0

I  M  32745 0x1FFF  0 0x00 0x000         0.0.0.0               -         0.0.0.0

- 0  0    0x0

Das für Schnittstelle VLAN 1 zugewiesene TCAM-Label ist 2049, und das für Schnittstelle VLAN 2 zugewiesene TCAM-Label ist 4097. Dies bedeutet, dass beide Schnittstellen dieselbe Capmap-Tabelle verwenden, um auf die LOU-Register für ihre L4Op-Programmierung zu verweisen.

Sie können dies mit dem folgenden Befehl bestätigen (fünf ACEs in ACL a1 und vier ACEs in ACL a2 bedeuten, dass Sie die Capmap-Tabelle als voll anzeigen sollten):

Sup2T#show platform hardware acl capmap tcam B label 4097

Hardware Capmap Table Entry For TCAM B. Free items are not shown

Index   Loc[9]  [8]  [7]  [6]  [5]  [4]  [3]  [2]  [1]  [0]

-----   ------  ---  ---  ---  ---  ---  ---  ---  ---  ---

1      212   10    9    8    7    6    5    4    3    2

Sup2T#show platform hardware acl capmap tcam B label 2049

Hardware Capmap Table Entry For TCAM B. Free items are not shown

Index   Loc[9]  [8]  [7]  [6]  [5]  [4]  [3]  [2]  [1]  [0]

-----   ------  ---  ---  ---  ---  ---  ---  ---  ---  ---

1      212   10    9    8    7    6    5    4    3    2

Wenn Sie jetzt versuchen, einen weiteren, nicht erweiterbaren L4Op-basierten Access Control Entry (ACE) für eine dieser Schnittstellen zu installieren, wird der Fehler No free capmap entry available (Keine freie Capmap-Eingabe verfügbar) angezeigt.

Sup2T(config)#ip access-list extended a2

Sup2T(config-ext-nacl)#permit ip host 1.1.1.2 any dscp 10

Sup2T(config-ext-nacl)#end

*Sep 16 14:57:55.983: %EARL_CM-5-NOCAPMAP: No free capmap entry available

*Sep 16 14:57:55.991: %FMCORE-4-RACL_REDUCED: Interface Vlan2 routed traffic

will be software switched in ingress direction. L2 features may not be applied

at the interface

Dies führt dazu, dass die Software die gesamte Schnittstelle überbrückt, was zu einer Verlangsamung des Switching, einer hohen CPU-Auslastung und anderen damit verbundenen Problemen führen könnte.

Hinweis: Zur Behebung dieses Problems wurde die Cisco Bug-ID CSCuo02666 ausgelöst. Die größte logische Änderung, die damit einhergeht, ist die Zuweisung der TCAM-Labels. Cisco weist TCAM-Labels jetzt durchgängig (2,3,4,5 usw.) bis 2048 zu, anstatt bei Lücken von 2.000. Dies bedeutet, dass Capmap-Tabellen nicht mehr von Anfang an gemeinsam genutzt werden.

Denken Sie daran, dass die Anzahl der Geschäftsbereiche wie jede andere Hardwareressource begrenzt ist. Insgesamt stehen 104 LOUs zur Verfügung:

Sup2T#show platform software acl lou

LOUs Registers (shadow copies)

Index      Type  A_Op  A_Val  A_Cnt  B_Op  B_Val  B_Cnt

-----  --------  ----  -----  -----  ----  -----  -----

0PKT_QOS_GI A is free.            NEQ      0      1

1  DST_PORT    LT     81      2 B is free.

2  B & A are free

3  B & A are free

4  B & A are free

5  B & A are free

6  B & A are free

7  B & A are free

8  B & A are free

9  B & A are free

10  B & A are free

11  B & A are free

12  B & A are free

13  B & A are free

14  B & A are free

15  B & A are free

*snip*

95  B & A are free

96  B & A are free

97  B & A are free

98  B & A are free

99  B & A are free

100  B & A are free

101  B & A are free

102  B & A are free

103  B & A are free

Capmap-Tabellen des Programms und LOU-Register

Capmap-Tabellen werden nur verwendet, wenn L4-Vorgänge berücksichtigt werden müssen. Beachten Sie, dass die Zuordnung von Differentiated Services Code Point (DSCP)-/Class of Service (CoS)-Werten ebenfalls als L4Op gilt. Im Folgenden finden Sie ein einfaches Beispiel (das eine Codeversion verwendet, die die Behebung der Cisco Bug ID CSCuo02666 enthält), auf dem dieses Dokument inkrementell aufbaut:

Sup2T#show ip access-lists a3

Extended IP access list a3

10 permit ip host 192.168.1.1 host 192.168.1.2

I have this applied to interface VLAN 1.

Sup2T#show run int vlan 1

Building configuration...

Current configuration : 84 bytes

!

interface Vlan1

ip address 192.168.1.1 255.255.255.0

ip access-group a3 in

end

Dies ist korrekt in TCAM programmiert:

Sup2T#show platform hardware acl entry interface vlan 1 security in ip

mls_if_index:20000001 dir:0 feature:0 proto:0

pass#0 features

fno:0

tcam:B, bank:1, prot:0    Aces

Permit                ip host 192.168.1.1 host 192.168.1.2

L3_Deny               ip any any

Sup2t-MA1.7#show platform hardware acl entry interface vlan 1 security in ip detail

mls_if_index:20000001 dir:0 feature:0 proto:0

pass#0 features

UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin

MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe

's' means set; 'u' means unset; '-' means don't care

----------------------------------------------------------------

----------------------------------------------------------------

----------------------------------------------------------------

------

I     INDEX  LABEL FS ACOS    AS           IP_SA        SRC_PORT

IP_DA        DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs

RSLT                  CNT

----------------------------------------------------------------

----------------------------------------------------------------

-----------------------------------------------------------------

-----

fno:0

tcam:B, bank:1, prot:0    Aces

I  V  32741   2  0    0     0        192.168.1.1               -     192.168.1.2

- 0  0      0      -       -----          -                    0x0000000000000038

0

I  M  32741 0x1FFF  0 0x00 0x000 255.255.255.255               - 255.255.255.255

- 0  0    0x0

I  V  32745   2  0    0     0            0.0.0.0               -         0.0.0.0

- 0  0      0      -       -----          -                    0x0000000040000038

0

I  M  32745 0x1FFF  0 0x00 0x000         0.0.0.0               -         0.0.0.0

- 0  0    0x0

Auf Capmap-Tabellen wird über das TCAM-Label selbst verwiesen. Sie können das TCAM-Label im Befehl show platform software [hardware] acl capmap tcam <> label <> verwenden, um die entsprechende Tabelle (Software oder Hardware) für dieses TCAM-Label anzuzeigen.

Sup2T#show platform hardware acl capmap tcam B label 2

Hardware Capmap Table Entry For TCAM B. Free items are not shown

Index   Loc[9]  [8]  [7]  [6]  [5]  [4]  [3]  [2]  [1]  [0]

-----   ------  ---  ---  ---  ---  ---  ---  ---  ---  ---

1      212    0    0    0    0    0    0    0    0    0

Die Capmap-Tabelle für dieses Label enthält keine Zuweisung. Die definierte ACL hat keine L4Ops. Es ist nicht erforderlich, einen Eintrag in der Capmap-Tabelle zu installieren.

Ändern Sie diesen ACE in Folgendes:

Sup2T#show ip access-lists a3

Extended IP access list a3

10 permit tcp host 192.168.1.1 host 192.168.1.2 eq www

Schauen Sie sich die Tabelle mit den Karten noch einmal an.

Sup2T#show platform software acl capmap tcam B label 2

Shadow Capmap Table Entry For TCAM B

-----------------------------------------------------------------------

Output in a RST/INV/CNT format: RST - result value; INV - inverted;

CNT - aggregated reference account;

CBF - number of free cap bits (one per entry);

Free items are not shown

-----------------------------------------------------------------------

Index   CBF       [9]              [8]              [7]              [6]

[5]              [4]              [3]              [2]              [1]

[0]

----- ----- ---------------- ---------------- ---------------- ---------

------- ---------------- ---------------- ---------------- -------------

--- ---------------- ----------------

1     9         Reserved             Free             Free             Free

Free             Free             Free             Free             Free

Free

Wenn Sie direkt einer Portnummer entsprechen, wird diese auch nicht als L4Op gezählt.

Ändern Sie die Einstellung folgendermaßen:

Sup2T#show ip access-lists a3

Extended IP access list a3

10 permit tcp host 192.168.1.1 host 192.168.1.2 gt www

Überprüfen Sie die Capmap-Tabelle noch einmal:

Sup2T#show platform software acl capmap tcam B label 2

Shadow Capmap Table Entry For TCAM B

-----------------------------------------------------------------------

Output in a RST/INV/CNT format: RST - result value; INV - inverted;

CNT - aggregated reference account;

CBF - number of free cap bits (one per entry);

Free items are not shown

-----------------------------------------------------------------------

Index   CBF       [9]              [8]              [7]              [6]

[5]              [4]              [3]              [2]              [1]

[0]

----- ----- ---------------- ---------------- ---------------- ---------

------- ---------------- ---------------- ---------------- ------------

---- ---------------- ----------------

2     8 212/0/1                      Free             Free             Free

Free             Free             Free             Free             Free   3/1/1

Es gibt jetzt einen Eintrag in der Capmap-Tabelle. Der ACE wurde in eine 3/1/1 in der Capmap-Tabelle übersetzt. Dies ist im Format RST/INV/CNT. Der RST gibt hier an, in welcher LOU diese L4Op installiert wurde, und der CNT beschreibt die aggregierte Anzahl für diese LOU (weitere Informationen hierzu zu einem späteren Zeitpunkt). Sehen Sie sich diese Ausgabe an, um zu verstehen, wie der RST-Wert indiziert wird:

Sup2T#show platform software acl capmap mapping

L4op_sel value      Reference

==============      =========

0      ------         LOU0 B register

1     ------         LOU0 A register

2     ------         LOU1 B register

3     ------         LOU1 A register

.....                 ..............

.....                 ..............

206     -----         LOU103 B register

207     -----         LOU103 A register

208     -----         Global format match for global acl

209     -----         Group id present

210     -----         L4_hdr_vld

211     -----         Mpls_plus_ip_pkt

212     -----         ife/ofe for direction

(213-223)     ----      Reserved

(224-239)     ----      16 TCP flags map

(240-255)     ----      16 IPv6 ext header map

Sie sehen, dass der L4op_sel-Wert von 0 Punkten auf das LOU0 B-Register, der Wert von 1 Punkten auf das LOU0 A-Register, der Wert von 2 Punkten auf das LOU1 B-Register, der Wert von 3 Punkten auf das LOU1 B-Register usw. zeigt. Das A-Register wird immer zuerst programmiert. Die 3/1/1-Ausgabe macht jetzt mehr Sinn, da Sie dies sehen.

In dieser Ausgabe bedeutet 3, dass das L4Op in das LOU1 A-Register programmiert wurde. Sie können auch überprüfen, wo ein L4Op programmiert ist, wenn Sie sich den Inhalt der LOU-Register direkt ansehen:

Sup2T#show platform software acl lou

LOUs Registers (shadow copies)

Index      Type  A_Op  A_Val  A_Cnt  B_Op  B_Val  B_Cnt

-----  --------  ----  -----  -----  ----  -----  -----

0PKT_QOS_GI A is free.            NEQ      0      1

1  DST_PORT    LT     81      1 B is free.

2  B & A are free

3  B & A are free

4  B & A are free

*snip*

Sup2T#show platform hardware acl lou

Dumping h/w lou values

Index  lou_mux_sel  A_Opcode  A_Value  B_Opcode  B_Value

-----  -----------  --------  -------  --------  -------

0            7       NEQ        0       NEQ        0

1            1        LT       81       NEQ        0

2            0       NEQ        0       NEQ        0

3            0       NEQ        0       NEQ        0

*snip*

Wie Sie sehen, wird ein (gt, X) Tupel in den LOU-Registern als (LT, X+1) programmiert.

Hinweis: L4Ops werden NUR dann in LOU-Register programmiert, wenn sie auf Schnittstellen angewendet werden. Wenn ACLs mit L4Ops erstellt werden (ohne dass die ACL tatsächlich auf eine Schnittstelle angewendet wird), werden die entsprechenden L4Ops nicht in LOU-Register programmiert.

Entfernen Sie die ACL aus der Schnittstelle VLAN 1, und überprüfen Sie erneut die LOU-Register:

Sup2T(config)#int vlan 1

Sup2T(config-if)#no ip access-group a3 in

Sup2T#show platform software acl lou

LOUs Registers (shadow copies)

Index      Type  A_Op  A_Val  A_Cnt  B_Op  B_Val  B_Cnt

-----  --------  ----  -----  -----  ----  -----  -----

0PKT_QOS_GI A is free.            NEQ      0      1

1  B & A are free

2  B & A are free

3  B & A are free

4  B & A are free

*snip*

Sup2T#show platform hardware acl lou

Dumping h/w lou values

Index  lou_mux_sel  A_Opcode  A_Value  B_Opcode  B_Value

-----  -----------  --------  -------  --------  -------

0            7       NEQ        0       NEQ        0

1            1       NEQ        0       NEQ        0

2            0       NEQ        0       NEQ        0

3            0       NEQ        0       NEQ        0

*snip*

Anwenderbericht Nr. 1: ACLs mit TCP-Flags

TCP-Flags verfügen über einen speziellen Satz von Registern, die innerhalb des LOU-Registerbereichs zugewiesen sind. Sie können diesen Bereich über den Befehl show platform software acl capmap mapping (Zuordnung anzeigen) anzeigen, wie hier gezeigt:

Sup2T#show platform software acl capmap mapping

L4op_sel value      Reference

==============      =========

0      ------         LOU0 B register

1     ------         LOU0 A register

2     ------         LOU1 B register

3     ------         LOU1 A register

.....                 ..............

.....                 ..............

206     -----         LOU103 B register

207     -----         LOU103 A register

208     -----         Global format match for global acl

209     -----         Group id present

210     -----         L4_hdr_vld

211     -----         Mpls_plus_ip_pkt

212     -----         ife/ofe for direction

(213-223)     ----      Reserved

(224-239)     ----      16 TCP flags map

(240-255)     ----      16 IPv6 ext header map

L4op_sel-Werte 224-239 stehen für TCP-Flags zur Verfügung, wodurch Ihnen ein Satz von 16 Registern zur Verwendung zur Verfügung steht. Hier ein einfaches Beispiel, um dies zu veranschaulichen. Diese ACL ist definiert:

Sup2T(config)#ip access-list extended a13

Sup2T(config-ext-nacl)#permit tcp host 192.168.13.10 host 192.168.13.20 syn

Sup2T(config-ext-nacl)#exit

Wenden Sie diesen eingehenden Anruf auf die Schnittstelle VLAN 13 an:

Sup2T(config)#int vlan 13

Sup2T(config-if)#ip access-group a13 in

Sup2T(config-if)#end

Sup2T#show platform hardware acl entry interface vlan 13 security in ip detail

mls_if_index:2000000D dir:0 feature:0 proto:0

pass#0 features

UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin

MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe

's' means set; 'u' means unset; '-' means don't care

----------------------------------------------------------------

---------------------------------------------------------------

---------------------------------------------------------------

--------

I     INDEX  LABEL FS ACOS    AS           IP_SA        SRC_PORT

IP_DA        DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs

RSLT                  CNT

----------------------------------------------------------------

----------------------------------------------------------------

----------------------------------------------------------------

------

fno:0

tcam:B, bank:1, prot:0    Aces

I  V  32545     13  0    0     0   192.168.13.10               -   192.168.13.20

- 0  0      1   ANY:----s- -----          -                    0x0000000000000038

0

I  M  32545 0x1FFF  0 0x00 0x000 255.255.255.255               - 255.255.255.255

- 0  0    0xF

I  V  32546     13  0    0     0   192.168.13.10               -   192.168.13.20

- 1  0      1      -       -----          -                    0x0000000000000038

0

I  M  32546 0x1FFF  0 0x00 0x000 255.255.255.255               - 255.255.255.255

- 1  0    0xF

I  V  32547     13  0    0     0         0.0.0.0               -         0.0.0.0

- 0  0      0      -       -----          -                    0x0000000040000038

0

I  M  32547 0x1FFF  0 0x00 0x000         0.0.0.0               -         0.0.0.0

- 0  0    0x0

Sup2T#show platform software acl capmap tcam B label 13

Shadow Capmap Table Entry For TCAM B

-----------------------------------------------------------------------

Output in a RST/INV/CNT format: RST - result value; INV - inverted;

CNT - aggregated reference account;

CBF - number of free cap bits (one per entry);

Free items are not shown

-----------------------------------------------------------------------

Index   CBF       [9]              [8]              [7]              [6]

[5]              [4]              [3]              [2]              [1]

[0]

----- ----- ---------------- ---------------- ---------------- ----------------

---------------- ---------------- ---------------- ---------------- -----------

----- ----------------

13     8 212/0/1                      Free             Free             Free

Free             Free             Free             Free             Free 224/0/1

In diesem Beispiel wird das TCP-Flag im Register 224 programmiert (dies entspricht dem ersten verfügbaren Register für TCP-Flags). Die Gesamtanzahl hierfür entspricht der Anzahl der TCP-Datenflüsse (Read ACEs) mit demselben TCP-Flag.

Fügen Sie der aktuellen ACL a13 einen weiteren ACE hinzu. Dies sollte ein anderes TCP-Flag aufweisen:

Sup2T(config)#ip access-list extended a13

Sup2T(config-ext-nacl)#permit tcp host 192.168.1.1 host 192.168.1.2 ack

Sup2T(config-ext-nacl)#exit

Wenn Sie sich die Capmap-Tabelle erneut ansehen, sehen Sie, dass ein anderes TCP-Register verwendet wird:

Sup2T#show platform software acl capmap tcam b label 13

Shadow Capmap Table Entry For TCAM B

-----------------------------------------------------------------------

Output in a RST/INV/CNT format: RST - result value; INV - inverted;

CNT - aggregated reference account;

CBF - number of free cap bits (one per entry);

Free items are not shown

-----------------------------------------------------------------------

Index   CBF       [9]              [8]              [7]              [6]

[5]              [4]              [3]              [2]              [1]

[0]

----- ----- ---------------- ---------------- ---------------- ----------------

---------------- ---------------- ---------------- ---------------- -----------

----- ----------------

13     7 212/0/1                      Free             Free             Free

Free             Free             Free             Free 225/0/1          224/0/1

Wie Sie sehen, erfolgt die Programmierung pro Flag. für jedes Flag wird ein unabhängiges TCP-Register verwendet, und Sie behalten eine Zählung dafür bei. Das bedeutet, dass Sie für jede Flagge auch einen CAPMAP-Eintrag verwenden. Dies bedeutet auch, dass Sie technisch nicht über neun Flags in Ihrer ACL hinausgehen können oder dass Sie die Capmap-Grenze vor dem TCP-Grenzwert von 16 Fahnen erreichen.

Skalieren Sie Ihre TCP-Flags so, dass Sie das TCP-Register-Limit erreichen, um zu sehen, was passiert. Dieses Beispiel zeigt mehrere ACLs, die konfiguriert und auf verschiedene Schnittstellen-VLANs angewendet wurden, um eine 100%ige TCP-Registernutzung zu erreichen, wie hier gezeigt:

Sup2T#show platform hardware capacity acl

Classification Mgr Tcam Resources

Key: Ttlent - Total TCAM entries, QoSent - QoS TCAM entries, LOU - LOUs,

RBLent - RBACL TCAM entries, Lbl - Labels, TCP - TCP Flags,

Dstbl  - Destinfo Table, Ethcam  - Ethertype Cam Table,

ACTtbl - Accounting Table, V6ext - V6 Extn Hdr Table

Module Ttlent QoSent RBLent Lbl   LOU  TCP  Dstbl Ethcam ACTtbl V6ext

1       3%     7%     0%     1%   96%  100%   1%    0%     0%     0%

3       3%     7%     0%     1%   96%  100%   1%    0%     0%     0%

4       3%     7%     0%     1%   96%  100%   1%    0%     0%     0%

6       3%     7%     0%     1%   96%  100%   2%    0%     0%     0%

Wenn Sie in dieser Phase eine andere ACL mit einem eindeutigen TCP-Flag (oder einer Kombination aus TCP-Flags, die diese eindeutig macht) konfigurieren und diese auf eine Schnittstelle anwenden, müssen Sie ein neues TCP-Flag (oder eine Kombination aus Flags) in ein TCP-Register programmieren. Es sind jedoch keine Hardwareregister verfügbar. In dieser Situation überbrücken Sie die gesamte Schnittstelle.

Sup2T(config)#ip access-list extended a29

Sup2T(config-ext-nacl)#permit tcp host 192.168.1.1 host 192.168.1.2 psh rst

Sup2T(config-if)#int vlan 29

Sup2T(config-if)#ip access-group a29 in

*Oct  6 13:57:47.612: %FMCORE-4-RACL_REDUCED: Interface Vlan29 routed traffic

will be software switched in ingress direction. L2 features may not be applied

at the interface

Sup2T#show platform hardware acl entry interface vlan 29 security in ip

mls_if_index:2000001D dir:0 feature:0 proto:0

pass#0 features

fno:0

tcam:B, bank:1, prot:0    Aces

Bridge                ip any any

Anwenderbericht Nr. 2 - 100 % LOU: Nutzung registrieren

Denken Sie daran, dass die LOUs eine begrenzte Ressource sind, für die Ihnen auch der Platz ausgeht. Mit dem folgenden Befehl können Sie die LOU-Nutzung überwachen:

Sup2T#show platform hardware capacity acl

Classification Mgr Tcam Resources

Key: Ttlent - Total TCAM entries, QoSent - QoS TCAM entries, LOU - LOUs,

RBLent - RBACL TCAM entries, Lbl - Labels, TCP - TCP Flags,

Dstbl  - Destinfo Table, Ethcam  - Ethertype Cam Table,

ACTtbl - Accounting Table, V6ext - V6 Extn Hdr Table

Module Ttlent QoSent RBLent Lbl   LOU  TCP  Dstbl Ethcam ACTtbl V6ext

1       2%     7%     0%     1%    1%   0%   1%    0%     0%     0%

3       2%     7%     0%     1%    1%   0%   1%    0%     0%     0%

4       2%     7%     0%     1%    1%   0%   1%    0%     0%     0%

6       2%     7%     0%     1%    1%   0%   2%    0%     0%     0%

Skalieren Sie die ACLs, um mehr LOUs zu verwenden. Nach der Installation mehrerer ACLs (mit dem Range-Befehl, der zwei LOU-Register (A und B) aufnimmt), zeigt dieses Beispiel die 96 % LOU-Nutzung:

Sup2T#show platform hardware capacity acl

Classification Mgr Tcam Resources

Key: Ttlent - Total TCAM entries, QoSent - QoS TCAM entries, LOU - LOUs,

RBLent - RBACL TCAM entries, Lbl - Labels, TCP - TCP Flags,

Dstbl  - Destinfo Table, Ethcam  - Ethertype Cam Table,

ACTtbl - Accounting Table, V6ext - V6 Extn Hdr Table

Module Ttlent QoSent RBLent Lbl   LOU  TCP  Dstbl Ethcam ACTtbl V6ext

1       3%     7%     0%     1%   96%   0%   1%    0%     0%     0%

3       3%     7%     0%     1%   96%   0%   1%    0%     0%     0%

4       3%     7%     0%     1%   96%   0%   1%    0%     0%     0%

6       3%     7%     0%     1%   96%   0%   2%    0%     0%     0%

Erstellen Sie eine weitere ACL, und wenden Sie diese auf eine Schnittstelle an, die dazu führt, dass die LOU-Nutzung über 100 % hinausgeht.

Sup2T(config)#ip access-list extended a12

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1401 1410

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1411 1420

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1421 1430

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1431 1440

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1441 1450

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1451 1460

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1461 1470

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1471 1480

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1481 1490

Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1491 1500

Sup2T(config-ext-nacl)#exit

Sup2T(config)#int vlan 12

Sup2T(config-if)#ip access-group a12 in

Im Beispiel wurde eine 100-prozentige LOU-Nutzung erreicht. Beachten Sie jedoch, dass keine Fehlermeldung empfangen wurde.

Sup2T#show platform hardware capacity acl

Classification Mgr Tcam Resources

Key: Ttlent - Total TCAM entries, QoSent - QoS TCAM entries, LOU - LOUs,

RBLent - RBACL TCAM entries, Lbl - Labels, TCP - TCP Flags,

Dstbl  - Destinfo Table, Ethcam  - Ethertype Cam Table,

ACTtbl - Accounting Table, V6ext - V6 Extn Hdr Table

Module Ttlent QoSent RBLent Lbl   LOU  TCP  Dstbl Ethcam ACTtbl V6ext

1       3%     7%     0%     1%   100%   0%   1%    0%     0%     0%

3       3%     7%     0%     1%   100%   0%   1%    0%     0%     0%

4       3%     7%     0%     1%   100%   0%   1%    0%     0%     0%

6       3%     7%     0%     1%   100%   0%   2%    0%     0%     0%

Hier ist ein weiterer Test. Da die LOU jetzt bei 100 % liegt, sollten Sie ein sehr einfaches L4Op nehmen und versuchen, das für eine Schnittstelle zu installieren. Konfigurieren Sie diese ACL:

Sup2T#show ip access-lists a13

Extended IP access list a13

10 permit tcp host 192.168.14.1 host 192.168.14.2 range 1600 1650

Wenden Sie diesen eingehenden Anruf auf die Schnittstelle VLAN 13 an.

Sup2T#show run int vlan 13

Building configuration...

Current configuration : 87 bytes

!

interface Vlan13

ip address 192.168.13.1 255.255.255.0

ip access-group a13 in

end

Sehen Sie sich jetzt den TCAM für dieses VLAN an:

Sup2T#show platform hardware acl entry interface vlan 13 sec in ip

mls_if_index:2000000D dir:0 feature:0 proto:0

pass#0 features

fno:0

tcam:B, bank:0, prot:0    Aces

Permit                tcp host 192.168.14.1 host 192.168.14.2 eq 1650

Permit                tcp host 192.168.14.1 host 192.168.14.2 range 1648 1649

Permit                tcp host 192.168.14.1 host 192.168.14.2 range 1632 1647

Permit                tcp host 192.168.14.1 host 192.168.14.2 range 1600 1631

Permit                tcp host 192.168.14.1 host 192.168.14.2  fragments

L3_Deny               ip any any

Die L4Ops wurden erweitert. Wenn Sie sich die Capmap-Tabelle für dieses TCAM-Label anschauen, sehen Sie, dass nichts installiert ist.

Sup2T#show platform hardware acl entry interface vlan 13 sec in ip detail

mls_if_index:2000000D dir:0 feature:0 proto:0

pass#0 features

UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin

MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe

's' means set; 'u' means unset; '-' means don't care

---------------------------------------------------------------

---------------------------------------------------------------

---------------------------------------------------------------

---------

I     INDEX  LABEL FS ACOS    AS           IP_SA        SRC_PORT

IP_DA        DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs

RSLT                  CNT

----------------------------------------------------------------

----------------------------------------------------------------

----------------------------------------------------------------

------

fno:0

tcam:B, bank:0, prot:0    Aces

I  V  16136     14  0    0     0    192.168.14.1               -    192.168.14.2

1650 0  0      1      -       -----          -                    0x0000000000000038

0

I  M  16136 0x1FFF  0 0x00 0x000 255.255.255.255               - 255.255.255.255

0xFFFF 0  0    0xF

I  V  16137     14  0    0     0    192.168.14.1               -    192.168.14.2

1648 0  0      1      -       -----          -                    0x0000000000000038

0

I  M  16137 0x1FFF  0 0x00 0x000 255.255.255.255               - 255.255.255.255

0xFFFE 0  0    0xF

I  V  16138     14  0    0     0    192.168.14.1               -    192.168.14.2

1632 0  0      1      -       -----          -                    0x0000000000000038

0

I  M  16138 0x1FFF  0 0x00 0x000 255.255.255.255               - 255.255.255.255

0xFFF0 0  0    0xF

I  V  16139     14  0    0     0    192.168.14.1               -    192.168.14.2

1600 0  0      1      -       -----          -                    0x0000000000000038

0

I  M  16139 0x1FFF  0 0x00 0x000 255.255.255.255               - 255.255.255.255

0xF

I  V  16140     14  0    0     0    192.168.14.1               -    192.168.14.2

- 1  0      1      -       -----          -                    0x0000000000000038

0

Sup2T#show platform software acl capmap tcam B label 14

Shadow Capmap Table Entry For TCAM B

-----------------------------------------------------------------------

Output in a RST/INV/CNT format: RST - result value; INV - inverted;

CNT - aggregated reference account;

CBF - number of free cap bits (one per entry);

Free items are not shown

-----------------------------------------------------------------------

Index   CBF       [9]              [8]              [7]              [6]

[5]              [4]              [3]              [2]              [1]

[0]

----- ----- ---------------- ---------------- ---------------- ----------------

---------------- ---------------- ---------------- ---------------- -----------

----- ----------------

14     9 212/0/1                      Free             Free             Free

Free             Free             Free             Free             Free

Free

Hier ist eine Erklärung dessen, was passiert ist. Da die LOU-Register voll sind, können dort keine neuen L4Ops mehr installiert werden, und in der Capmap-Tabelle kann auf nichts verwiesen werden. In dieser Phase versuchen Sie immer noch, die L4Ops in TCAM zu installieren, indem Sie sie erweitern. Wenn die L4Ops nicht erweiterbar sind, wird die gesamte Schnittstelle in die angegebene Richtung umgeschaltet.

Was impliziert die Nutzung einer 100%igen LOU-Registrierung? Ihr TCAM ist schnell voll (aufgrund der L4Op-Erweiterung). Wenn Sie versuchen, nicht erweiterbare L4Ops zu installieren, wird mit der aktuellen Implementierung die gesamte Benutzeroberfläche überbrückt.

Derzeit wird nur dann ein Fehler generiert, wenn Sie versuchen, in einer solchen Situation ein nicht erweiterbares L4Op zu installieren. In diesem Beispiel wurde die aktuelle ACL a13 für die Schnittstelle VLAN 13 durch Hinzufügen einer nicht erweiterbaren L4Op geändert.

Sup2T(config)#ip access-list extended a13

Sup2T(config-ext-nacl)#permit tcp host 192.168.14.1 host 192.168.14.2 dscp 40

Oct  5 04:50:13.104: %FMCORE-4-RACL_REDUCED: Interface Vlan13 routed traffic will

be software switched in ingress direction. L2 features may not be applied at the

interface

Oct  5 04:50:13.096: %EARL_CM-DFC3-5-NOLOU: No free LOU entry available on the EARL

Oct  5 04:50:13.096: %EARL_CM-DFC1-5-NOLOU: No free LOU entry available on the EARL

Oct  5 04:50:13.096: %EARL_CM-DFC4-5-NOLOU: No free LOU entry available on the EARL

Sup2T#show platform hardware acl entry interface vlan 13 security in ip

mls_if_index:2000000D dir:0 feature:0 proto:0

pass#0 features

fno:0

tcam:B, bank:0, prot:0    Aces

Bridge                ip any any

Anwenderbericht Nr. 3: QoS-Programmierung mit L4Ops

QoS-Richtlinien können auch auf L4Ops verweisen; Diese L4Ops müssen wie alle anderen L4Op installiert werden. Dies bedeutet, dass Sie selbst für Ihre QoS-Richtlinien pro Schnittstelle von den Einschränkungen abhängig sind, die Capmap-Tabellen und LOUs von Natur aus aufweisen. Hier ein Beispiel, um dies auf eine kleine Art und Weise zu veranschaulichen:

Sup2T#show ip access-lists a1

Extended IP access list a1

10 permit tcp host 192.168.1.10 host 192.168.2.10 dscp ef

Sup2T#show class-map a1-class

Class Map match-all a1-class (id 37)

Match access-group name a1

Sup2T#show policy-map a1-policy

Policy Map a1-policy

Class a1-class

police cir 80000 bc 2500

conform-action transmit

exceed-action drop

Dieses Beispiel verfügt über eine Richtlinienzuordnung, die einer Klassenzuordnung entspricht, die die Zugriffsliste a1 aufruft, die den Datenverkehr von 192.168.1.10 bis 192.168.2.10 abgleicht, der mit Expedited Forwarding (EF) markiert ist. Die Übereinstimmung mit einem DSCP-Wert ist ein nicht erweiterbares L4Op. Dies muss in einem LOU-Register programmiert und über einen Eintrag in der Capmap-Tabelle referenziert werden. Diese Richtlinienzuweisung ist jetzt für Gig3/23-Teilnehmer inbound installiert.

Sup2T#show run int gig3/23

Building configuration...

Current configuration : 176 bytes

!

interface GigabitEthernet3/23

switchport

switchport trunk allowed vlan 1-30

switchport mode trunk

service-policy input a1-policy

end

Verwenden Sie den folgenden Befehl, um die QoS-Programmierung für eine Schnittstelle anzuzeigen:

Sup2T#show platform hardware acl entry interface gig3/23 qos in ip module 3

mls_if_index:8096000 dir:0 feature:1 proto:0

pass#0 features

fno:0

tcam:A, bank:0, prot:0    Aces

0x0000E0100000D00B    tcp host 192.168.1.10 host 192.168.2.10 dscp eq 46

0x000000000080D00B    ip any any

Wenn Sie diesen Befehl detailliert ausführen, wird Ihnen mitgeteilt, für welches TCAM-Label auf dieser Schnittstelle verwendet wird.

Sup2T#show platform hardware acl entry interface gig3/23 qos in ip detail module 3

mls_if_index:8096000 dir:0 feature:1 proto:0

pass#0 features

UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin

MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe

's' means set; 'u' means unset; '-' means don't care

-----------------------------------------------------------------------

-----------------------------------------------------------------------

--------------------------------------------------------

I     INDEX  LABEL FS ACOS    AS           IP_SA        SRC_PORT

IP_DA        DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs

RSLT                  CNT

------------------------------------------------------------------------------------

------------------------------------------------------------------------------------

------------------------------

fno:0

tcam:A, bank:0, prot:0    Aces

I  V  16238      2  0    0     0    192.168.1.10               -    192.168.2.10

- 0  0      1      -       ----- dscp=46;                      0x0000E0100000D00B

0

I  M  16238 0x1FFF  0 0x00 0x000 255.255.255.255               - 255.255.255.255

- 0  0    0xF

I  V  16239      2  0    0     0         0.0.0.0               -         0.0.0.0

- 0  0      0      -       -----          -                    0x000000000080D00B

0

I  M  16239 0x1FFF  0 0x00 0x000         0.0.0.0               -         0.0.0.0

- 0  0    0x0

Das verwendete TCAM-Label ist 2. Schauen Sie sich die Tabelle mit den Kapiteln an:

Sup2T#show platform software acl capmap tcam A label 2 module 3

Shadow Capmap Table Entry For TCAM A

-----------------------------------------------------------------------

Output in a RST/INV/CNT format: RST - result value; INV - inverted;

CNT - aggregated reference account;

CBF - number of free cap bits (one per entry);

Free items are not shown

-----------------------------------------------------------------------

Index   CBF       [9]              [8]              [7]              [6]

[5]              [4]              [3]              [2]              [1]

[0]

----- ----- ---------------- ---------------- ---------------- ----------------

---------------- ---------------- ---------------- ---------------- -----------

----- ----------------

2     8 212/0/1                      Free             Free             Free

Free             Free             Free             Free             Free   2/1/1

Hinweis: Für QoS TCAM müssen Sie die Modulnummer angeben. Andernfalls führt die Ausgabe zu keinerlei Ergebnissen.

Sup2T#show platform software acl capmap mapping

L4op_sel value      Reference

==============      =========

0      ------         LOU0 B register

1     ------         LOU0 A register

2     ------         LOU1 B register

3     ------         LOU1 A register

*snip*

Ein LOU-Wert von 2 Punkten für LOU1, registrieren B. Sie können diese Programmierung mit dem folgenden Befehl bestätigen:

Sup2T#show platform hardware acl lou

Dumping h/w lou values

Index  lou_mux_sel  A_Opcode  A_Value  B_Opcode  B_Value

-----  -----------  --------  -------  --------  -------

0            7       NEQ        0       NEQ        0

1            4       NEQ        0       NEQ       46

2            1       NEQ        0       NEQ        0

*snip*

Skalieren Sie die Konfiguration.

Sup2T#show ip access-lists a1

Extended IP access list a1

10 permit tcp host 192.168.1.10 host 192.168.2.10 dscp ef

20 permit tcp host 192.168.2.11 host 192.168.2.11 dscp ef

30 permit tcp host 192.168.3.11 host 192.168.3.11 dscp ef

40 permit tcp host 192.168.4.11 host 192.168.4.11 dscp ef

50 permit tcp host 192.168.5.11 host 192.168.5.11 dscp ef

60 permit tcp host 192.168.6.11 host 192.168.6.11 dscp ef

70 permit tcp host 192.168.7.11 host 192.168.7.11 dscp ef

80 permit tcp host 192.168.8.11 host 192.168.8.11 dscp ef

Sup2T#show platform software acl capmap tcam A label 2 module 3

Shadow Capmap Table Entry For TCAM A

-----------------------------------------------------------------------

Output in a RST/INV/CNT format: RST - result value; INV - inverted;

CNT - aggregated reference account;

CBF - number of free cap bits (one per entry);

Free items are not shown

-----------------------------------------------------------------------

Index   CBF       [9]              [8]              [7]              [6]

[5]              [4]              [3]              [2]              [1]

[0]

----- ----- ---------------- ---------------- ----------------

---------------- ---------------- ---------------- ----------

------ ---------------- ---------------- ----------------

2     8 212/0/1                      Free             Free             Free

Free             Free             Free             Free             Free   2/1/8

Es werden keine weiteren Einträge verwendet. Stattdessen erhöht es die Gesamtreferenzanzahl gegen den ersten Eintrag selbst, was Sinn ergibt. Aus Sicht der Capmap-Tabelle und des LOU-Registers bestehen keine Bedenken hinsichtlich der Quelle und des Ziels. Hier werden lediglich L4Op-Informationen gespeichert. Da sie mit demselben DSCP-Wert auf allen ACEs übereinstimmt, benötigen Sie nur einen Eintrag für diesen DSCP-Wert.

Ändern Sie diese Einstellung, sodass Sie neun verschiedene DSCP-Werte verwenden.

Sup2T#show ip access-lists a1

Extended IP access list a1

10 permit tcp host 192.168.1.10 host 192.168.2.10 dscp af11

20 permit tcp host 192.168.2.11 host 192.168.2.11 dscp af12

30 permit tcp host 192.168.3.11 host 192.168.3.11 dscp af13

40 permit tcp host 192.168.4.11 host 192.168.4.11 dscp af21

50 permit tcp host 192.168.5.11 host 192.168.5.11 dscp af22

60 permit tcp host 192.168.6.11 host 192.168.6.11 dscp af23

70 permit tcp host 192.168.7.11 host 192.168.7.11 dscp af31

80 permit tcp host 192.168.8.11 host 192.168.8.11 dscp af32

90 permit tcp host 192.168.9.11 host 192.168.9.11 dscp af33

Wenn Sie sich die Capmap-Tabelle ansehen, sehen Sie, dass sie voll ist:

Sup2T#show platform software acl capmap tcam A label 2 module 3

Shadow Capmap Table Entry For TCAM A

-----------------------------------------------------------------------

Output in a RST/INV/CNT format: RST - result value; INV - inverted;

CNT - aggregated reference account;

CBF - number of free cap bits (one per entry);

Free items are not shown

-----------------------------------------------------------------------

Index   CBF       [9]              [8]              [7]              [6]

[5]              [4]              [3]              [2]

[1]              [0]

----- ----- ---------------- ---------------- ---------------- -----------

----- ---------------- ---------------- ---------------- ----------------

---------------- ----------------

2     0 212/0/1           10/1/1            9/1/1            8/1/1

7/1/1            6/1/1            5/1/1            4/1/1            3/1/1

2/1/1

Folgendes passiert, wenn Sie versuchen, einen weiteren nicht erweiterbaren L4Op-basierten Eintrag zu installieren:

Sup2T(config-ext-nacl)#permit tcp host 192.168.10.11 host 192.168.10.11 dscp 2

Sup2T(config-ext-nacl)#end

%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23

dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)

%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23

dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)

%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23

dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)

%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23

dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)

%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23

dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)

%FMCORE-6-RACL_ENABLED: Interface GigabitEthernet3/23 routed traffic is hardware

switched in ingress direction

Oct 20 17:12:54.304: %EARL_CM-DFC3-5-NOCAPMAP: No free capmap entry available

Schauen Sie sich jetzt den TCAM für diese Schnittstelle an:

Sup2T#show platform hardware acl entry interface gig3/23 qos in ip module 3

mls_if_index:8096000 dir:0 feature:1 proto:0

Couldnt find feature for mls_if_index 0x8096000, dir 0

Keine der QoS-Funktionen ist für diese Schnittstelle im TCAM installiert.

Beachten Sie, dass für Markierungen keine L4Ops verwendet werden. Wenn Sie also eine einfache Zugriffskontrollliste ohne L4Ops haben und einen DSCP-Wert auf Übereinstimmung festlegen, werden dafür keine LOU-Register verwendet. Hier ein Beispiel:

Sup2T#show policy-map a1-policy

Policy Map a1-policy

Class a1-class

set dscp ef

Sup2T#show class-map a1-class

Class Map match-all a1-class (id 37)

Match access-group name a1

Sup2T#show ip access-lists a1

Extended IP access list a1

10 permit tcp host 192.168.1.1 host 192.168.2.1

Dies gilt für Interface Gig3/23:

Sup2T#show run interface gig3/23

Building configuration...

Current configuration : 176 bytes

!

interface GigabitEthernet3/23

switchport

switchport trunk allowed vlan 1-30

switchport mode trunk

service-policy input a1-policy

end

Sup2T#show platform hardware acl entry interface gig3/23 qos in ip  detail module 3

mls_if_index:8096000 dir:0 feature:1 proto:0

pass#0 features

UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin

MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe

's' means set; 'u' means unset; '-' means don't care

----------------------------------------------------------------

----------------------------------------------------------------

---------------------------------------------------------------

-------

I     INDEX  LABEL FS ACOS    AS           IP_SA        SRC_PORT

IP_DA        DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs

RSLT                  CNT

---------------------------------------------------------------

---------------------------------------------------------------

---------------------------------------------------------------

---------

fno:0

tcam:A, bank:0, prot:0    Aces

I  V  16238      3  0    0     0     192.168.1.1               -     192.168.2.1

- 0  0      1      -       -----          -                    0x0000E010005D100B

0

I  M  16238 0x1FFF  0 0x00 0x000 255.255.255.255               - 255.255.255.255

- 0  0    0xF

I  V  16239      3  0    0     0         0.0.0.0               -         0.0.0.0

- 0  0      0      -       -----          -                    0x000000000080D00B

0

I  M  16239 0x1FFF  0 0x00 0x000         0.0.0.0               -         0.0.0.0

- 0  0    0x0

Sup2T#show platform software acl capmap tcam A label 3 module 3

Shadow Capmap Table Entry For TCAM A

-----------------------------------------------------------------------

Output in a RST/INV/CNT format: RST - result value; INV - inverted;

CNT - aggregated reference account;

CBF - number of free cap bits (one per entry);

Free items are not shown

-----------------------------------------------------------------------

Index   CBF       [9]              [8]              [7]              [6]

[5]              [4]              [3]              [2]              [1]

[0]

----- ----- ---------------- ---------------- ---------------- ----------------

---------------- ---------------- ---------------- ---------------- -----------

----- ----------------

3     9 212/0/1                      Free             Free             Free

Free             Free             Free             Free             Free

Free

Anwenderbericht Nr. 4: Dual-Stack-ACLs verursachen Erschöpfung der CAPMAP

In diesem Beispiel gibt es eine Schnittstelle, die sowohl IPv4- als auch IPv6-ACLs verwendet, die diese Fehler beim Aktivieren der Schnittstelle verursacht:

%EARL_CM-5-NOCAPMAP: No free capmap entry available

%FMCORE-4-RACL_REDUCED: Interface Vlan500 routed traffic will be software switched in ingress direction.

L2 features may not be applied at the interface

Wenn jedoch nur die IPv4-ACL entfernt und dann zur gleichen Schnittstelle hinzugefügt wird, wird die Hardwareprogrammierung erfolgreich abgeschlossen, und der Fehler wird nicht mehr generiert.

In diesem Beispiel werden diese ACLs unter der SVI konfiguriert:

Switch#sh ip access-lists INGRESS

Extended IP access list INGRESS

10 permit tcp host 1.1.1.1 host 1.1.1.2 range 1 10

20 permit tcp host 1.1.1.3 host 1.1.1.4 range 10 ftp-data

30 permit tcp host 2.1.1.3 host 2.1.1.4 range 30 40

40 permit tcp host 2.1.1.3 host 2.1.1.4 range 85 100

50 permit tcp host 2.1.1.3 host 10.1.1.1 range 222 333

60 permit tcp host 20.5.4.3 host 10.100.100.1 range www 443

70 permit tcp host 200.50.4.3 host 11.11.11.1 range 800 813

80 permit tcp host 200.50.40.30 host 12.12.11.1 range 50 60

90 permit tcp host 13.13.13.3 host 14.14.14.3 range gopher 90

100 permit tcp host 23.23.23.3 host 14.14.10.1 range 123 345

110 permit udp host 123.123.123.1 range 50 60 host 23.23.23.1 range 10 20

120 permit udp host 45.45.43.1 range 1000 1010 host 1.1.1.1 range 50 65

130 permit tcp host 78.78.78.1 range 89 95 host 2.3.4.5 range 1111 1200

140 permit tcp host 5.5.5.50 eq 65000 host 5.4.5.4

150 permit tcp host 5.15.5.150 range 1200 1250 host 1.7.8.4 range 45 65

Switch#show ipv6 access-list DENY-ALL-V6

IPv6 access list DENY-ALL-V6

permit udp FE80::/64 host FF02::66 eq 2000 sequence 10

deny ipv6 any any sequence 20

Wie im vorherigen Beispiel gezeigt, verfügt die IPv4-ACL über mehr als neun eindeutige, erweiterbare L4Ops. Bei einer Schnittstelle, die nur mit IPv4 konfiguriert ist, werden diese nach Bedarf erweitert, um die Capmap-Tabelle nicht zu verbrauchen.

Wenn diese in einer Dual-Stack-Umgebung in die TCAM-Hardware programmiert werden, beginnt der Switch zunächst mit der IPv4-ACL. Mit unzureichenden freien Einträgen in der Capmap-Tabelle erweitert der Switch einige der erweiterbaren L4Ops, um die Capmap-Tabelle zu füllen, ohne sie zu übertreffen. Das Ergebnis ist, dass jetzt die Anzahl der freien Einträge in der Tabelle 0 ist, was bedeutet, dass es jetzt keine Einträge gibt, um die nicht erweiterbare L4Op zu programmieren, die erforderlich ist, wenn Sie die IPv6-ACL als Nächstes programmieren.

Wenn Sie nur die IPv4-ACL entfernen, nimmt die Anzahl der freien Einträge in der Capmap-Tabelle zu, und die IPv6-ACL ist jetzt korrekt in die Hardware programmiert und verwendet einen der neu freigegebenen Capmap-Einträge. Wenn die IPv4-ACL wieder auf die Schnittstellenkonfiguration angewendet wird, erfolgt die gleiche Erweiterung erneut. Erst jetzt wird ein zusätzlicher IPv4-Eintrag durch die IPv6-ACL erweitert, die einen freien Capmap-Wert verwendet. Da alle L4Ops in dieser ACL erweiterbar sind, ist die Programmierung erfolgreich.

Um zu verhindern, dass die IPv4-ACL manuell entfernt und hinzugefügt wird, um das Zusammenführen der Einträge in der Hardware zu ermöglichen, wurde eine Erweiterung erstellt, um den TCAM-Zusammenführungsalgorithmus in solchen Szenarien zu ändern. Weitere Informationen finden Sie unter Cisco Bug ID CSCuq24924.

Infolgedessen verfügen "Fixed-in"-Softwareversionen jetzt über eine konfigurierbare Option in der globalen Konfiguration, die die Art und Weise, wie L4Ops in Instanzen wie einer Dual-Stack-IPv4/v6-ACL-Bereitstellung programmiert werden, ändert. Dies ist die Konfigurationsänderung, die vorgenommen werden kann.

Switch(config)#platform hardware acl tcam-exp-logic enable

Hinweis: Aufgrund der Änderungen, die durch diese Erweiterung eingeführt wurden, werden erweiterbare L4Ops mit einer höheren Geschwindigkeit als normal erweitert. Dies kann zu einer deutlichen Steigerung der TCAM-Nutzung infolge der Erweiterung führen.