Sommario

Introduzione

Implementazione QoS su NCS550

Linee guida per la risoluzione dei problemi

QoS in ingresso

QoS in uscita

Monitoraggio FMQ

Comandi aggiuntivi da raccogliere

Limitazioni/avvertenze

Marcatura

Larghezza di banda

QoS in ingresso

QoS in uscita

HQoS

Avviso di configurazione non supportato dopo il commit

Introduzione

Questo documento descrive la guida alla risoluzione dei problemi QoS per Cisco Network Convergence System (NCS) serie 5500.

Implementazione QoS su NCS550

- QoS in NCS5500 viene eseguito sulla memoria di traduzione in entrata e in uscita della NPU. NCS5500 implementa un'architettura di coda di output virtuale, in cui le code in uscita sono basate sulle richieste di credito e sugli schemi di concessione.

- La memorizzazione effettiva avviene sui dispositivi di inoltro in entrata. Il dispositivo di inoltro in uscita stabilisce la quantità di traffico che può essere inviata concedendo crediti a qualsiasi dispositivo di inoltro in entrata che richiede credito.

- Tutte le code di un'interfaccia in uscita o di un elemento di pianificazione vengono replicate su tutti i dispositivi in entrata che desiderano inviare pacchetti a quell'interfaccia. Queste code sono denominate VOQ (Virtual Output Queues).

- Sono supportate 8 code per interfaccia o elemento di programmazione. In uscita l'elemento di programmazione supporta priorità, min, max ed eccedenza. La programmazione fornisce crediti in base a questi attributi.

- Di conseguenza, gli attributi di pianificazione di un'interfaccia vengono configurati in uscita, mentre i valori di controllo della congestione e prevenzione della congestione vengono configurati in entrata.

- Quando l'IRPP decide di inviare un pacchetto a una determinata porta di destinazione/output, il pacchetto viene inserito in un VOQ specifico.  Durante l'accodamento del pacchetto, viene verificato se il pacchetto può essere accodato in base a.

- L'occupazione del buffer del VOQ e l'impostazione Virtual Statistics Queue (VSQ) dell'interfaccia in entrata. VSQ è uno schema di gestione dei buffer basato su classi di traffico.

- Se i buffer vengono superati, il pacchetto viene scartato o il controllo del flusso viene inviato alla porta in entrata in base alla configurazione utente corrispondente. Per impostazione predefinita, i pacchetti vengono scartati se il controllo dell'accodamento ha esito negativo.

- I LC di NCS5500 non dispongono di ASIC di coda separati. La piattaforma implementa l'accodamento virtuale basato sull'output, basato sulla pianificazione. Pertanto, non vi è alcun concetto di coda in entrata. Servizio in ingresso: policy che supportano solo azioni di contrassegno e policy.

- NCS5500 implementa un concetto diverso di contrassegno e coda. È basato su qos-group e traffic-class. In uscita, questi due parametri vengono abbinati per contrassegnare il traffico e selezionare le code.

Limitazioni esistenti per i vari comandi. Per maggiori informazioni, consultare il .

Linee guida per la risoluzione dei problemi

QoS in ingresso

Uno dei comandi più utili e importanti è show qos interface <interface> input|output

Fornisce informazioni utili sui criteri dei servizi applicati. Vengono visualizzati i parametri configurati e convertiti (in caso di policer, shaper, soglie di rilascio coda e così via), gli ID coda virtuale, il tipo di accounting e così via.

Iniziare con una semplice regola sull'ingresso.

class-map match-any i_match

match precedence ipv4 3

match mpls experimental topmost 3

end-class-map

!

policy-map ingress_marking

class i_match

set qos-group 3

set discard-class 2

!

class class-default

!

end-policy-map

!

RP/0/RP0/CPU0:xrg-ncs-04#show qos interface hundredGigE 0/0/0/35 input

Mon Dec 4 21:30:44.131 UTC

NOTE:- Configured values are displayed within parentheses

Interface HundredGigE0/0/0/35 ifh 0x138 -- input policy

NPU Id: 5

Total number of classes: 2

Interface Bandwidth: 100000000 kbps

Policy Name: ingress_marking

Accounting Type: Layer1 (Include Layer 1 encapsulation and above)

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

Level1 Class = i_match

New qos group = 3

New discard class = 2

Default Policer Bucket ID = 0x21

Default Policer Stats Handle = 0x0

Policer not configured for this class

Level1 Class = class-default

Default Policer Bucket ID = 0x20

Default Policer Stats Handle = 0x0

Policer not configured for this class

qos_ea sta programmando il criterio in hardware sul LC. Con show feature-mgr client qos-ea policy summary location <node> si ottiene una panoramica dei criteri configurati su un LC.

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea policy summary location 0/0/CPU0

Mon Dec 4 22:03:12.371 UTC

Pol-Num Flags Classes Ref-cnt In-Hash Compiled Policy Name

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

19 0x00004000 2 4 Yes Yes ingress_marking

Se si controlla la visualizzazione dettagliata di questo comando, è possibile vedere dove corrisponde nelle classi:

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea policy policy ingress_marking location 0/0/CPU0

Mon Dec 4 22:07:53.134 UTC

Policy name: ingress_marking

Policy Number: 19

Flags: 0x4000 [DNX_FM_POL_TOS]

Class Number: 2

Reference Count: 4

In Hash: Yes

Is Compiled: Yes

Level: 0 Class Number: 0 Class Name: i_match

Match Count: 2 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:0 Match:0 proto IPV4 Flags:0x8011 [Grant]

Source IPv4 Address: 0.0.0.0 (255.255.255.255)

Destination IPv4 Address: 0.0.0.0 (255.255.255.255)

Precedence Value: 3

UNKNOWN: UNKNOWN: UNKNOWN: ACE: 0 Class:0 Match:1 proto MPLS Flags:0x208040 [Grant]

MPLS EXP Value: 3

UNKNOWN: UNKNOWN: UNKNOWN: Final List

ACE: 0 Class:0 Match:0 proto IPV4 Flags:0x8011 [Grant]

Source IPv4 Address: 0.0.0.0 (255.255.255.255)

Destination IPv4 Address: 0.0.0.0 (255.255.255.255)

Precedence Value: 3

UNKNOWN: UNKNOWN: UNKNOWN: ACE: 1 Class:0 Match:1 proto MPLS Flags:0x208040 [Grant]

MPLS EXP Value: 3

UNKNOWN: UNKNOWN: UNKNOWN:

Level: 0 Class Number: 1 Class Name: class-default

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:1 Match:0 proto ANY Flags:0x28000 [Grant][Default]

UNKNOWN: UNKNOWN: UNKNOWN: Final List

ACE: 2 Class:1 Match:0 proto ANY Flags:0x28000 [Grant][Default]

UNKNOWN: UNKNOWN: UNKNOWN:

Le informazioni QOS_EA possono anche essere visualizzate da una prospettiva di gestione delle feature. Visualizzare innanzitutto il riepilogo:

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea feature summary location 0/0/CPU0

Mon Dec 4 22:30:09.362 UTC

IFH NPU DIR Lookup-type ACL-ID Refcnt Feature-Name

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

0x138 5 IN IPV4_QOS 14 1 ingress_marking:0

0x138 5 IN IPV6_QOS 14 1 ingress_marking:0

0x138 5 IN MPLS_QOS 14 1 ingress_marking:0

0x138 5 IN L2_QOS 14 1 ingress_marking:0

Nel passaggio successivo è possibile visualizzare i dettagli:

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea feature feature-name ingress_marking:0 direction ingress lookup mpls interface HundredGigE 0/0/0/35 location 0/0/CPU0

Mon Dec 4 22:31:20.588 UTC

Feature name: ingress_marking:0

Lookup Type: MPLS_QOS

Direction: IN

Reference Count: 1

NPU: 5

Interfaces Attached: HundredGigE0_0_0_35

Number of Entries: 2

Number of Verified Entries: 0

Number of ACEs: 2

ACL ID: 14

ACL ID Ref Cnt: 4

ACL ID Min Length(bits): 0

ACL ID Max Length(bits): 5

ACL ID Num Entries: 30

ACL ID Num Free Entries: 29

Compression Level: 0(UNCOMPRESSED)

La traccia qos_ea visualizza l'ordine degli eventi quando il criterio servizio viene applicato a un'interfaccia. In caso di guasto, il display presenta dei problemi.

RP/0/RP0/CPU0:xrg-ncs-04#show qos ea trace all reverse location 0/0/CPU0

Mon Dec 4 22:17:26.297 UTC

3077 wrapping entries (36992 possible, 18816 allocated, 0 filtered, 3077 total)

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: (line# 2882) : Responded to IM (batch size: 1)

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: post_caps_processing : Registering with ETHER EA for subid notification. Bulk count 1

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: caps_add_notify_remote Input num of interfaces 1

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: process_caps_add : End: count = 1 ok_count 1. New num_policies_in 1 num_policies_out 2

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 SCOL: scol_interface_add : ifh 0x138 ea_intf_type MainIf : interface added to SCOL tree

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 SCOL: scol_interface_add_internal : ifh 0x138: after avl_tree_insert, new tree size is 1

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: (line# 1665) Child info aggr bw add: Current propagated_bw_sum in npu_ctx after adding propagated_bw in if_qos 0 is 0, ifh 0x138

Dec 4 21:30:18.280 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: insert_if_qos_from_list_by_npu_ctx : Inserting to list: if_qos 0x3087c0bb78 prev 0x0 next 0x0 ifh 0x138 head 0x0 tail 0x0 count 0

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: results_add for ifh 0x138 with pmap ingress_marking

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: fm_program : npu_id 5 ifh 0x138 policy_name ingress_marking :Compiling policy and sending VMR to FM

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: (line# 1597) : class_name class-default offset 0 policer_id 32: configuring policer...

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : cir_kbps 720000000 cir_burst_kbits 32768 cir_burst 4194304pir_kbps 720000000 cir_burst_kbits 32768 pir_burst 4194304

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : ifh 0x138 npu 5 offset 0 policer_id 32 mode/policer_type 0/0 inlif 0

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : for ifh 0x138 for npu 5 offset 0

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: (line# 1597) : class_name i_match offset 1 policer_id 33: configuring policer...

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : cir_kbps 720000000 cir_burst_kbits 32768 cir_burst 4194304pir_kbps 720000000 cir_burst_kbits 32768 pir_burst 4194304

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : ifh 0x138 npu 5 offset 1 policer_id 33 mode/policer_type 0/0 inlif 0

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : for ifh 0x138 for npu 5 offset 1

Dec 4 21:30:18.217 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: mark_actn_process Unconditional mark set for cmaps i_match

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: resource_cfg for ifh 0x138 ul_ifh 0x0 with pmap ingress_marking

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CMAP: classmap_process : chd 0x7feedd339b98, if_qos 0x3087c0bb78, class_info 0x3087c0b368

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: preprocess_action : ifh 0x138 ul_ifh 0x0 policy_name ingress_marking class_name class-default

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: pwalk_process_class : depth 0, usr_data->class_list 0x3087c0bb90, class_name class-default

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CMAP: classmap_process : chd 0x7feedd33b478, if_qos 0x3087c0bb78, class_info 0x3087c0b770

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: preprocess_action : ifh 0x138 ul_ifh 0x0 policy_name ingress_marking class_name i_match

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: pwalk_process_class : depth 0, usr_data->class_list 0x3087c0bb90, class_name i_match

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: pwalk_start_level : depth 0, stack 0x7fff8a11be40 ctx 0x7fff8a11c670

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 PWALK: policy_walk : policy_oper 0 policy_name ingress_marking ifh 0x138 ul_ifh 0x0 walk_flags 0x0

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: if_qos_insert_to_db : Inserting to hash table: npu_id 5 ifh 0x138, ul_ifh 0x0, dir 0

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 RATE: dnx_qosea_policy_resolve : policy_name ingress_marking ifh 0x138 ul_ifh 0x0 intf_kbps 100000000

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: policy_add : npu_id 5 ifh 0x138 ul_ifh 0x0 dir ingress policy_name ingress_marking num_classes 0 max_hierarchy 0

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 VRFY: policy_verify : Verifying policy ingress_marking pmaphd 0x7feedd2c1088

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: if_qos_init : Initializing if_qos 0x3087c0bb78 with npu_id 5 ifh 0x138 ul_ifh 0x0 direction ingress ea_intf_type MainIf

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 VRFY: check_policy_on_parent_subintf : Did not find any reference to parent interface (0x138) in par_child_info_array

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 VRFY: check_policy_on_parent_subintf : parent_ifh: 0x138, dir: 0 (ingress)

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 UTIL: intf_bw_get : Banwdith of ifh 0x138 is intf_kbps: 100000000 kbps

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: caps_add_int : ifh 0x138 ea_intf_type MainIf dir ingress

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: caps_add : ifh 0x138 ea_intf_type MainIf dir ingress policy_name ingress_marking

Dec 4 21:30:18.100 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: process_caps_add : 1 of 1 direction ingress on interface 0x138 policy_name ingress_marking

Dec 4 21:30:18.093 qos_ea/int_evts 0/0/CPU0 t14563 CAPS: process_caps_add : batch count = 1 . Current num_policies_in 0 num_policies_out 2

Dec 4 21:30:18.093 qos_ea/int_evts 0/0/CPU0 t14563 INT: im_msg_handler : Rx: caps add message (batch size: 1)

Quando si modifica il criterio e si aggiunge, ad esempio, un policer alla classe i_match, questo sarà visibile nella traccia qos_ea. La modifica sul posto di una mappa dei criteri è supportata in NCS5500.

RP/0/RP0/CPU0:xrg-ncs-04(config-pmap-c)#police rate percent 50

RP/0/RP0/CPU0:xrg-ncs-04(config-pmap-c-police)#commit

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : for ifh 0x138 for npu 5 offset 0

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: (line# 147) : cir_kbps 50000000 cir_burst 4194304pir_kbps 0 pir_burst 0

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: (line# 144) : ifh 0x138 npu 5 offset 1 policer_type = 0 is_parent=0policer_id = 33

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: (line# 1822) : class_name i_match offset 0 policer_id 33: configuring policer...

Dec 4 22:49:39.567 qos_ea/int_evts 0/0/CPU0 t14563 ACTN: (line# 1597) : class_name i_match offset 1 policer_id 33: configuring policer...

Il comando show qos interface riflette anche l'aggiunta:

RP/0/RP0/CPU0:xrg-ncs-04#show qos interface hundredGigE 0/0/0/35 input

Mon Dec 4 23:25:19.684 UTC

NOTE:- Configured values are displayed within parentheses

Interface HundredGigE0/0/0/35 ifh 0x138 -- input policy

NPU Id: 5

Total number of classes: 2

Interface Bandwidth: 100000000 kbps

Policy Name: ingress_marking

Accounting Type: Layer1 (Include Layer 1 encapsulation and above)

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

Level1 Class = i_match

New qos group = 3

New discard class = 2

Policer Bucket ID = 0x21

Policer Stats Handle = 0x0

Policer committed rate = 49680000 kbps (50 %)

Policer conform burst = 4194304 bytes (default)

Level1 Class = class-default

Default Policer Bucket ID = 0x20

Default Policer Stats Handle = 0x0

Policer not configured for this class

La traccia qos_ea visualizza anche il valore convertito quando viene eseguito il comando precedente.

Il policer usa una dimensione di passo incrementale di 22 kbps. Il valore configurato viene arrotondato al multiplo di 22 kbps più vicino se utilizzato nella formula della scheda di linea.

Dec 4 23:25:19.773 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : cir_kbps 49680000 cir_burst_kbits 32768 cir_burst 4194304pir_kbps 49680000 cir_burst_kbits 32768 pir_burst 4194304

Dec 4 23:25:19.773 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : ifh 0x138 npu 5 offset 1 policer_id 33 mode/policer_type 0/0 inlif 0

Dec 4 23:25:19.773 qos_ea/int_evts 0/0/CPU0 t14563 POLICER-INT: policer_get : for ifh 0x138 for npu 5 offset 1

QoS in uscita

QoS in uscita supporta azioni in coda. Su NCS5500 si possono avere due politiche dei servizi in uscita. Uno per il contrassegno e uno per l'accodamento. Questo è per un'azione di contrassegno:

class-map match-any e_mark

match qos-group 3

end-class-map

!

policy-map egress_marking

class e_mark

set mpls experimental imposition 2

!

class class-default

!

end-policy-map

!

RP/0/RP0/CPU0:xrg-ncs-06#show feature-mgr client qos-ea policy summary location 0/0/CPU0

Thu Dec 21 10:44:33.978 UTC

Pol-Num Flags Classes Ref-cnt In-Hash Compiled Policy Name

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

1 0x01000000 2 1 Yes Yes egress_marking

RP/0/RP0/CPU0:xrg-ncs-06#show feature-mgr client qos-ea feature summary location 0/0/CPU0

Thu Dec 21 10:59:08.872 UTC

IFH NPU DIR Lookup-type ACL-ID Refcnt Feature-Name

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

0x340 0 OUT MAP_ID_QOS 0 1 egress_marking:0

Criterio di accodamento in uscita

class-map match-any tc1

match traffic-class 1

end-class-map

!

class-map match-any tc2

match traffic-class 2

end-class-map

!

class-map match-any tc3

match traffic-class 3

end-class-map

!

class-map match-any tc4

match traffic-class 4

end-class-map

!

class-map match-any tc5

match traffic-class 5

end-class-map

!

policy-map POLICY_QOS_OUT

class tc1

priority level 1

shape average percent 19

queue-limit 500 us

!

class tc2

priority level 2

shape average percent 20

queue-limit 500 us

!

class tc3

bandwidth percent 1

!

class tc4

bandwidth percent 20

!

class tc5

bandwidth percent 20

!

class class-default

bandwidth percent 20

!

end-policy-map

!

One can quick verify where a QoS policy is applied.

RP/0/RP0/CPU0:xrg-ncs-04#show policy-map targets pmap-name POLICY_QOS_OUT location 0/0/CPU0

Mon Dec 18 21:13:01.463 UTC

1) Policymap: POLICY_QOS_OUT Type: qos

Targets (applied as main policy):

HundredGigE0/0/0/35 output

Total targets: 1

Targets (applied as child policy):

Total targets: 0

Il comando show QoS interface visualizza i parametri configurati e gli ID coda per ciascuna classe con un'azione di coda configurata. È inoltre possibile ottenere valori predefiniti quali le dimensioni della coda.

RP/0/RP0/CPU0:xrg-ncs-04#show qos interface hundredGigE 0/0/0/35 output

Thu Dec 14 20:56:29.796 UTC

NOTE:- Configured values are displayed within parentheses

Interface HundredGigE0/0/0/35 ifh 0x138  -- output policy

NPU Id:                        5

Total number of classes:       6

Interface Bandwidth:           100000000 kbps

VOQ Base:                      1032

Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)

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

Level1 Class (HP1)                       =   tc1

Egressq Queue ID                         =   1033 (HP1 queue)

Queue Max. BW.                           =   0 kbps (19 %)

Guaranteed service rate                  =   19000000 kbps

TailDrop Threshold                       =   1187840 bytes / 500 us (500 us)

WRED not configured for this class

Level1 Class (HP2)                       =   tc2

Egressq Queue ID                         =   1034 (HP2 queue)

Queue Max. BW.                           =   0 kbps (20 %)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   1253376 bytes / 501 us (500 us)

WRED not configured for this class

Level1 Class                             =   tc3

Egressq Queue ID                         =   1035 (LP queue)

Queue Max. BW.                           =   100884395 kbps (default)

Queue Min. BW.                           =   1020015 kbps (1 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   1000000 kbps

TailDrop Threshold                       =   1253376 bytes / 10 ms (default)

WRED not configured for this class

Level1 Class                             =   tc4

Egressq Queue ID                         =   1036 (LP queue)

Queue Max. BW.                           =   100824615 kbps (default)

Queue Min. BW.                           =   20164923 kbps (20 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   25034752 bytes / 10 ms (default)

WRED not configured for this class

Level1 Class                             =   tc5

Egressq Queue ID                         =   1037 (LP queue)

Queue Max. BW.                           =   100824615 kbps (default)

Queue Min. BW.                           =   20164923 kbps (20 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   25034752 bytes / 10 ms (default)

WRED not configured for this class

Level1 Class                             =   class-default

Egressq Queue ID                         =   1032 (Default LP queue)

Queue Max. BW.                           =   100824615 kbps (default)

Queue Min. BW.                           =   20164923 kbps (20 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   25034752 bytes / 10 ms (default)

WRED not configured for this class

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea policy summary location 0/0/CPU0

Thu Dec 14 21:27:30.486 UTC

Pol-Num  Flags     Classes Ref-cnt In-Hash Compiled  Policy Name

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

3       0x00010000       6       0     Yes       No POLICY_QOS_OUT

2       0x00000000       1       0     Yes       No p_out

1       0x00004000       2       4     Yes       Yes ingress_marking

RP/0/RP0/CPU0:xrg-ncs-04#show feature-mgr client qos-ea policy policy POLICY_QOS_OUT location 0/0/CPU0

Thu Dec 14 21:28:22.182 UTC

Policy name:        POLICY_QOS_OUT

Policy Number:      3

Flags:              0x10000 [DNX_FM_POL_TC]

Class Number:       6

Reference Count:    0

In Hash:            Yes

Is Compiled:        No

Level: 0 Class Number: 0 Class Name: tc1

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:0 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (1, 1)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 1 Class Name: tc2

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:1 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (2, 2)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 2 Class Name: tc3

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:2 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (3, 3)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 3 Class Name: tc4

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:3 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (4, 4)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 4 Class Name: tc5

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:4 Match:0 proto ANY Flags:0x8080 [Grant]

DNX_FM_RANGE_TC: (5, 5)

UNKNOWN:                UNKNOWN:

Level: 0 Class Number: 5 Class Name: class-default

Match Count: 1 Flags: 0x0 Logical Op: MATCH_ANY

ACE: 0 Class:5 Match:0 proto ANY Flags:0x28000 [Grant][Default]

UNKNOWN:                UNKNOWN:

Adding WRED:

policy-map POLICY_QOS_OUT

class tc4

random-detect discard-class 1 5 ms 15 ms

!

class class-default

!

end-policy-map

!

end

Level1 Class                             =   tc4

Egressq Queue ID                         =   1036 (LP queue)

Queue Max. BW.                           =   100824615 kbps (default)

Queue Min. BW.                           =   20164923 kbps (20 %)

Inverse Weight / Weight                  =   1 / (BWR not configured)

Guaranteed service rate                  =   20000000 kbps

TailDrop Threshold                       =   75497472 bytes / 30 ms (default)

WRED profile for Discard_Class 1

WRED Min. Threshold                      =   12517376 bytes (5 ms)

WRED Max. Threshold                      =   37748736 bytes (15 ms)

Default RED profile

WRED Min. Threshold                      =   0 bytes (0 ms)

WRED Max. Threshold                      =   0 bytes (0 ms)

RP/0/RP0/CPU0:xrg-ncs-04#show controllers npu voq-usage interface HundredGigE 0/0/0/35 instance 5 location 0/0/CPU0

Tue Nov  7 17:24:03.570 UTC

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

Node ID: 0/0/CPU0

Intf         Intf     NPU NPU  PP   Sys   VOQ   Flow   VOQ    Port

name         handle    #  core Port Port  base  base   port   speed

(hex)                                     type   (Gbps)

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

Hu0/0/0/35   138       5   0    1   321   1032   1064 local   100            <- 1032 (Default LP queue) - displays the base queue -> refer to show qos interface commaand.

Display the queue details:

RP/0/RP0/CPU0:xrg-ncs-04#show controllers fia diagshell 5 "diag cosq voq id=1036 det=1" location 0/0/CPU0    <- 1036 (LP queue) - refer to show qos interface commaand.

Thu Dec 14 21:51:33.184 UTC

Node ID: 0/0/CPU0

Core 0:

Basic info

Q type: voq

num cos: 8, cosq class: 4

Base queue id: 1032, base queue gport: 0x24000408

Credit request type: BCM_COSQ_DELAY_TOLERANCE_100G_SLOW_ENABLED Adjusted for slow enabled 100Gb ports

Watchdog enable in common status message mode

Is queue in credit watchdog queue range:True

Credit watchdog message time: 0

Delete queue time: 512

Backoff enter queue credit balance threshold: 40960

Backoff exit queue credit balance threshold: 40960

Backlog enter queue credit balance threshold: 40960

Backlog exit queue credit balance threshold: 40960

Empty queue satisfied credit balance threshold: 0

Max empty queue credit balance threshold: 16384

Exceed max empty queue credit balance threshold: 1

Off-To-Slow credit balance threshold: 0

Off-To-Normal credit balance threshold: 38912

Slow-To-Normal credit balance threshold: 38912

Normal-To-Slow credit balance threshold: 38912

Delay Tolerance is NOT OCB only

Delay Tolerance is NOT High Q Priority

Slow Level Thresh Down in slow level number: 0 is: 0

Slow Level Thresh Down in slow level number: 1 is: 0

Slow Level Thresh Down in slow level number: 2 is: 0

Slow Level Thresh Down in slow level number: 3 is: 0

Slow Level Thresh Down in slow level number: 4 is: 0

Slow Level Thresh Down in slow level number: 5 is: 0

Slow Level Thresh Down in slow level number: 6 is: 0

Slow Level Thresh Up in slow level number: 0 is: 0

Slow Level Thresh Up in slow level number: 1 is: 0

Slow Level Thresh Up in slow level number: 2 is: 0

Slow Level Thresh Up in slow level number: 3 is: 0

Slow Level Thresh Up in slow level number: 4 is: 0

Slow Level Thresh Up in slow level number: 5 is: 0

Slow Level Thresh Up in slow level number: 6 is: 0

Credit value(local): 1024, Credit value(remote): 2048

Credit discount value: -2

Rate class info

WRED info:

Green : enable(False) min_thresh(0) max_thresh(0) drop_probability(0)

Yellow: enable(True) min_thresh(12517376) max_thresh(37748736) drop_probability(9)

Red   : enable(False) min_thresh(0) max_thresh(0) drop_probability(0)

Black : enable(False) min_thresh(0) max_thresh(0) drop_probability(0)

Tail drop info:

Green : max queue size in bytes(75497472), max queue size in BDs(294912)

Yellow: max queue size in bytes(75497472), max queue size in BDs(294912)

Red   : max queue size in bytes(75497472), max queue size in BDs(294912)

Black : max queue size in bytes(75497472), max queue size in BDs(294912)

Guaranteed info:

Green : min queue size in bytes(0), min queue size in BDs(0)

Yellow: min queue size in bytes(0), min queue size in BDs(0)

Red   : min queue size in bytes(0), min queue size in BDs(0)

Black : min queue size in bytes(0), min queue size in BDs(0)

Fair adaptive tail drop info:

Enable: True

Green : alpha(-2)

Yellow: alpha(-2)

Red   : alpha(-2)

Black : alpha(-2)

ECN wred info: enable(False) min_thresh(0) max_thresh(0) drop_probability(0)

ECN max queue size in bytes(524288), max queue size in BDs(524288)

VSQ-related

Category class: 2

Traffic class: 4

Connection class: 0

Green : Admission-test-templates(0)

Yellow: Admission-test-templates(0)

Red   : Admission-test-templates(0)

Black : Admission-test-templates(0)

AdmissionTestProfileA[0]:'category, traffic class'

AdmissionTestProfileB[0]: 'category'

current queue size: 0 bytes, current queue bds size: 0

Attached VOQ connector: 0x00000428

Destination sys port: 0x00007fff

OCB eligiblity: True

[SNIP]

output for core 1 is ommitted.

Per monitorare le dimensioni della coda, è possibile eseguire il comando precedente e il comando grep per la riga corrispondente.

Esempio: show controllers fia diagshell 5 "diag cosq voq id=1036 core=0 det=1" location 0/0/CPU0 | nella dimensione corrente della coda

Le statistiche possono essere visualizzate con il comando show policy-map interface.

Esempio: show policy-map interface hungigE 0/0/0/35 output location 0/0/CPU0

Nota: L'output non è dettagliato come è noto da altre piattaforme XR. Non vengono visualizzate le linee per il profilo WRED o RED corrispondente.

RP/0/RP0/CPU0:xrg-ncs-04#show policy-map interface hundredGigE 0/0/0/35 output location 0/0/CPU0

Thu Dec 14 22:05:50.971 UTC

Interface:HundredGigE0/0/0/35 Location: node0_0_CPU0 output: POLICY_QOS_OUT

Class tc1

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1033

Taildropped(packets/bytes)           : 0/0

Class tc2

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1034

Taildropped(packets/bytes)           : 0/0

Class tc3

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1035

Taildropped(packets/bytes)           : 0/0

Class tc4

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1036

Taildropped(packets/bytes)           : 0/0

Class tc5

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1037

Taildropped(packets/bytes)           : 0/0

Class class-default

Classification statistics          (packets/bytes)     (rate - kbps)

Matched             :                   0/0                    0

Transmitted         :                   0/0                    0

Total Dropped       :                   0/0                    0

Queueing statistics

Queue ID                             : 1032

Taildropped(packets/bytes)           : 0/0

Monitoraggio FMQ

Traffico multicast non pianificato. Utilizza Fabric Multicast Queues (FMQ) anziché i VOQ convenzionali. QoS non è supportato in questo scenario di multicast in uscita.

Per visualizzare le statistiche degli FMQ, questo comando è disponibile a partire dalla versione 6.5.2:

RP/0/RP0/CPU0:NCS5508#show controllers npu stats voq base 0 instance 0 location 0/0/CPU0

Mon Jul 8 08:59:22.465 UTC

Asic Instance = 0

VOQ Base = 0

ReceivedPkts   ReceivedBytes    DroppedPkts     DroppedBytes

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

TC_0 = 224            15673            49              3468

TC_1 = 0              0                0               0

TC_2 = 0              0                0               0

TC_3 = 0              0                0               0

TC_4 = 0              0                0               0

TC_5 = 0              0                0               0

TC_6 = 0              0                0               0

TC_7 = 0              0                0               0

È inoltre possibile seguire un pacchetto attraverso la NPU e verificare se, ad esempio, è stata applicata la classe di traffico (TC) appropriata. Per favore, date un'occhiata

Sezione Seguire un pacchetto di transito per i comandi e il filtro diag shell corrispondenti.

Comandi aggiuntivi da raccogliere

Di seguito sono riportati alcuni comandi aggiuntivi:

- mostra ip qos supporto tecnico

- mostra piattaforma qos supporto tecnico

- show tech cef platform

Se si sospetta la presenza di un problema su una singola interfaccia:

- show run interface <nome>

- show run policy-map <> (per i mapping dei criteri applicati all'interfaccia)

- show qos interface <nome> input|output

- show policy-map interface <nome>

- show qos remote location <nodo> (per criteri di uscita)

Se l'interfaccia è un bundle, fornire informazioni complete sui membri del bundle.

- mostra bundle <>

Limitazioni/avvertenze

Marcatura

- Il contrassegno L2(COS, DEI) e L3(MPLS EXP) non sono supportati nella stessa mappa dei criteri

- Il policer non funziona se combinato con set discard-class.

- match qos-group è solo per contrassegno.

- qos-group 0 è riservato alla classe predefinita.

- le statistiche e i contatori non vengono visualizzati per i criteri di contrassegno.

Larghezza di banda

- La somma di tutte le istruzioni di larghezza di banda in una mappa dei criteri non deve essere > 100%

- La somma di tutte le istruzioni di larghezza di banda rimanenti in una mappa dei criteri non deve essere > 100%

- Uno shaper non è condiviso tra classi e pertanto non esistono restrizioni al riepilogo delle istruzioni di larghezza di banda.

QoS in ingresso

Le azioni di accodamento non sono supportate nei criteri del servizio in ingresso.

QoS in uscita

- Le capacità/azioni di contrassegno sono molto limitate.

- Una corrispondenza di criteri di uscita su TG (Traffic-Class), Qos-group (QG) e Discard-Class (DC) è supportata solo.

- TC - per azioni in coda

- QG - per azioni di contrassegno

- DC - WRED

- Un criterio di servizio che connette il seguente mapping dei criteri verrebbe rifiutato su un'interfaccia in uscita:\

policy-map SET-AND-QUEUE-OUT

class GOLD

priority level 1

shape average percent 20

queue-limit 500 us

set mpls experimental imposition 5

Viene visualizzato il seguente messaggio di errore:  !!% "DNX_QOSEA" ha rilevato la condizione 'warning' "Configurazione della mappa dei criteri di uscita non valida. Utilizzare qos-group per contrassegnare le funzionalità e traffic-class per le funzionalità di accodamento".

È possibile applicare due criteri di servizio distinti, uno per il contrassegno e l'altro per l'accodamento.

HQoS

- Per applicare una policy sui servizi su una sottointerfaccia, è necessario che il profilo HQoS sia indipendente.

- L'applicazione di criteri di servizio su una sottointerfaccia contenente una classe di priorità richiede uno shaper in questa classe indipendente se è gerarchico o semplice.

- In modalità HQoS, le classi di priorità devono avere una configurazione del limite di velocità (shaper). Il valore effettivo dello shaper viene considerato come una prenotazione prioritaria della larghezza di banda.

- In modalità HQoS, la larghezza di banda (BW) e la larghezza di banda rimanente (BWR) non sono supportate contemporaneamente nella stessa configurazione della mappa dei criteri. È possibile configurare la larghezza di banda o la larghezza di banda rimanente nella stessa mappa dei criteri.

- BW e SHAPE non sono supportati nella stessa mappa dei criteri prima della versione 6.3.1.

- WRED non consentito nella classe padre

- In modalità HQoS sono supportati al massimo 4 livelli di priorità

- Il controllo HQoS in ingresso e il profilo di peering in ingresso non sono supportati insieme.

- Per i criteri a due livelli, le classi definite dall'utente al livello padre non sono supportate.

- A causa di una limitazione TCAM, il PBTS (Policy-Based Tunnel Selection) non funziona quando il profilo HQoS è abilitato.

Avviso di configurazione non supportato dopo il commit

In alcuni casi, è possibile che venga visualizzato un log di avviso dopo il commit di una configurazione QoS come nell'esempio seguente:

% Avvisi di convalida rilevati come risultato dell'operazione di commit. Eseguire il comando 'show configuration warnings' per visualizzare gli avvisi

Se si esegue la CLI suggerita, viene visualizzato quanto segue:

!! SEMANTIC ERRORS: This configuration was rejected by

!! the system due to semantic errors. The individual

!! errors with each failed configuration command can be

!! found below.

<Il motivo è stampato>

Tuttavia, la configurazione viene applicata. In questo caso potrebbe venire dalla verifica yang.

Verificare se l'abilitazione della convalida della configurazione è configurata.

Se così fosse, è probabile che la regola di Yang si sia imposta.

È possibile attivare il dettaglio ccv di convalida della configurazione di debug ed eseguire nuovamente il commit della configurazione.

Dovrebbe essere visualizzata la regola yang, che attiva il messaggio "Unsupported" nell'output di debug.

Example:

RP/0/RP0/CPU0:Jan 22 15:57:44.441 UTC: ccv[189]: ...essage : 'Service Policy on interface "TenGigE0/0/0/7/1.102" is not supported', rule group name: 'qos-ma', rule name: 'cac-ser-pol-qos-in-unsupp-intf').

In questo caso, contattare il team PI QoS.