Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment les unités d'opération logique et les opérations de couche 4 sont programmées dans le tableau de capmap. Il fournit des scénarios d'échec, les types d'erreurs que vous rencontrez généralement dans ces situations, et ce que vous devez déduire de ces erreurs.
Classification Manager (CM) gère la mémoire TCAM (Ternary Content Addressable Memory) de classification et les ressources associées telles que les étiquettes, les LOU, les entrées de capmap et autres. Les services CM sont utilisés par le gestionnaire de fonctionnalités (FM) et le gestionnaire QoS (QM) pour programmer les entrées TCAM afin de prendre en charge Cisco IOS® Fonctionnalités ACL (Access Control List) et QoS (Quality of Service).
LOU et L4Ops - LOU signifie Logical Operation Units, qui sont des registres matériels utilisés pour stocker {opérateur, opérande} des tuples pour les numéros de port TCP/UDP spécifiés dans les listes de contrôle d'accès et les listes de contrôle d'accès VLAN. Ces tuples sont également appelés L4Ops. Par exemple, si vous associez l'hôte X à l'hôte Y gt 1023, le tuple devient {gt, 1023}.
L4Ops - Opérations de couche 4.
Tables Capmap - Les L4Ops décrites précédemment sont programmées dans des registres LOU référencés par des entrées dans des tables Capmap. Chaque table capmap a une limite de 10 (une est réservée à la direction, ce qui ramène la limite à neuf) entrées (L4Ops). Les tables Capmap sont indexées par l'étiquette TCAM elle-même.
Il existe deux TCAM, A et B ; chaque TCAM comporte des étiquettes de 8 000 tr/min. Pour chaque TCAM, il existe une table de majuscules de 2000 entrées. Puisque chaque TCAM comporte des étiquettes de 8 000 tr/min, il y a un chevauchement 4:1 ici - quatre étiquettes mappées à une entrée de capmap. Le chevauchement est le suivant : 1=2 049=4 097=6 145.
En gros, cela signifie que les étiquettes TCAM 1, 2049, 4097 et 6145 utilisent le même index de majuscules. La mise en oeuvre traditionnelle de l'allocation des étiquettes TCAM par Cisco a entraîné des problèmes en raison de ce chevauchement. Cisco a attribué des étiquettes TCAM avec un écart de 2 000 (2048 pour être précis). Cela signifie que l'allocation prendra la forme des 1, 2049, 4097, 6145, 2, 2050, 4098, 6146, et ainsi de suite.
Dès le départ, cette allocation TCAM était telle que les tables de capmap se chevauchaient. Voici un exemple pour le démontrer (tiré de l'ID de bogue Cisco CSCuo02666). Voici deux listes de contrôle d’accès, a1 et a2, définies et appliquées à l’interface VLAN 1 et à l’interface VLAN 2, comme indiqué ici :
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
Voici maintenant la TCAM pour ces interfaces :
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
L'étiquette TCAM attribuée à l'interface VLAN 1 est 2049 et l'étiquette TCAM attribuée à l'interface VLAN 2 est 4097. Cela signifie que ces deux interfaces utilisent la même table de capmap afin de référencer les registres LOU pour leur programmation L4Op.
Vous pouvez le confirmer avec cette commande (cinq ACE dans la liste de contrôle d’accès a1 et quatre ACE dans la liste de contrôle d’accès a2 impliquent que vous devriez voir la table de mappage comme pleine) :
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
Donc maintenant, à ce stade, si vous essayez d'installer une autre entrée de contrôle d'accès (ACE) L4Op, qui n'est pas extensible, pour l'une de ces interfaces, vous recevrez l'erreur No free capmap entry available.
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
Cela se traduit par un pontage logiciel de l'ensemble de l'interface qui pourrait entraîner un ralentissement de la commutation, une utilisation élevée du CPU et d'autres problèmes connexes.
Note: L'ID de bogue Cisco CSCuo02666 a été levé pour résoudre ce problème. Le plus grand changement de logique qu'il introduit est la manière dont les étiquettes TCAM sont attribuées. Cisco alloue désormais des étiquettes TCAM en continu (2,3,4,5, etc.) jusqu'en 2048 au lieu de 2 000. Cela signifie que les tables de maquette ne sont plus partagées depuis le début.
N'oubliez pas que les LOU, comme toute autre ressource matérielle, sont limitées. Au total, 104 LOU sont disponibles :
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
Les tables Capmap sont utilisées uniquement lorsque les opérations de couche 4 doivent être prises en compte. Notez que la correspondance sur les valeurs DSCP (Differentiated Services Code Point)/CoS (Class of Service) est également considérée comme L4Op. Voici un exemple simple (qui utilise une version de code qui inclut la correction de l'ID de bogue Cisco CSCuo02666 ) sur lequel ce document s'appuie progressivement :
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
Ceci est correctement programmé dans TCAM :
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
Les tables Capmap sont référencées via l'étiquette TCAM elle-même. Vous pouvez utiliser l'étiquette TCAM dans la commande show platform software [hardware] acl capmap tcam <> label <> afin d'afficher la table correspondante (logiciel ou matériel) pour cette étiquette TCAM.
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
Rien n'est alloué dans la table de capmap pour cette étiquette. La liste de contrôle d'accès définie ne comporte pas de L4Ops ; il n'est pas nécessaire d'installer une entrée dans la table capmap.
Modifiez cet ACE en ceci :
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
Regardez à nouveau la table de capmap.
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
Si vous établissez directement un numéro de port, il ne compte pas également comme L4Op.
Modifiez-le comme suit :
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
Examinez à nouveau la table de mappage :
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
Il y a maintenant une entrée dans la table capmap. L'ACE a été converti en 3/1/1 dans la table capmap. Il s'agit du format RST/INV/CNT. La TVD indique ici dans quelle LOU cette L4Op a été enregistrée et la CNT décrit le nombre agrégé de cette LOU (plus d'informations à ce sujet plus tard). Regardez ce résultat afin de comprendre comment la valeur de TVD est indexée :
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
Vous pouvez voir que la valeur L4op_sel de 0 point au registre LOU0 B, la valeur de 1 point au registre LOU0 A, la valeur de 2 points au registre LOU1 B, la valeur de 3 points au registre LOU1 B, et ainsi de suite. Le registre A est toujours programmé en premier. La sortie 3/1/1 a plus de sens maintenant que vous voyez ceci.
Dans ce résultat, 3 signifie que L4Op a été programmé dans le registre LOU1 A. Vous pouvez également vérifier où une L4Op est programmée si vous examinez directement le contenu des registres de la liste de valeurs :
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*
Comme vous pouvez le voir, un tuple (gt, X) est programmé en tant que (LT, X+1) dans les registres de la LOU.
Note: Les opérations L4Ops sont programmées dans les registres LOU UNIQUEMENT lorsqu'elles sont appliquées aux interfaces. Si des listes de contrôle d'accès sont créées avec L4Ops (sans que la liste de contrôle d'accès ne soit réellement appliquée à une interface), elles ne programment pas les L4Ops applicables dans les registres de LOU.
Supprimez la liste de contrôle d’accès de l’interface VLAN 1 et examinez à nouveau les registres de la liste de contrôle d’accès :
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*
Les indicateurs TCP ont un ensemble spécial de registres alloués dans la plage de registres de la liste de valeurs. Vous pouvez afficher cette plage via la commande show platform software acl capmap map, comme indiqué ici :
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
Les valeurs L4op_sel 224-239 sont disponibles pour les indicateurs TCP, ce qui vous donne un ensemble de 16 registres à utiliser. Voici un exemple simple pour le démontrer. Cette liste de contrôle d’accès est définie :
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
Appliquez cette entrée sur l'interface VLAN 13 :
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
Dans cet exemple, l'indicateur TCP est programmé dans le registre 224 (cela correspond au premier registre disponible pour les indicateurs TCP). Le nombre total pour cela correspond au nombre de flux TCP (ACE lus) avec le même indicateur TCP.
Ajoutez une autre entrée de contrôle d’accès à la liste de contrôle d’accès actuelle a13. Ceci doit avoir un indicateur TCP différent :
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
Si vous examinez à nouveau la table capmap, vous voyez qu'un autre registre TCP est utilisé :
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
Comme vous pouvez le voir, la programmation est faite par indicateur ; pour chaque indicateur, un registre TCP indépendant est utilisé et vous conservez un comptage par rapport à cela. Cela signifie que, pour chaque indicateur, vous utilisez également une entrée capmap. Ceci implique en outre que techniquement, vous ne pouvez pas dépasser neuf indicateurs dans votre liste de contrôle d'accès ou atteindre la limite de capmap avant la limite TCP de 16 indicateurs.
Augmentez vos indicateurs TCP de sorte que vous atteigniez la limite du registre TCP afin de voir ce qui se passe. Cet exemple montre plusieurs listes de contrôle d'accès qui ont été configurées et appliquées à différents VLAN d'interface afin d'atteindre une utilisation de registre TCP à 100 % comme indiqué ici :
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%
À ce stade, si vous décidez de configurer une autre liste de contrôle d'accès avec un indicateur TCP unique (ou une combinaison d'indicateurs TCP qui la rend unique) et de l'appliquer à une interface, vous devez programmer un nouvel indicateur TCP (ou une combinaison d'indicateurs) sur un registre TCP. Cependant, aucun registre matériel n'est disponible. Dans cette situation, vous établissez un pont sur l’ensemble de l’interface.
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
N'oubliez pas que les LOU sont une ressource limitée - vous pouvez également manquer d'espace pour ceux-ci. Vous pouvez surveiller l'utilisation de la LOU à l'aide de cette commande :
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%
Faites évoluer les listes de contrôle d’accès afin d’utiliser plus de LOU. Après l'installation de plusieurs listes de contrôle d'accès (avec la commande range qui prend deux registres de LOU, A et B), cet exemple montre l'utilisation de 96 % de LOU :
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%
Créez une autre liste de contrôle d’accès et appliquez-la à une interface qui ferait passer l’utilisation de la liste de contrôle d’accès à plus de 100 %.
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
L'exemple a atteint 100 % d'utilisation de la LOU ; cependant, notez qu'aucun message d'erreur n'a été reçu.
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%
Voici un autre test. Maintenant que la LOU est à 100%, prenez une L4Op très simple et essayez de l'installer pour une interface. Configurez cette liste de contrôle d’accès :
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
Appliquez cette entrée à l’interface VLAN 13.
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
Regardez maintenant la TCAM pour ce VLAN :
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
Les L4Ops ont été étendus. Si vous regardez la table de capmap pour cette étiquette TCAM, vous voyez que rien n'est installé.
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
Voici une explication de ce qui s'est passé. Comme les registres de la liste de valeurs sont complets, vous ne pouvez plus y installer de nouvelles L4Ops et rien ne peut être référencé dans la table de capmap. À ce stade, vous essayez toujours d'installer L4Ops dans TCAM en les développant. Si les opérations L4Ops ne peuvent pas être développées, le logiciel bascule l'interface entière dans la direction donnée.
Qu'implique une utilisation à 100 % du registre de LOU ? Votre TCAM commence à se remplir rapidement (en raison de l'extension L4Op). Si vous essayez d'installer des L4Ops non extensibles, alors avec la mise en oeuvre actuelle, l'ensemble de votre interface est ponté par logiciel.
En l'état actuel, une erreur n'est générée que lorsque vous essayez d'installer une L4Op non extensible dans une telle situation. Cet exemple montre comment modifier la liste de contrôle d'accès a13 actuelle qui a été appliquée à l'interface VLAN 13 avec l'ajout d'une L4Op non extensible.
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
Les politiques QoS peuvent également faire référence aux opérations L4Ops ; ces L4Ops doivent être installés comme tout autre L4Op. Cela signifie que par interface, même pour vos politiques de QoS, vous êtes limité par les restrictions que les tables de capture et les LOU ont intrinsèquement. Voici un exemple pour illustrer ceci de manière minime :
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
Cet exemple a une carte-politique correspondant à une carte-classe qui appelle la liste d'accès a1 qui correspond au trafic de 192.168.1.10 à 192.168.2.10 qui est marqué avec EF (Expeded Forwarding). La correspondance sur une valeur DSCP est une L4Op non extensible ; ceci doit être programmé dans un registre LOU et référencé via une entrée dans la table capmap. Cette carte-politique est maintenant installée en entrée de gig3/23.
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
Afin d'examiner la programmation QoS d'une interface, utilisez cette commande :
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
Le détail de cette commande indique le libellé TCAM utilisé sur cette interface.
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
L'étiquette TCAM utilisée est 2. Regardez la table de capmap pour ceci maintenant :
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
Note: Pour QoS TCAM, vous devez spécifier le numéro de module. Sans cela, le résultat ne donne aucun résultat.
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*
Une valeur LOU de 2 points à LOU1, enregistrez B. Vous pouvez confirmer cette programmation avec cette commande :
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*
Faites évoluer la configuration.
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
Ceci n'utilise plus d'entrées ; au lieu de cela, il augmente le nombre de références agrégées par rapport à la première entrée elle-même, ce qui est logique. Du point de vue de la table de capture et du registre de la liste de valeurs, il n'y a aucune préoccupation quant à la source et à la destination. Ceci stocke simplement les informations L4Op. Comme il correspond à la même valeur DSCP sur tous les ACE, vous n'avez besoin que d'une seule entrée pour cette valeur DSCP.
Modifiez-le de sorte que vous utilisiez neuf valeurs DSCP différentes.
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
Maintenant, si vous regardez la table capmap, vous voyez qu'elle est pleine :
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
Voici ce qui se passe si vous essayez d'installer une autre entrée L4Op non extensible :
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
Regardez maintenant la TCAM pour cette interface :
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
Aucune des fonctionnalités QoS n'est installée dans le TCAM pour cette interface.
Notez que le marquage ne consomme aucune opération L4Ops. Par conséquent, si vous avez une liste de contrôle d'accès simple qui ne possède pas L4Ops et que vous définissez une valeur DSCP sur match, aucun registre de liste de contrôle d'accès n'est utilisé pour cela. Voici un exemple :
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
Ceci est appliqué à l'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
Dans cet exemple, une interface configurée pour utiliser les listes de contrôle d'accès IPv4 et IPv6 crée ces erreurs lorsque l'interface est activée :
%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
Cependant, si seule la liste de contrôle d'accès IPv4 est supprimée, puis lue sur la même interface, la programmation matérielle s'exécute correctement et l'erreur n'est plus générée.
Pour cet exemple, ces listes de contrôle d’accès sont configurées sous l’interface SVI :
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
Comme indiqué dans l'exemple précédent, la liste de contrôle d'accès IPv4 dispose de plus de neuf opérations L4Ops extensibles uniques. Sous une interface configurée avec uniquement IPv4, ces paramètres seront développés selon les besoins afin de ne pas épuiser la table capmap.
Lorsque vous les programmez dans le matériel TCAM dans un environnement à double pile, le commutateur commence par la liste de contrôle d'accès IPv4. Avec des entrées libres insuffisantes dans la table capmap, le commutateur étend une partie des opérations L4Ops extensibles afin de remplir la table capmap sans la dépasser. Le résultat est que le nombre d'entrées libres dans la table est désormais 0, ce qui signifie qu'il n'y a plus d'entrées disponibles pour programmer l'opération L4Op non extensible requise lorsque vous allez programmer la liste de contrôle d'accès IPv6 suivante.
Lorsque vous supprimez uniquement la liste de contrôle d'accès IPv4, le nombre d'entrées libres dans la table de mappage augmente et la liste de contrôle d'accès IPv6 est désormais correctement programmée dans le matériel et utilise l'une des entrées de mappage nouvellement libérées. Lorsque la liste de contrôle d'accès IPv4 est réappliquée à la configuration d'interface, la même extension se produit à nouveau. Une seule entrée IPv4 supplémentaire est désormais développée en raison de la liste de contrôle d'accès IPv6 qui utilise une valeur de capmap libre. Puisque toutes les L4Ops peuvent être développées dans cette liste de contrôle d’accès, la programmation réussit.
Afin d'empêcher la suppression manuelle et l'ajout de la liste de contrôle d'accès IPv4 pour permettre la fusion des entrées dans le matériel, une amélioration a été créée pour modifier l'algorithme de fusion TCAM dans de tels scénarios. Voir l'ID de bogue Cisco CSCuq24924 pour plus d'informations.
En conséquence de cette amélioration, “ versions de ” de logiciels fixes disposeront désormais d'une option configurable dans la configuration globale qui modifie la façon dont les opérations L4Ops sont programmées dans des instances telles qu'un déploiement de listes de contrôle d'accès IPv4/v6 à double pile. Il s'agit de la modification de configuration qui peut être effectuée
Switch(config)#platform hardware acl tcam-exp-logic enable
Note: En raison des modifications introduites par suite de cette amélioration, les L4Ops extensibles sont augmentées à un taux supérieur à la normale et pourraient entraîner une augmentation significative de l'utilisation de TCAM en raison de l'expansion.