582
Configuring QoS
Understanding QoS
The switch supports two policy levels: a parent level and a child level. With the QoS parent-child structure, you can
reference a child policy in a parent policy to provide additional control of a specific traffic type. For per-port, per-VLAN
QoS, the parent-level class map specifies only the VLAN match criteria, and the child-level class maps provide more
detailed classification for frames matching the parent-level class map.You can configure multiple service classes at the
parent level to match different combinations of VLANs, and you can apply independent QoS policies to each parent
service class using any child policy map.
Note: A per-port, per-VLAN parent-level class map supports only a child-policy association; it does not allow any actions
to be configured. In addition, for a parent-level class map, you cannot configure an action or a child-policy association
for the class class-default.
Per-port, per-VLAN QoS has these limitations:
You can apply a per-port, per-VLAN hierarchical policy map only to trunk ports.
You can configure classification based on VLAN ID only in the parent level of a per-port, per-VLAN hierarchical policy
map.
When the child policy map attached to a VLAN or set of VLANs contains only Layer 3 classification (match ip dscp,
match ip precedence, match IP ACL), you must be careful to ensure that these VLANs are not carried on any port
other than the one on which this per-port, per-VLAN policy is attached. Not following this restriction could result in
improper QoS behavior for traffic ingressing the switch on these VLANs.
We also recommend that you restrict VLAN membership on the trunk ports to which the per-port, per-VLAN is
applied by using the switchport trunk allowed vlan interface configuration command. Overlapping VLAN
membership between trunk ports that have per-port, per-VLAN policies with Layer 3 classification could also result
in unexpected QoS behavior.
In this example, the class maps in the child-level policy map specify matching criteria for voice, data, and video traffic,
and the child policy map sets the action for input policing each type of traffic. The parent-level policy map specifies the
VLANs to which the child policy maps are applied on the specified port.
Switch(config)# class-map match-any dscp-1 data
Switch(config-cmap)# match ip dscp 1
Switch(config-cmap)# exit
Switch(config)# class-map match-any dscp-23 video
Switch(config-cmap)# match ip dscp 23
Switch(config-cmap)# exit
Switch(config)# class-map match-any dscp-63 voice
Switch(config-cmap)# match ip dscp-63
Switch(config-cmap)# exit
Switch(config)# class-map match-any customer-1-vlan
Switch(config-cmap)# match vlan 100
Switch(config-cmap)# match vlan 200
Switch(config-cmap)# match vlan 300
Switch(config-cmap)# exit
Note: You can also enter the match criteria as match vlan 100 200 300 with the same result.
Switch(config)# policy-map child policy-1
Switch(config-pmap)# class dscp-63 voice
Switch(config-pmap-c)# police cir 10000000 bc 50000
Switch(config-pmap-c)# conform-action set-cos-transmit 5
Switch(config-pmap-c)# exceed-action drop
Switch(config-pmap-c)# exit
Switch(config-pmap)# class dscp-1 data
Switch(config-pmap-c)# set cos 0
Switch(config-pmap-c)# exit
Switch(config-pmap)# class dscp-23 video
Switch(config-pmap-c)# set cos 4
Switch(config-pmap-c)# set ip precedence 4
Switch(config-pmap-c)# exit
Switch(config)# policy-map parent-customer-1