26-20
Catalyst 3750 Metro Switch Software Configuration Guide
78-15870-01
Chapter 26 Configuring QoS
Understanding Hierarchical QoS
Hierarchical Levels
Hierarchical QoS configuration involves traffic classification, policing, queueing, and scheduling. You
can create a hierarchy by associating a class-level policy-map with a VLAN-level policy-map, by
associating that VLAN-level policy-map with a physical-level policy-map, and by attaching the
physical-level policy-map to the output of an ES port. You can skip hierarchical levels, but the order of
the levels (class level, VLAN level, and then the physical level) must be preserved.
You can configure these three QoS levels in the hierarchy:
• Class level—You configure this level of the hierarchy by matching CoS, DSCP, IP precedence, or
MPLS EXP bits in the outbound packet through the match {cos cos-list | ip dscp dscp-list | ip
precedence ip-precedence-list | mpls experimental exp-list} class-map configuration command. At
the class level, you can:
–
Configure policer drops by using the police cir or police cir percent policy-map class
configuration command.
–
Configure tail drop or WRED drop policies by using the queue-limit or the random-detect
policy-map class configuration command.
–
Modify the traffic class by setting Layer 2 and Layer 3 QoS fields through the set {cos new-cos
| ip {dscp new-dscp | precedence new-precedence} | mpls experimental exp-number}
policy-map class configuration command.
–
Configure CBWFQ or LLQ scheduling by using the bandwidth or the priority policy-map
class configuration command.
–
Configure egress traffic shaping by using the shape policy-map class configuration command.
The switch supports eight classes (including the default class) per policy map at this level. The
default class is reserved for packets that do not meet any of the matching criteria.
This is an example of a class-level classification and its naming convention:
Switch(config)# class-map match-any class-level-class-map-name
Switch(config-cmap)# match ip dscp 10 11 12
This is an example of a class-level policy-map and its naming convention:
Switch(config)# policy-map class-level-policy-map-name
Switch(config-pmap)# class class-level-class-name
Switch(config-pmap-c)# bandwidth percent 20
Switch(config-pmap-c)# shape average 20000000
This is a class-level configuration example that combines a class-level classification and a
class-level policy-map to create a service policy:
Switch(config)# class-map c1
Switch(config-cmap)# match ip precedence 4
Switch(config-cmap)# exit
Switch(config)# policy-map policy1
Switch(config-pmap)# class c1
Switch(config-pmap-c)# police cir 500000 bc 10000 pir 1000000 be 10000 conform-action
transmit exceed-action set-prec-transmit 2 violate-action drop
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1/1
Switch(config-if)# service-policy output policy1