The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes the difference between 3750 Multilayer Switching (MLS) Quality of Service (QoS) and 3850 Switches with Modular QoS CLI (MQC).
Cisco recommends that you have knowledge of these topics:
This document is not restricted to specific software and hardware versions.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
This document also describes detailed information about conversion through sample configurations. This document only applies to the Wired QoS. This document is for networking professionals who are responsible for the design, implementation, or administration of a network that includes a standalone Cisco Catalyst 3850 Switch or a Cisco Catalyst 3850 Switch stack, referred to as the switch.
The configuration of QoS in the 3850 line has been improved due to its implementation of MQC (universal QoS configuration model) configuration instead of the old MLS QoS (platform-dependent QoS configuration) commands from the 3750 and 3560 lines of switches.
The main differences are highlighted in this table:
Switch Type |
3750 |
3850 |
Basic structure |
MLS |
MQC |
QoS default |
Disabled |
Enabled |
Global config |
Support MLS QoS Support some of MQC at ingress |
Does not support MLS QoS Support MQC [class-map, policy-map] |
Interface config |
Support MLS QoS config and some of MQC CLI at ingress |
Attach the policy to the interface |
Port trust default |
Disabled |
Enabled |
Port Ingress |
Classification/Policing/Marking/ Queuing |
Classification/Policing/marking [NO Ingress Queuing !] |
Port Egress |
Queuing |
Classification/Policing/marking/queuing |
Switch Virtual Interface (SVI) Ingress |
Classification/Policing/Marking |
Classification/Marking |
SVI Egress |
None |
Classification/Marking |
It is important to recognize the main fundamental change in the QoS approach.
On the 3750, by default the QoS is disabled whereas on the 3850, it is enabled. Also in order to preserve Layer 2 (L2)/Layer 3 (L3) QoS marking on the 3750 platform, a trust configuration must be applied.
In the case of the 3850, all packets by default are trusted (the L2/L3 QoS marking is preserved), unless you change it with an application of a specific policy map on the ingress or egress interface.
Feature |
3750 |
3850 |
Classification |
Class-map match Differentiated Services Code Point (DSCP), Precedence (Prec), Access Control List (ACL) Supports both match-all and match-any |
Class-map Class of Service (CoS), Prec, DSCP, ACL And VLAN Supports match-any only |
Marking [unconditional set] |
Set DSCP and Prec |
Set CoS, Prec, DSCP and QoS-group |
Marking [conditional marking] |
DSCP mutation |
Class-default table-map |
Policing |
1r2c |
1r2c and 2r3c |
Policing markdown |
Policing exceeds mark-down [Only supports DSCP] |
Policing exceeds and violates mark-down [Supports CoS, DSCP, Prec ] |
Aggregate Policing |
Supports |
Agg-policing [one type of HQoS] |
Ingress Queuing |
Supports only on 3750 but does not support on 3750x |
Does not support |
Hierarchical QoS (HQoS) |
VLAN based HQoS only |
Port-based Agg-policing and Per-VLAN (PV) |
Feature |
3750 |
3850 |
Classification support for none queuing action |
Does not support |
CoS, Prec, DSCP, QoS-group, ACL and VLAN |
Classification support for queuing action |
CoS and DSCP |
CoS, Prec, DSCP and QoS-group |
Marking |
Does not support |
Set CoS, Prec, and DSCP |
Policing |
Does not support |
1r2c , 2r3c with exceed/violate mark down through table-map |
Max number of queues and queue types |
1P3Q3T [ 4 queues] Expedite queue-> Priority queue |
2P6Q3T [ up to 8 queues ] |
Egress Queuing |
Share mode, shape mode, queue-limit, priority and queue-buffer |
Bandwidth, bandwidth remaining, shaping, queue-limit, priority and queue-buffer |
HQoS |
Does not support |
HQoS: Agg-policing, PV, Port-shaper and Parent user shaper with child non-queuing action |
Input show commands:
show run class-map [name_of_class-map]
show run policy-map [name of policy-map]
show policy-map interface [interface_name]
General show commands:
show mls qos maps
show mls qos maps <options>
show mls qos queue-set
show mls qos interface [interface_name] queuing
show platform port-asic stats drop [interface_name] statistics
show mls qos aggregate-policer
show run class-map [name_of_class-map]
show run policy-map [name of policy-map]
show table-map [name_of_table-map]
show run policy-map [name_of_policy-map]
show policy-map interface [interface_name]
show platform qos policies port sw [sw#]
show platform qos queue config interface_type [interface_name]
show platform qos queue stats interface_type [interface_name]
QoS Config |
3750 [Global] |
3750 [Interface] |
3850 * |
Sample Link |
QoS disable |
No MLS QoS |
Two queues Control-> queue (2) Data -> queue (4) |
Egress with no policy Control -> queue(1) Data -> queue(2) |
|
Trust or set at ingress and egress Queuing action based on the ingress Trust or set |
MLS QoS |
a) MLS QoS trust CoS |
Egress queuing policy classify on CoS [ ingress need config trust CoS] |
|
b) MLS QoS trust DSCP |
egress queuing policy classify on DSCP |
|||
c) Input policy with set action to mark the DSCP value |
Egress queuing policy classify on DSCP |
|||
d) No MLS QoS trust config [both CoS/DSCP can be set zero] |
Input policy with class-default Set CoS/DSCP 0 |
|||
CoS/DSCP queue mapping |
MLS QoS Shared Round Robin (SRR)-queue output [CoS-map/ DSCP-map] |
A, b, c and d can use the corresponding new mapping |
Output explicit classification [CoS/DSCP] with queuing action |
|
DSCP mutation |
MLS QoS DSCP mutation |
Interface need configuration MLS QoS trust DSCP MLS QoS DSCP-mutation [name] |
Interface input policy with table-map |
|
Agg-policing |
MLS QoS aggregatepolicing |
Need interface-level configuration |
Agg-policing [one type of HQoS] |
|
Police-markdown |
MLS QoS map policed-DSCP [10] [11] to [63] |
Policing policy attaching to interface, exceed not drop, the global policed-DSCP can take effect [Input] |
One table-map for exceed and one table-map forviolate action of policing [Input and output] |
|
Queue-limit |
MLS QoS queue-set output [1] threshold [1] [100] [100] [50] [200] 1-> queue-set 1 <1-> queue 1 Threshold 1 Threshold 2 Reserved buffer Max threshold |
Config queue-set [2] [Default queue-set 1] |
Egress queuing policy with queuing action and queue-limit configuration |
|
Queue-buffers |
MLS QoS queue-set output [1] buffers [15] [25] [40] [20] |
Interface config queue-set |
Policy-map with queuing action and queue-buffers ratio [0-100] |
|
Share/bandwidth |
MLS QoS |
Interface level config “SRR-queue bandwidth share 1 30 35 5” [Share mode] |
Bandwidth in policy-map |
|
priority queue [Expedite queue] |
MLS QoS |
Interface level config “priority-queue out”, this can make corresponding queue-set’s 1st queue as priority queue |
Priority level 1 in the policy-map |
|
Shaper |
MLS QoS |
SRR-queue bandwidth shape [shape mode] |
Shape average in policy-map |
|
Port-shaper |
MLS QoS |
SRR-queue bandwidth limit |
Port-shaper |
|
HQoS |
MLS QoS |
SVI [attach policy to SVI] and interface needs configuration “MLS QoS VLAN_based’ |
PV policy And attach policy to the port at input direction |
3750 (Global config) |
3750 (interface) |
3850 |
No MLS QoS |
Two queue [control one queue 2, data one queue 4] |
Egress with no policy [Control pkts in queue 1 and data packets in queue 2] |
3750#show mls qos
QoS is disabled <- disable
QoS ip packet dscp rewrite is enabled
3750#show mls qos interface gig1/0/1 statistics | b output queues enqueued
output queues enqueued:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 4 0 0
queue 1: 0 0 0 <- control
queue 2: 0 0 0
queue 3: 0 0 0 <- data
output queues dropped:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 0 0 0
queue 1: 0 0 0 <- control
queue 2: 0 0 0
queue 3: 0 0 0 <- data
Policer: Inprofile: 0 OutofProfile: 0
3850#show run interface gig1/0/1
interface GigabitEthernet1/0/1
end
3850#show platform qos queue config gigabitEthernet 1/0/1 sw 1
DATA Port:21 GPN:1 AFD:Disabled QoSMap:0 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:1 - 600
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 5 120 6 480 0 0 0 0 0 800 <- control
1 1 4 0 7 720 2 480 2 180 2 800 <- data
2 1 4 0 5 0 0 0 0 0 0 800
3 1 4 0 5 0 0 0 0 0 0 800
4 1 4 0 5 0 0 0 0 0 0 800
5 1 4 0 5 0 0 0 0 0 0 800
6 1 4 0 5 0 0 0 0 0 0 800
7 1 4 0 5 0 0 0 0 0 0 800
Priority Shaped/shared weight shaping_step
-------- ------------ ------ ------------
0 0 Shared 50 0
1 0 Shared 75 0
2 0 Shared 10000 179
3 0 Shared 10000 0
4 0 Shared 10000 0
5 0 Shared 10000 0
6 0 Shared 10000 192
7 0 Shared 10000 0
Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2
------- ------- ------ ------ ------ ------ ------ ------ ------
0 0 478 0 0 534 0 0 600 0
1 0 573 0 0 641 0 0 720 0
2 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0
3750 (Global) |
3750 (interface) |
3850 |
MLS QoS |
Interface “MLS QoS trust CoS” (based on the default CoS-mapping to the queue-set 1 ) |
Egress queuing policy based on CoS ( ingress need config trust CoS) |
Global config:
3750(config)#mls qos
Interface config:
interface GigabitEthernet1/0/1
mls qos trust cos
Related show cli:
3750#show mls qos
QoS is enabled
QoS ip packet dscp rewrite is enabled
3750#show mls qos interface gig1/0/1
GigabitEthernet1/0/1
trust state: trust cos
trust mode: trust cos
trust enabled flag: ena
COS override: dis
default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: none
qos mode: port-based
3750 #show mls qos maps cos-output-q
Cos-outputq-threshold map:
cos: 0 1 2 3 4 6 7
------------------------------------------------------------
queue-threshold: 2-1 2-1 3-1 3-1 4-1 1-1 4-1 4-1
Note: cos value 0 maps to 2-1 [queue-set1 : queue2 threshold 1]
Ingress: apply policy-map trust-cos
Egress: create class based on cos and have queuing action for each class
Ingress policy:
3850#show run policy-map trust-cos
class class-default
set cos cos table default
3850#show table-map default
Table Map default
default copy
Egress policy:
3850#show run policy-map example2
class cos5
bandwidth percent 15
class cos0_1
bandwidth percent 25
class cos2_3
bandwidth percent 40
class cos4_6_7
bandwidth percent 20
3850#show run class-map cos5
class-map match-any cos5
match cos 5
3850#show run class-map cos0_1
class-map match-any cos0_1
match cos 0
match cos 1
3850#show run class-map cos2_3
class-map match-any cos2_3
match cos 2
match cos 3
3850#show run class-map cos4_6_7
class-map match-any cos4_6_7
match cos 4
match cos 6
match cos 7
3750 (Global) |
3750 (interface) |
3850 |
MLS QoS |
Interface “MLS QoS trust DSCP” [based on the default DSCP-mapping to the queue-set 1] |
Input default trust DSCP Egress queuing policy based on DSCP |
config
3750(config)#mls qos <- Global
interface GigabitEthernet1/0/1 <- Interface
mls qos trust dscp
3750#sh mls qos interface gig1/0/1
GigabitEthernet1/0/1
trust state: trust dscp
trust mode: trust dscp
trust enabled flag: ena
COS override: dis
default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: none
qos mode: port-based
3750#show mls qos maps dscp-output-q
Dscp-outputq-threshold map:
d1 :d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------------------------------
0 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01
1 : 02-01 02-01 02-01 02-01 02-01 02-01 03-01 03-01 03-01 03-01
2 : 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01
3 : 03-01 03-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01
4 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 04-01 04-01
5 : 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01
6 : 04-01 04-01 04-01 04-01
Ingress: default trust dscp, no policy needed
Egress: use dscp as classification and add queuing action based on customer need
One Sample config:
Plolicy-map:
3850#show run policy-map dscp-shape
class dscp56
shape average percent 10
class dscp48
shape average percent 11
class dscp40
shape average percent 12
class dscp32
shape average percent 13
Class-map:
3850#show run class-map dscp56
class-map match-any dscp56
match dscp cs7
3850#show run class-map dscp48
class-map match-any dscp48
match dscp cs6
3850#show run class-map dscp40
class-map match-any dscp40
match dscp cs5
3850#show run class-map dscp32
class-map match-any dscp32
match dscp cs4
3750 (global) |
3750 (interface) |
3850 |
MLS QoS |
Interface input policy with set action to mark the CoS/DSCP value [Marked value is used for egress mapping] |
Need explicit egress policy to do queuing mapping |
3750#show run class-map dscp-1
class-map match-any dscp-1
match ip dscp 1
c3750#show run policy-map set-dscp-63
class dscp-1
set dscp 63
3750#show run interface f7/0/2
interface FastEthernet7/0/2
mls qos trust dscp
service-policy input set-dscp-63
3750#show policy-map interface f7/0/2
FastEthernet7/0/2
Service-policy input: set-dscp-63
Class-map: dscp-1 (match-any)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp 1
Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
0 packets, 0 bytes
5 minute rate 0 bps
Note: Pkts come in interface fa7/0/2, dscp1 can be marked to dscp63 which mapping
based on the existing mapping table, other pkts can retain original dscp value
mapping accordingly
Input can be same as 3750 config
Egress: can add queuing action under class dscp-63
One sample config:
3850#show run policy-map dscp63-queuing
class dscp63
bandwidth percent 50
3850#show class-map dscp63
Class Map match-any dscp63
Match dscp 63
3750 (global ) |
3750 (interface) |
3850 |
MLS QoS |
Interface not config MLS QoS trust CoS/DSCP [CoS/DSCP can be set to 0] |
Interface input policy with class-default Set DSCP 0, output policy with class DSCP0 with queuing action |
Global:
c3750(config)#mls qos
Interface:
interface GigabitEthernet2/0/45
!
Input policy:
c3850#show run policy-map example5-input
class class-default
set dscp default
Output policy:
c3850#show run policy-map example5-output
class dscp0
shape average percent 10 <- queuing action based on customer need
Attach to the ingress port:
c3850#show run interface gig1/0/1
interface GigabitEthernet1/0/1
service-policy input example5-input
Attach to the egress port:
c3850#show run interface gig1/0/2
interface GigabitEthernet1/0/2
service-policy output example5-output
3750 (global) |
3750 (interface) |
3850 |
MLS QoS SRR-queue mapping config (MLS QoS SRR-queue output [CoS-map queue [1] threshold [3] [4 5]) |
A, b, c and d can use the new mapping table [CoS 4 and 5 can be map to queue 1 threshold 3] |
Egress explicit classification with queuing action |
Before config:
3750#show mls qos maps cos-output-q
Cos-outputq-threshold map:
cos: 0 1 2 3 4 5 6 7
------------------------------------------------
queue-threshold: 2-1 2-1 3-1 3-1 4-1 1-1 4-1 4-1
User config mapping:
3750(config)#mls qos srr-queue output cos-map queue 3 threshold 3 0
New mapping table after config
3750#show mls qos maps cos-output-q
Cos-outputq-threshold map:
cos: 0 1 2 3 4 5 6 7
------------------------------------------------
queue-threshold: 3-3 2-1 3-1 3-1 4-1 1-1 4-1 4-1
Input : need apply trust-cos policy:
3850#show run policy-map trust-cos
class class-default
set cos cos table default
3850#show table-map default
Table Map default
default copy
Egress policy:
Before changing mapping:
Sample config:
3850#show run policy-map example2
class cos5
bandwidth percent 15
class cos0_1
bandwidth percent 25
class cos2_3
bandwidth percent 40
class cos4_6_7
bandwidth percent 20
3850#show run class-map cos5
class-map match-any cos5
match cos 5
3850#show run class-map cos0_1
class-map match-any cos0_1
match cos 0
match cos 1
3850#show run class-map cos2_3
class-map match-any cos2_3
match cos 2
match cos 3
3850#show run class-map cos4_6_7
!
class-map match-any cos4_6_7
match cos 4
match cos 6
match cos 7
After mapping changing , corresponding sample config:
3850#show run policy-map example6
class cos5
bandwidth percent 15
class cos1
bandwidth percent 25
class cos0_2_3
bandwidth percent 40
class cos4_6_7
bandwidth percent 20
3850#show class-map cos5
Class Map match-any cos5 (id 25)
Match cos 5
3850#show run class-map cos1
class-map match-any cos1
match cos 1
3850#show run class-map cos0_2_3
class-map match-any cos0_2_3
match cos 0
match cos 2
match cos 3
3850#show run class-map cos4_6_7
class-map match-any cos4_6_7
match cos 4
match cos 6
match cos 7
3750 (global) |
3750 (interface) |
3850 |
MLS QoS DSCP mutation |
Interface need config MLS QoS trust DSCP MLS QoS DSCP-mutation name [name is defined in global] |
Interface input policy with table-map mapping different DSCP. |
Global config :
3750(config)#mls qos map dscp-mutation dscp-mutation 0 1 to 63
3750(config)#mls qos map dscp-mutation dscp-mutation 2 3 to 62
Global show cli:
c3750#show mls qos maps dscp-mutation
Dscp-dscp mutation map:
dscp-mutation:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 63 63 62 62 04 05 06 07 08 09
1 : 10 11 12 13 14 15 16 17 18 19
2 : 20 21 22 23 24 25 26 27 28 29
3 : 30 31 32 33 34 35 36 37 38 39
4 : 40 41 42 43 44 45 46 47 48 49
5 : 50 51 52 53 54 55 56 57 58 59
6 : 60 61 62 63
Dscp-dscp mutation map:
Default DSCP Mutation Map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 01 02 03 04 05 06 07 08 09
1 : 10 11 12 13 14 15 16 17 18 19
2 : 20 21 22 23 24 25 26 27 28 29
3 : 30 31 32 33 34 35 36 37 38 39
4 : 40 41 42 43 44 45 46 47 48 49
5 : 50 51 52 53 54 55 56 57 58 59
6 : 60 61 62 63
Interface config:
interface FastEthernet7/0/3
description trust dscp
mls qos trust dscp
mls qos dscp-mutation dscp-mutation
c3750#show mls qos interface f7/0/3
FastEthernet7/0/3
trust state: trust dscp
trust mode: trust dscp
trust enabled flag: ena
COS override: dis
default COS: 0
DSCP Mutation Map: dscp-mutation
Trust device: none
qos mode: port-based
Interface using default dscp-table:
c3750#show mls qos interface g3/0/1
GigabitEthernet3/0/1
trust state: not trusted
trust mode: not trusted
trust enabled flag: ena
COS override: dis
default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: none
qos mode: port-based
Ingress : apply policy with dscp table-map
Egress: classify on new dscp value with queuing action
Ingress:
3850#show table-map dscp-2-dscp
Table Map dscp-2-dscp
from 0 to 63
from 1 to 63
from 2 to 62
from 3 to 62
default copy
3850#show run policy-map example7-input
class class-default
set dscp dscp table dscp-2-dscp
Egress:
3850#show run policy-map example7-output
class dscp63
shape average percent 20 [ queuing action based on the user need]
class dscp62
shape average percent 30 [queuing action based on user need]
3750 (global) |
3750 (interface) |
3850 |
MLS QoS aggregate policing [All classes use the agg-policing can share the policing rate.] |
Need interface level config |
Agg-policing (HQoS) |
MLS QoS aggregate-policer agg_traffic 8000 8000 exceed-action drop |
Interface has policy which has agg_traffic as agg policer name. |
Global:
mls qos aggregate-policer agg_traffic 8000 8000 exceed-action drop
Access-list:
access-list 1 permit 192.168.0.0 0.0.0.255
access-list 2 permit 10.0.0.0 0.0.0.255
Class-map:
class-map match-all agg1
match access-group 1
class-map match-all agg2
match access-group 2
Policy-map:
policy-map agg_policer
class agg1
set dscp 40
police aggregate agg_traffic
class agg2
set dscp 55
police aggregate agg_traffic
Note: class agg1 and agg2 can share the same policing rate
policy-map agg_police
class class-default
police cir 8000
service-policy child
policy-map child
class agg1
set dscp 40
class agg2
set dscp 55
3750 (Global config) |
3750 (interface) |
3850 |
MLS QoS map policed-DSCP x to y |
As long as interface has policing policy, exceed is transmit, the global CLI can take effect [input only]. |
One table-map for exceed and one for violate action of policing, input, and output. |
Default policed-dscp map:
3750#show mls qos map policed-dscp
Policed-dscp map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 01 02 03 04 05 06 07 08 09
1 : 10 11 12 13 14 15 16 17 18 19
2 : 20 21 22 23 24 25 26 27 28 29
3 : 30 31 32 33 34 35 36 37 38 39
4 : 40 41 42 43 44 45 46 47 48 49
5 : 50 51 52 53 54 55 56 57 58 59
6 : 60 61 62 63
User define policed-dscp map:
3750(config)#mls qos map policed-dscp 0 10 18 24 46 to 8
3750#show mls qos map policed-dscp
Policed-dscp map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 08 01 02 03 04 05 06 07 08 09
1 : 08 11 12 13 14 15 16 17 08 19
2 : 20 21 22 23 08 25 26 27 28 29
3 : 30 31 32 33 34 35 36 37 38 39
4 : 40 41 42 43 44 45 08 47 48 49
5 : 50 51 52 53 54 55 56 57 58 59
6 : 60 61 62 63
Policy config:
class-map match-all policed-dscp
match access-group 2
class policed-dscp
police 8000 8000 exceed-action policed-dscp-transmit
Attach the above policy at ingress:
Note : Mark down table can be used by policing and interface policing
as long as exceed action is transmit
3850(config)#table-map policed-dscp
3850(config-tablemap)#map from 0 to 8
3850(config-tablemap)#map from 10 to 8
3850(config-tablemap)#map from 18 to 8
3850(config-tablemap)#map from 24 to 8
3850(config-tablemap)#map from 46 to 8
3850#show table-map policed-dscp
Table Map policed-dscp
from 0 to 8
from 10 to 8
from 18 to 8
from 24 to 8
from 46 to 8
default copy
3850#show policy-map policed-dscp
Policy Map policed-dscp
Class class-default
police cir percent 10
conform-action transmit
exceed-action set-dscp-transmit dscp table policed-dscp
3750 (global) |
3750 (interface) |
3850 |
MLS QoS queue-set output 1 threshold 1100 100 50 200 (queue-limit) [1 ->queue-set 1, 1->first queue, 100 ->threshold 1, 100 ->threshold 2, 50 -> reserved buffer, 200 -> max threshold] |
Interface config queue-set [Default is queue-set 1] |
Egress queuing policy with queuing action and q-limit config. |
Global config:
mls qos srr-queue output cos-map queue 2 threshold 1 2
mls qos srr-queue output cos-map queue 2 threshold 2 3
mls qos srr-queue output cos-map queue 2 threshold 3 6 7
If no interface config, the queue-set 1 can be used:
3750#show mls qos queue-set 1
Queueset: 1
Queue : 1 2 3 4
----------------------------------------------
buffers : 15 25 40 20
threshold1: 100 125 100 60
threshold2: 100 125 100 150
reserved : 50 100 100 50
maximum : 200 400 400 200
For interface config queue-set 2 explicitly:
3750#show mls qos queue-set 2
Queueset: 2
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
(multiple class with queue-limit turn on)
3850#show policy-map q-limit
Policy Map q-limit
Class users-class
Queuing action ( shaper, bandwidth and bandwidth remaining)
queue-limit cos 2 percent 50
queue-limit cos 3 percent 50
queue-limit cos 6 percent 70
queue-limit cos 7 percent 70
Note: using the above config, cos 2 and cos 3 can be dropped earlier then cos 6 and 7
3750 (global) |
3750 (interface) |
3850 |
MLS QoS queue-set output [1] buffers [15 25 40 20 ] |
Interface config queue-set [default queue-set 1] |
Policy-map with queuing action and queue-buffers ratio [0-100]. |
Default queue-buffer :
3750#show mls qos queue-set 1
Queueset: 1
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
User define queue-buffer:
mls qos queue-set output 1 buffers 15 25 40 20
3750#show mls qos queue-set 1
Queueset: 1
Queue : 1 2 3 4
----------------------------------------------
buffers : 15 25 40 20
threshold1: 100 125 100 60
threshold2: 100 125 100 150
reserved : 50 100 100 50
maximum : 200 400 400 200
3850#show policy-map queue-buffer
Policy Map queue-buffer
Class cos7
bandwidth percent 10
queue-buffers ratio 15
Class cos1
bandwidth percent 30
queue-buffers ratio 25
class-map:
========
3850#show class-map cos7
Class Map match-any cos7 (id 22)
Match cos 7
3850#show class-map cos1
Class Map match-any cos1 (id 28)
Match cos 1
Attach to the interface at egress direction:
3750 (global) |
3750 (interface) |
3850 |
MLS QoS (share mode) |
Interface level config SRR-queue bandwidth share 1 30 35 5 |
Bandwith in policy-map |
Default share and shape mode:
3750-3stack#show mls qos interface gig 1/0/1 queueing
GigabitEthernet1/0/1
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 25 0 0 0
Shared queue weights : 25 25 25 25
The port bandwidth limit : 100 (Operational Bandwidth:100.0)
The port is mapped to qset : 1
User config share mode under interface:
interface GigabitEthernet1/0/1
srr-queue bandwidth share 40 30 20 10
srr-queue bandwidth shape 0 0 0 0
3750#show mls qos interface gig1/0/1 queueing
GigabitEthernet1/0/1
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 0 0 0 0
Shared queue weights : 40 30 20 10
The port bandwidth limit : 100 (Operational Bandwidth:100.0)
The port is mapped to qset : 1
3850#show policy-map bandwidth
Policy Map bandwidth
Class cos1
bandwidth percent 40
Class cos2
bandwidth percent 30
Class cos3
bandwidth percent 20
Class class-default
bandwidth percent 10
3850#show class-map cos1
Class Map match-any cos1
Match cos 1
3850#show class-map cos2
Class Map match-any cos2
Match cos 2
3850#show class-map cos3
Class Map match-any cos3 (id 26)
Match cos 3
3850#show class-map cos4
Class Map match-any cos4 (id 25)
Match cos 4
3750 (Global) |
3750 (Interface) |
3850 |
MLS QoS [expedite queue] Note: expedite queue same as priority queue |
Interface level config priority-queue out [make corresponding queue-set’s 1st queue as strict priority queue] |
Prioriy level 1 in the policy-map |
interface GigabitEthernet1/0/2
priority-queue out
end
3750#show mls qos interface gig1/0/2 queueing
GigabitEthernet1/0/2
Egress Priority Queue : enabled
Shaped queue weights (absolute) : 25 0 0 0
Shared queue weights : 25 25 25 25
The port bandwidth limit : 100 (Operational Bandwidth:100.0)
The port is mapped to qset : 1
3850#show run policy-map priority-queue
class cos7
priority level 1 ? strict priority
class cos1
shape average percent 10
Attach the above policy to interface at egress side:
Default shape mode:
GigabitEthernet1/0/3
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 25 0 0 0
Shared queue weights : 25 25 25 25
The port bandwidth limit : 100 (Operational Bandwidth:100.0)
The port is mapped to qset : 1
User define shape mode:
interface GigabitEthernet1/0/3
srr-queue bandwidth shape 4 4 4 4
3750-3stack#show mls qos interface gigabitEthernet 1/0/3 queueing
GigabitEthernet1/0/3
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 4 4 4 4
Shared queue weights : 25 25 25 25
The port bandwidth limit : 100 (Operational Bandwidth:100.0)
The port is mapped to qset : 1
3850#show policy-map shape
Policy Map shape
Class cos1
Average Rate Traffic Shaping
cir 25%
Class cos2
Average Rate Traffic Shaping
cir 25%
Class cos3
Average Rate Traffic Shaping
cir 25%
Class cos4
Average Rate Traffic Shaping
cir 25%
3750 (Global) |
3750 (Interface) |
3850 |
MLS QoS |
SRR-queue bandwidth limit |
Speed, bandwidth |
interface GigabitEthernet1/0/4
srr-queue bandwidth limit 50
3750-3stack#show mls qos interface g1/0/4 queueing
GigabitEthernet1/0/4
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 25 0 0 0
Shared queue weights : 25 25 25 25
The port bandwidth limit : 50 (Operational Bandwidth:50.0)
The port is mapped to qset : 1
3850#show policy-map default-shape
Policy Map default-shape
Class class-default
Average Rate Traffic Shaping
cir 50%
service-policy child [ queuing based on customer need]
3750 (Global configuration) |
3750 (Interface) |
3850 |
Class-map, Policy-map |
Attach policy to SVI Interface needs configuration MLS QoS vlan_based |
PV ingress policy |
Note:
SVI: Parent [class acl based class-map->policing]
Child [class interface range class-map->marking]
Child class-map:
3750(config)#class-map cm-interface-1
3750(config-cmap)#match input gigabitethernet3/0/1 - gigabitethernet3/0/2
Child policy-map:
3750(config)#policy-map port-plcmap-1
3750(config-pmap)#class cm-interface-1
3750(config-pmap-c)#police 900000 9000 drop
Parent class-map matching acl:
3750(config)#access-list 101 permit ip any any
Parent class-map:
3750(config)#class-map cm-1
3750(config-cmap)#match access 101
3750(config)#policy-map vlan-plcmap
3750(config-pmap)#class cm-1
3750(config-pmap-c)#set dscp 7
3750(config-pmap-c)#service-policy port-plcmap-1
3750(config-pmap-c)#exit
3750(config-pmap)#class cm-2
3750(config-pmap-c)#service-policy port-plcmap-1
3750(config-pmap-c)#set dscp 10
Attach the policy to the interface:
3750(config)#interface vlan 10
3750(config-if)#service-policy input vlan-plcmap
Note: Due to target change, this can’t be one to one mapping, need config based on
customer requirement.
Target is at port level
Parent classify on vlan
Child: none vlan classification [for example cos/dscp]
3850#show run policy-map PV_parent_marking_child_policing
class vlan10
set dscp 63
service-policy child_class_dscp_policing
class vlan11
set cos 5
service-policy child_class_dscp_policing
class vlan12
set precedence 6
service-policy child_class_dscp_policing
3850#show run policy-map child_class_dscp_policing
class dscp1
police cir percent 12
class dscp2
police cir percent 15
class dscp3
police cir percent 20
class class-default
police cir percent 22
3850#show run class-map vlan10
class-map match-any vlan10
match vlan 10
3850#show run class-map vlan11
class-map match-any vlan11
match vlan 11
3850#show run class-map vlan12
class-map match-any vlan12
match vlan 12
3850#show run class-map dscp1
class-map match-any dscp1
match dscp 1
3850#show run class-map dscp2
class-map match-any dscp2
match dscp 2
3850#show run class-map dscp3
class-map match-any dscp3
match dscp 3
Revision | Publish Date | Comments |
---|---|---|
2.0 |
20-Jun-2023 |
Recertification |
1.0 |
02-Dec-2014 |
Initial Release |