La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive come comprendere e verificare l'utilizzo dell'hardware QoS (Quality of Service) sugli switch Catalyst serie 9000 con ASIC UADP
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Altri switch Cisco Catalyst serie 9000 supportano concetti generali, idee e vari output.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Il presente documento può essere utilizzato anche per le seguenti versioni hardware e software:
Questo documento consente di:
QoS |
Quality of Service (QoS) |
Concetto/gruppo di funzionalità correlate relative alla classificazione, alla contrassegno, alla coda e alla pianificazione del traffico in entrata e in uscita da un dispositivo di rete |
TCAM |
Memoria ternaria indirizzabile al contenuto |
Tipo di memoria che memorizza ed esegue query su voci con tre input diversi: 0, 1 e X. Questo tipo di memoria viene utilizzato nei casi in cui esistono più corrispondenze alla stessa voce e l'Hash risultante per ciascuna voce non è univoco. Questa tabella include una maschera o un valore X che consente di sapere se corrisponde o meno a questa voce. |
DSCP |
Valore DSCP |
Meccanismo di classificazione del traffico contenuto nell'intestazione IP di un pacchetto |
CoS |
Class of Service |
Meccanismo di classificazione del traffico contenuto nell'intestazione frame Ethernet di un pacchetto |
ASSO |
Voce di controllo di accesso |
Una singola regola o riga in un Access Control List (ACL) |
ACL |
Lista dei controlli di accesso |
Gruppo di voci di controllo di accesso (ACE, Access Control Entries) utilizzate da diverse funzionalità per associare il traffico e intraprendere un'azione |
FED |
Driver motore di inoltro |
Componente software che programma l'hardware del dispositivo |
Se le risorse correlate a QoS si esauriscono, il sistema genera i messaggi SYSLOG:
Messaggio syslog relativo a QoS |
Definizione |
Azioni di ripristino |
%FED_QOS_ERRMSG-4-TCAM_OVERFLOW: Switch 1 R0/0: feed: impossibile programmare TCAM per la mappa dei criteri in ingresso_pmap2 su Gigabit Ethernet1/0/10. |
Spazio esaurito nell'hardware (TCAM) riservato alle voci QoS |
Accertarsi di disporre di una configurazione valida/supportata. Quindi, esaminare le altre parti di questo documento per verificare l'utilizzo della scala corrente dello switch e i possibili passaggi per ridurlo in caso di sovrautilizzo. |
%FED_QOS_ERRMSG-3-QUEUE_SCHEDULER_HW_ERROR: switch 1 R0/0: feed: impossibile configurare l'utilità di pianificazione code per Gigabit Ethernet 1/0/27 |
Installazione nell'hardware dell'utilità di pianificazione code QoS non riuscita |
Verificare che la configurazione sia supportata. Consultare la guida alla configurazione QoS per la piattaforma e la versione del software in uso. SOLO per 9200L: rivedere l'ID bug Cisco CSCvz54607 e l'ID bug Cisco CSCvz76172 |
FED_QOS_ERRMSG-3-QUEUE_BUFFER_HW_ERROR: R0/0: feed: impossibile configurare il buffer della coda predefinito |
Installazione nell'hardware dei buffer della coda QoS non riuscita |
Verificare che la configurazione sia supportata. Consultare la guida alla configurazione QoS per la piattaforma e la versione del software in uso. |
Verifica dell'utilizzo corrente di QoS TCAM
show platform hardware fed switch active fwd-asic resource tcam utilization
Nota: per ulteriori informazioni su questo comando, vedere
16.X versions: CAM Utilization for ASIC [0] Table Max Values Used Values -------------------------------------------------------------------------------- Unicast MAC addresses 16384/256 15/21 L3 Multicast entries 1024/256 0/7 L2 Multicast entries 1024 9 Directly or indirectly connected routes 8192/3072 2/19 QoS Access Control Entries 1024 40 <<< QoS Entries Security Access Control Entries 1408 125 Ingress Netflow ACEs 128 8 Policy Based Routing ACEs 512 9 Egress Netflow ACEs 128 8 Flow SPAN ACEs 256 13 Control Plane Entries 512 211 Tunnels 128 17 Lisp Instance Mapping Entries 128 3 SGT_DGT 2048/256 0/1 CLIENT_LE 2048/64 0/0 INPUT_GROUP_LE 1024 0 OUTPUT_GROUP_LE 1024 0 Macsec SPD 128 2
17.x Versions:
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ Mac Address Table EM I 16384 17 0.10% 0 0 0 17 Mac Address Table TCAM I 256 21 8.20% 0 0 0 21 L3 Multicast EM I 1024 0 0.00% 0 0 0 0 L3 Multicast TCAM I 256 9 3.52% 3 6 0 0 L2 Multicast TCAM I 1024 11 1.07% 3 8 0 0 IP Route Table EM I 4096 3 0.07% 2 0 1 0 IP Route Table TCAM I 2048 19 0.93% 6 10 2 1 QOS ACL TCAM IO 1024 85 8.30% 28 38 0 19 <-- QoS Entries Security ACL TCAM IO 1408 129 9.16% 26 58 0 45 Netflow ACL TCAM I 128 6 4.69% 2 2 0 2 PBR ACL TCAM I 512 9 1.76% 3 6 0 0 Netflow ACL TCAM O 128 6 4.69% 2 2 0 2 Flow SPAN ACL TCAM IO 256 13 5.08% 3 6 0 4 Control Plane TCAM I 512 262 51.17% 114 106 0 42 Tunnel Termination TCAM I 128 18 14.06% 8 10 0 0 Lisp Inst Mapping TCAM I 128 1 0.78% 0 0 0 1 CTS Cell Matrix/VPN Label EM O 2048 0 0.00% 0 0 0 0 CTS Cell Matrix/VPN Label TCAM O 256 1 0.39% 0 0 0 1 Client Table EM I 2048 0 0.00% 0 0 0 0 Client Table TCAM I 64 0 0.00% 0 0 0 0 Input Group LE TCAM I 1024 0 0.00% 0 0 0 0 Output Group LE TCAM O 1024 0 0.00% 0 0 0 0 Macsec SPD TCAM I 128 2 1.56% 0 0 0 2
Verificare che il criterio QoS sia installato correttamente nell'hardware. Verificare che lo stato sia VALID e SET_INHW. Cercare le voci dell'interfaccia fisica nella parte inferiore dell'elenco. Negli stack di switch o in modalità stack-virtuale, usare il numero dello switch o modalità attivo/standby per indicare con precisione su quale switch si desidera convalidare l'installazione dell'hardware.
C9200(config)#policy-map egress_pmap
C9200(config-pmap)#interface gi2/0/9
C9200(config-if)#service-policy output egress_pmap
C9200#show platform software fed switch 2 qos policy target status <-- switch 2 is used because the interface in question is Gi2/0/9 which is on switch 2 TCG status summary: Loc Interface IIF-ID Dir State:(cfg,opr) Policy --- --------------------- ---------------- --- --------------- --------------------
<snip> L:0 GigabitEthernet2/0/9 0x00000000000010 OUT VALID,SET_INHW egress_pmap <-- VALID / SET_INHW indicates the policy is understood by software and installed to hardware successfully
Se per un'interfaccia di destinazione viene visualizzato un criterio o un errore non valido anziché VALID / SET_INHW, rivedere il criterio QoS e convalidare la lunghezza e la sintassi. Verificare inoltre l'utilizzo hardware. Nelle sezioni successive di questo documento viene descritto in dettaglio come comprendere le risorse che un criterio può utilizzare.
C9200#show run policy-map egress_pmap Current configuration : 624 bytes ! policy-map egress_pmap class COS_DSCP6 priority level 1 queue-buffers ratio 5 class COS_DSCP5 bandwidth remaining percent 10 queue-buffers ratio 5
<snip...>
C9200#show run class-map COS_DSCP6
Current configuration : 66 bytes
!
class-map match-any COS_DSCP6
match ip dscp ef
!
end
C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 85 8.30% 28 38 0 19 <-- Baseline utilization with minimal configuration
Configurare e allegare una mappa dei criteri vuota. In questa mappa dei criteri non è stata chiamata alcuna mappa delle classi, pertanto il criterio non ha alcun effetto previsto.
C9200(config)#policy-map egress_pmap
C9200(config-pmap)#interface gi1/0/9
C9200(config-if)#service-policy output egress_pmap
C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 89 8.69% 29 40 0 20 <-- 4 additional entries consumed
Tenere presente che, anche se non sono associate mappe di classe o vengono eseguite azioni, vengono utilizzate 4 voci hardware, suddivise tra V4, V6 e Altro.
In questo esempio viene aggiunta una classe di test vuota. In uno scenario normale, questa mappa di classe match-any consente la corrispondenza di più tipi di etichette DSCP, CoS o IPP. Ad esempio, poiché non è stato chiamato alcun valore, la mappa di classe non corrisponde al traffico.
C9200(config)#class-map match-any TEST_CLASS
C9200(config-cmap)#policy-map egress_pmap
C9200(config-pmap)#class TEST_CLASS
C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 92 8.92% 30 42 0 20 <-- 3 additional entries consumed
Nell'esempio viene mostrato che per ogni classe aggiuntiva chiamata, anche senza alcun traffico specifico corrispondente, vengono utilizzate una linea di base di una voce v4 e due voci v6.
Quando si aggiunge un'istruzione match a ciascuna classe, vengono utilizzate altre voci:
C9200(config)#class-map match-any TEST_CLASS
C9200(config-cmap)#match precedence 0
C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS QOS ACL TCAM IO 1024 96 9.38% 31 44 0 21 <-- 4 additional entries
C9200(config-cmap)#match precedence 1
C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS QOS ACL TCAM IO 1024 99 9.67% 32 46 0 21 <-- 3 additional entries
C9200(config-cmap)#match cos 1
C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS QOS ACL TCAM IO 1024 100 9.77% 32 46 0 22 <-- 1 additional entry
C9200(config-cmap)#match dscp 21
C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS QOS ACL TCAM IO 1024 103 10.06% 33 48 0 22 <-- 3 addditional entries
C9200(config-cmap)#match dscp 22
C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS QOS ACL TCAM IO 1024 103 10.06% 33 48 0 22 <-- 0 additional entries
C9200(config-cmap)#match dscp 23
C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS QOS ACL TCAM IO 1024 106 10.35% 34 50 0 22 <-- 3 additional entries
C9200(config-cmap)#match dscp 31
C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS QOS ACL TCAM IO 1024 109 10.64% 35 52 0 22 <-- 3 additional entries
C9200(config-cmap)#match dscp 32
C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS QOS ACL TCAM IO 1024 109 10.64% 35 52 0 22 <-- 3 additional entries
C9200(config-cmap)#match dscp 33
C9200(config-cmap)#do show platform hardware fed switch ac fwd resource tcam utilization | i QOS QOS ACL TCAM IO 1024 112 10.94% 36 54 0 22 <-- 3 additional entries
Si noti che, in alcuni casi, una singola istruzione match non consuma ulteriori voci. Si noti inoltre che le istruzioni di corrispondenza successive utilizzano più voci.
Prima di implementare un criterio in tutta la rete, verificare il criterio durante la fase di sviluppo e apportare le ottimizzazioni necessarie.
Nota: per l'utilizzo hardware correlato a QoS, l'utilizzo hardware non è sempre scalabile uno a uno con istruzioni match o voci di controllo di accesso (ACE). L'hardware opera in termini di risultato della maschera di valore, o VMR. In alcuni scenari, può essere necessario più di un VMR per classificare completamente l'intervallo di dati necessario per eseguire un ACE. Gli ASIC della famiglia Catalyst 9000 UADP contengono hardware per ottimizzare questi scenari, ad esempio per gli ACE con operazioni sull'intervallo di porte (L4OP), in modo da ridurre la necessità di espansione.
In questa sezione vengono presentati più scenari con questa combinazione di hardware e software per illustrare uno scenario di problema e la risoluzione.
Gli scenari presentati illustrano:
Nota: in questi esempi vengono usati ACL basati su gruppi di oggetti. I gruppi di oggetti rappresentano in modo efficiente elenchi di accesso tradizionali molto più grandi. Non consumano più o meno TCAM. Sono piuttosto un modo semplificato e modulare per rappresentare quelle che altrimenti sarebbero liste di ACE molto lunghe e con motivi.
In questo esempio viene utilizzata una policy in entrata per contrassegnare i pacchetti. Include Object-Group, elenchi di accesso IP e corrispondenze basate sulla porta TCP/UDP.
Gruppi di oggetti |
Elenco degli accessi che utilizza il gruppo di oggetti |
Mappa classi |
Mappa criteri |
rete di gruppi di oggetti RFC1918-Private-IPv4
|
ip access-list extended APP_1_PORTS_1 10 allow udp any object-group app_1 range 1433 1434 20 consenti udp object-group app_1 intervallo 1433 1434 any 30 allow tcp any object-group app_1 range 1433 1434 40 permette tcp object-group app_1 intervallo 1433 1434 any 50 allow tcp any object-group app_1 range 14300 14400 60 allow tcp object-group app_1 range 14300 14400 any |
class-map match-any BigClass match access-group name APP_1_PORTS_1 |
mappa-criteri in ingresso classe BigClass set dscp cs2 |
Esaminare il grafico e notare che nella rete a oggetti e gruppi RFC1918-Private-IPv4 sono presenti 3 subnet
object-group network app_1
group-object RFC1918-Private-IPv4
object-group network RFC1918-Private-IPv4
10.0.0.0 255.0.0.0
172.16.0.0 255.240.0.0
192.168.0.0 255.255.0.0
Inoltre, ci sono 6 istruzioni match in ip access-list extended APP_1_PORTS_1.
ip access-list extended APP_1_PORTS_1 10 permit udp any object-group app_1 range 1433 1434 <-- permits any source, to group app_1 on UDP ports 1433 - 1434 20 permit udp object-group app_1 range 1433 1434 any <-- reverse of previous line, reminder that app_1 is made up of RFC1918-Private-IPv4, which is 3 separate subnets 30 permit tcp any object-group app_1 range 1433 1434 40 permit tcp object-group app_1 range 1433 1434 any 50 permit tcp any object-group app_1 range 14300 14400 60 permit tcp object-group app_1 range 14300 14400 any
object-group network app_1 applica ogni voce della rete di object group RFC1918-Private-IPv4 a ogni voce dell'elenco degli accessi ip esteso APP_1_PORTS_1
Questo ha un effetto moltiplicativo, perché per ogni ACE in APP_1_PORTS_1, fa riferimento all'object-group app_1 che a sua volta rappresenta 3 ACE aggiuntive di RFC1918-Private-IPv4
Stima di utilizzo totale per l'elenco accessi IP esteso APP_1_PORTS_1, quando collegato a una mappa di classi e a una mappa di criteri:
APP_1 utilizzata 6 volte x 3 ACE oggetto-gruppo = 18
Applicare la regola e osservare l'utilizzo di TCAM:
C9200#show platform hardware fed switch 2 fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 85 8.69% 29 40 0 20 <-- baseline utilization
C9200(config-pmap)#interface gi1/0/9
C9200(config-if)#service-policy input ingress_pmap
C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 107 10.45% 47 40 0 20 <-- 22 entries consumed
Riepilogo
Questo esempio è una continuazione del precedente con una politica più ampia. In questo modo è possibile consumare rapidamente una grande quantità di TCAM.
Politica 1:
Gruppi di oggetti |
Elenchi di accesso che utilizzano i gruppi di oggetti |
Mappa classi |
Mappa criteri |
rete a oggetti sperimentale_1 rete a oggetti sperimentale_2 rete di gruppi di oggetti RFC1918-Private-IPv4
app di rete object-group_4 |
ip access-list extended APP_1_PORTS_1 <altre 4 righe> ip access-list extended APP_1_PORTS_2 <altre 18 righe> ip access-list extended APP_1_PORTS_3 10 consenti udp qualsiasi oggetto-gruppo app_1 intervallo 22030 22031 <altre 6 righe> ip access-list extended APP_2_PORTS_1 10 allow udp any object-group app_2 range 6000 9291 ip access-list extended APP_3_PORTS_1 10 allow tcp any object-group app_3 eq 7563 <altre 4 righe> ip access-list extended APP_3_PORTS_2 <altre 2 righe> ip access-list extended APP_3_PORTS_3 10 allow udp any object-group app_3 eq 22331 <altre 2 righe> ip access-list extended APP_3_PORTS_4 <altre 6 righe> ip access-list extended APP_4_PORTS_1 <altre 14 righe> |
class-map match-any BigClass_1 class-map match-any BigClass_2 class-map match-any BigClass_3 class-map match-any BigClass_4 class-map match-any BigClass_5 |
mappa-criteri big_ingress_pmap set dscp cs4 classe BigClass_2 set dscp af41 classe BigClass_3 set dscp cs3 classe BigClass_4 set dscp af31 classe BigClass_5 set dscp cs2 class-default |
Osservare che la mappa dei criteri a destra del grafico è semplice, così come le mappe delle classi adiacenti. Le mappe di classe, tuttavia, sono costituite da un insieme di elenchi di accesso e gruppi di oggetti più lunghi, che si espandono una volta che il software unisce tutti i componenti mentre la mappa delle policy viene applicata a un'interfaccia.
Quando viene applicato il criterio:
C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 85 8.69% 29 40 0 20
C9200(config-pmap)#interface gi1/0/9
C9200(config-if)#service-policy input big_ingress_pmap
C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 633 61.82% 573 40 0 20 <-- 548 increase in used value
Il valore utilizzato è aumentato da 85 a 633 per la voce QOS ACL TCAM table, con un aumento di 548 voci
In questo scenario, se si utilizza la mappa dei criteri precedente e si modifica solo il set dscp cs4 per impostare dscpef in un criterio separato, quando il criterio è associato tutte le voci devono essere duplicate nell'hardware.
Nota: quando si progetta un criterio QoS, un modo significativo per ridurre l'utilizzo dell'hardware consiste nel combinare azioni e regole in un'unica mappa dei criteri per soddisfare più casi di utilizzo. Le ACE di classificazione che si sovrappongono tra due mappe delle regole vengono duplicate nell'hardware. Quando si combinano i criteri, non è più necessario reinstallare le voci ACE che si sovrappongono.
Mappa criteri 1 | Mappa criteri 2 |
mappa-criteri big_ingress_pmap set dscp cs4 classe BigClass_2 set dscp af41 classe BigClass_3 set dscp cs3 classe BigClass_4 set dscp af31 classe BigClass_5 set dscp cs2 class-default |
mappa-criteri big_ingress_pmap2 set dscp ef classe BigClass_2 set dscp af41 classe BigClass_3 set dscp cs3 classe BigClass_4 set dscp af31 classe BigClass_5 set dscp cs2 class-default |
Osservare quando si installa big_ingress_pmap2, non viene rilevato alcun aumento dell'utilizzo e viene registrato un errore.
C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 85 8.69% 29 40 0 20
C9200(config-pmap)#int gi1/0/9
C9200(config-if)#service-policy input big_ingress_pmap
C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 633 61.82% 573 40 0 20 <-- Utilization increased
C9200(config-pmap)#int gi1/0/10
C9200(config-if)#service-policy input big_ingress_pmap2
C9200#show platform hardware fed switch active fwd-asic resource tcam utilization | i Codes|ASIC|-|QOS
Codes: EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ QOS ACL TCAM IO 1024 633 61.82% 573 40 0 20 <-- Utilization did not increase further
Questo errore viene osservato:
C9200#show logging
...
*Mar 2 04:54:48.170: %FED_QOS_ERRMSG-4-TCAM_OVERFLOW: Switch 3 R0/0: fed: Failed to program TCAM for policy-map big_ingress_pmap2 on GigabitEthernet1/0/10.
Verificare la presenza di un errore durante l'installazione del criterio nell'hardware:
C9200#show platform software fed switch 1 qos policy target status TCG status summary: Loc Interface IIF-ID Dir State:(cfg,opr) Policy --- --------------------- ---------------- --- --------------- --------------------
<snip> L:0 GigabitEthernet1/0/9 0x00000000000010 IN VALID,SET_INHW big_ingress_pmap <-- Configuration is valid, and installed / set in hardware
L:0 GigabitEthernet1/0/10 0x000000000000a4 IN VALID,ERROR big_ingress_pmap2 <-- Configuration is valid, but there is an error to install it in hardware
Per correggere questo scenario, è necessario considerare l'intento della modifica e verificare se è possibile eseguire le ottimizzazioni.
Mappa criteri 1 |
Mappa criteri 2 |
mappa-criteri big_ingress_pmap set dscp cs4 classe BigClass_2 set dscp af41 classe BigClass_3 set dscp cs3 classe BigClass_4 set dscp af31 classe BigClass_5 set dscp cs2 class-default |
mappa-criteri big_ingress_pmap2 set dscp ef classe BigClass_2 set dscp af41 classe BigClass_3 set dscp cs3 classe BigClass_4 set dscp af31 classe BigClass_5 set dscp cs2 class-default |
Se la configurazione è valida e viene raggiunto un limite di scala dell'hardware, la correzione richiede un approccio incentrato sulla progettazione. Non esiste un modo migliore per ridurre le ACE e il conseguente utilizzo di VMR dell'hardware. È necessario considerare gli elementi che si desidera classificare e il modo in cui riepilogarli.
Gli scenari precedenti presentano intenzionalmente due politiche quasi identiche, ad eccezione di una dichiarazione set dscp nella mappa dei criteri. In questo caso, se si desidera contrassegnare la stessa classificazione del traffico al layer 3 (IP) o al layer 4 (TCP/UDP) in modo diverso a seconda dell'interfaccia, è necessario considerare le modifiche delle informazioni principali (relative ai dispositivi dietro tali interfacce) in modo da poter combinare queste due policy in una.
Nota: il protocollo SGT/SGACL richiede Cisco ISE, la relativa configurazione DOT1X / MAB e un'ulteriore applicazione in tutta la rete. È necessario tenere in considerazione la progettazione corretta.
Di seguito viene riportata la procedura per modificare il criterio di esempio per combinare le funzionalità di big_ingress_pmap e big_ingress_pmap2:
La classe BigClass_1 è generata dal nome del gruppo di accesso (elenco accessi) APP_3_PORTS_2.
L'elenco degli accessi IP esteso APP_3_PORTS_2 è il punto in cui viene stabilita la relazione tra le origini e le destinazioni
Creare un duplicato di APP_3_PORTS_2 esteso dell'elenco degli accessi IP con un nuovo nome, ma individuare le subnet di origine/destinazione specifiche a cui applicare questa distinzione:
ip access-list extended APP_3_PORTS_2_Special
10 permit udp <specific subnet or object group> object-group app_3 eq 554
20 permit udp object-group app_3 eq 554 <specific subnet or object group>
Creare una nuova classe denominata BigClass_1_Special
class-map match-any BigClass_1_Special
match access-group name APP_3_PORTS_2_Special
Riconfigurare il mapping dei criteri per includere la nuova classe all'inizio del criterio.
Mappa criteri combinati |
mappa-criteri big_ingress_pmap_Combined set dscp ef classe BigClass_1 set dscp cs4 classe BigClass_2 set dscp af41 classe BigClass_3 set dscp cs3 classe BigClass_4 set dscp af31 classe BigClass_5 set dscp cs2 class-default |
Nota: non è possibile riordinare le classi in una mappa dei criteri. Se è necessario posizionare una classe appena configurata prima di una già esistente, è necessario riconfigurare l'intero criterio, ovvero rimuoverlo completamente dalla configurazione.
Se si crea una nuova policy con un ordine aggiornato e l'installazione o l'applicazione della policy non riesce, rimuovere innanzitutto la policy precedente da tutte le interfacce collegate per ridurre l'utilizzo dell'hardware.
L'intervallo di interfacce dei comandi funziona sulle interfacce in sequenza, quindi il suo utilizzo con un nuovo criterio per sovrascrivere un vecchio criterio introduce uno scenario temporaneo in cui entrambi i criteri devono essere nell'hardware. A quel punto potrebbe non riuscire a installare a causa di un utilizzo eccessivo. Rimuovere il criterio corrente da tutte le interfacce per ridurre l'utilizzo dell'hardware, quindi continuare.
In questa guida vengono descritti i problemi più comuni relativi alle risorse hardware correlate all'utilizzo di QoS, con le procedure di risoluzione appropriate. Tuttavia, se la presente guida non risolve il problema, raccogliere l'elenco di comandi visualizzato e allegarlo alla richiesta di servizio TAC.
ID bug Cisco CSCvz54607 (C9200/C9200L (16.12) - Sovraccarico della coda di output causato da una programmazione QoS errata)
ID bug Cisco CSCvz76172 (C9200/C9200L (17.3/17.6) - Sovraccarico della coda di output causato da una programmazione QoS errata)
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
05-Dec-2022 |
Versione iniziale |