|
|
This publication describes how to configure the quality of service (QoS) feature on Catalyst 6000 family switches that are running the Cisco IOS for the Catalyst 6000 Family of Switches product.
![]() |
Note For complete syntax and usage information for the commands used in this publication, refer to the "Command Reference" section and the Catalyst 6000 Family IOS Command Reference publication at: http://www.cisco.com/univercd/cc/td/doc/product/lan/cat6000/ios127xe/cmdref/index.htm |
This publication contains these sections:
![]() |
Note Throughout this publication and all Catalyst 6000 family documents, the term "QoS" refers to the QoS feature as implemented on the Catalyst 6000 family. |
Typically, networks operate on a best-effort delivery basis, which means that all traffic has equal priority and an equal chance of being delivered in a timely manner. When congestion occurs, all traffic has an equal chance of being dropped.
The QoS feature on the Catalyst 6000 family switches selects network traffic, prioritizes it according to its relative importance, and uses congestion-avoidance to provide priority-indexed treatment. Implementing QoS in your network makes network performance more predictable and bandwidth utilization more effective.
These sections describe QoS:
This section defines some QoS terminology.
![]() |
Note On interfaces configured as Layer 2 ISL trunks, all traffic is in ISL frames. On interfaces configured as Layer 2 802.1Q trunks, all traffic is in 802.1Q frames except for traffic in the native VLAN. |
![]() |
Note Layer 3 IP packets can carry either an IP precedence value or a DSCP value. QoS supports the use of either value, since DSCP values are backwards compatible with IP precedence values. |
Figure 1 illustrates traffic flow through the switch components.

![]() |
Note Traffic that is Multilayer switched does not go through the Multilayer Switch Feature Card (MSFC) and retains the Layer 2 CoS value assigned by the PFC. |
Figure 2 through Figure 5 show the QoS features implemented on the switch components.

![]() |
Note Enter a show queueing interface {ethernet | fastethernet | gigabitethernet} slot/interface | include type command to see the queue structure of an interface (see the "Receive Queues" section). |



![]() |
Note Enter a show queueing interface {ethernet | fastethernet | gigabitethernet} slot/interface | include type command to see the queue structure of an interface (see the "Transmit Queues" section). |
These sections summarize the QoS features:
QoS supports classification, marking, scheduling, and congestion avoidance using Layer 2 CoS values at Ethernet ingress interfaces. Classification, marking, scheduling, and congestion avoidance at Ethernet ingress interfaces do not use or set Layer 3 IP precedence or DSCP values. You can configure Ethernet ingress interface trust states that can be used by the PFC to set Layer 3 IP precedence or DSCP values and the Layer 2 CoS value. See Figure 2 and the "Ethernet Ingress Interface Features" section.
QoS supports classification, marking, and policing using policy maps. You can attach one policy map to an ingress interface. Each policy map can contain multiple policy map classes. You can configure a separate policy map class for each type of traffic received through the interface. See the "PFC Classification, Marking, and Policing" section.
QoS supports Ethernet egress interface scheduling and congestion avoidance using Layer 2 CoS values. Ethernet egress interface marking sets Layer 2 CoS values and Layer 3 DSCP values. See the "Ethernet Egress Interface Features" section.
QoS marks IP traffic transmitted to the MSFC with rewritten Layer 3 DSCP values. CoS is zero in all traffic sent from the MSFC to egress interfaces.
![]() |
Note Traffic that is Layer 3 switched does not go through the MFSC and retains the CoS value assigned by the PFC. |
These sections describe Ethernet ingress interface QoS features:
See the "Configuring the Trust State of a Gigabit Ethernet Interface" section. QoS implements ingress interface congestion avoidance only on interfaces configured to Trust CoS.
![]() |
Note Ingress interface marking, scheduling, and congestion avoidance use Layer 2 CoS values. Ingress interface marking, scheduling, and congestion avoidance do not use or set Layer 3 IP precedence or DSCP values. |
QoS marks all frames received through untrusted interfaces with the interface CoS value (the default is zero). QoS does not implement ingress interface congestion avoidance on untrusted interfaces.
When an ISL frame enters the switch through a trusted interface, QoS accepts the three least significant bits in the User field as a CoS value. When an 802.1Q frame enters the switch through a trusted interface, QoS accepts the User Priority bits as a CoS value. QoS marks all traffic received in other frame types with the interface CoS value.
![]() |
Note The interface CoS value is configurable for each Ethernet interface (see the "Configuring the CoS Value for an Interface" section). |
On interfaces configured to trust CoS, QoS uses Layer 2 CoS-value based receive queue drop thresholds to avoid congestion (see the "Configuring the Trust State of a Gigabit Ethernet Interface" section).
![]() |
Note Ethernet interfaces have either single or dual receive queues. Enter a show queueing interface {ethernet | fastethernet | gigabitethernet} slot/interface | include type command to see the queue structure of an interface. 1q4t indicates one standard queue with four thresholds. 1p1q4t indicates one strict-priority queue and one standard queue with four thresholds. |
Strict-priority queues are queues that are serviced in preference to other queues. QoS services traffic in a strict-priority queue before servicing the standard queue. When QoS services the standard queue, after receiving a packet, it checks for traffic in the strict-priority queue. If QoS detects traffic in the strict-priority queue, it suspends its service of the standard queue and completes service of all traffic in the strict-priority queue before returning to the standard queue.
QoS schedules traffic through the receive queues based on Layer 2 CoS values. In the 1p1q4t default configuration, QoS assigns all traffic with CoS 5 to the strict priority queue; QoS assigns all other traffic to the standard queue. In the 1q4t default configuration, QoS assigns all traffic to the standard queue.
If an interface is configured to trust CoS, QoS implements Layer 2 CoS-value-based receive drop thresholds to avoid congestion in received traffic.
1q4t interfaces have this default drop threshold configuration:
1p1q4t interfaces have this default drop threshold configuration:
![]() |
Note The explanations in this section use default values. You can configure many of the parameters (see the "Configuring QoS" section). All interfaces of the same type use the same drop threshold configuration. |
Figure 6 illustrates the drop thresholds for a 1q4t interface. Drop thresholds in other configurations function similarly.

These sections describe PFC classification, marking, and policing:
![]() |
Note Classification on the PFC uses Layer 2, 3, and 4 values. Marking uses Layer 2 CoS values and Layer 3 IP precedence or DSCP values. |
During processing, the PFC represents the priority of all traffic (including non-IP traffic) with an internal DSCP value:
For IP traffic, QoS creates a ToS byte from the 6-bit DSCP value (which may equal an IP precedence value) plus the original two-least-significant bits from the received ToS byte, and sends it to the egress interface to be written into IP packets.
To provide matching Layer 3 and Layer 2 QoS labels, the PFC maps the internal DSCP value to a Layer 2 CoS value. The egress interface rewrites the ToS byte with the internal DSCP value and rewrites Layer 2 CoS with the mapped value.
The PFC supports classification, marking, and policing using policy maps (see the "Configuring a Policy Map" section). Each policy map can contain multiple policy map classes. You can configure a separate policy map class for each type of traffic received through an interface.
Policy map classes specify filtering with:
Policy map classes specify actions with:
![]() |
Note If traffic matches a policy map class that does not contain a trust command, the trust state remains as set on the interface. |
The PFC uses the trust state (set by the interface configuration or by a trust command) to select the Layer 2 and Layer 3 QoS labels that the egress interface writes into the packets and frames before it is transmitted:
![]() |
Note With the default values, QoS applies DSCP zero to traffic from ingress interfaces configured as untrusted. |
![]() |
Note Policing with the conform-action transmit keywords supersedes the interface trust state of matched traffic with trust DSCP or with the trust state defined by a trust command in the policy map class (see the "Configuring the Policy-Map Class Trust State" section). |
You can create policers that specify bandwidth utilization limits (see the "Creating Named Aggregate Policers" section and the "Configuring Policy-Map Class Actions" section). You specify the bandwidth utilization limits as an average rate and a maximum burst size. Packets that exceed these limits are "out of profile" or "nonconforming."
In each policer, you specify if out-of-profile packets are to be dropped or to have a new DSCP value applied to them (applying a new DSCP value is called "markdown"). Since out-of-profile packets do not retain their original priority, they are not counted as part of the bandwidth consumed by in-profile packets.
For all policers, QoS uses a configurable global table that maps received DSCP values to marked-down DSCP values (see the "Configuring DSCP Markdown Values" section). When markdown occurs, QoS gets the marked-down DSCP value from the table. You cannot specify marked-down DSCP values in individual policers.
![]() |
Note By default, the markdown table is configured so that no markdown occurs: the marked-down DSCP values are equal to the original DSCP values. To enable markdown, configure the table as appropriate for your network. |
You can create two kinds of policers: aggregate and microflow.
![]() |
Note During microflow policing, QoS aggregates MAC-Layer flows that have the same source and destination MAC-Layer addresses. |
You can include both an aggregate policer and a microflow policer in each policy map class to police a flow based on both its own bandwidth utilization and on its bandwidth utilization combined with that of other flows.
![]() |
Note If traffic is both aggregate and microflow policed, then both the aggregate and microflow policers must each use the same conform-action keyword option: drop, set-dscp-transmit, set-prec-transmit, or transmit. |
For example, you could create a microflow policer with bandwidth limits suitable for individuals in a group and you could create a named aggregate policer with bandwidth limits suitable for the group as a whole. You could include both policers in policy map classes that match the group's traffic. The combination would affect individuals separately and the group aggregately.
For policy map classes that include both an aggregate and a microflow policer, QoS responds to an out-of-profile status from either policer and, as specified by the policer, applies a new DSCP value or drops the packet. If both policers return an out-of-profile status, then if either policer specifies that the packet is to be dropped, it is dropped; otherwise QoS applies a marked down DSCP value.
![]() |
Note To avoid inconsistent results, ensure that all traffic policed by the same aggregate policer has the same trust state. |
You can configure each interface for either interface-based QoS (default) or VLAN-based QoS (see the "Configuring VLAN-Based QoS on Layer 2 Interfaces" section) and attach a policy map to the selected interface (see the "Attaching a Policy Map to an Interface" section).
On interfaces configured for interface-based QoS, you can attach a policy map to the interface.
On interfaces configured for VLAN-based QoS, you can attach a policy map to the interface's VLAN; or for a trunk, you can attach a policy map to any VLANs allowed on the trunk.
QoS associates CoS and ToS values with traffic as specified by the trust state and policers in the policy map (see the "Internal DSCP Values" section). The associated CoS and ToS are used at the Ethernet egress interface (see the "Ethernet Egress Interface Features" section).
QoS schedules traffic through the transmit queues based on CoS values and uses CoS-value-based transmit queue drop thresholds to avoid congestion in traffic transmitted from Ethernet interfaces.
![]() |
Note Ethernet egress interface scheduling and congestion avoidance uses Layer 2 CoS values. Ethernet egress interface marking writes Layer 2 CoS values and, for IP traffic, the Layer 3 ToS byte. |
![]() |
Note Enter the show queueing interface {ethernet | fastethernet | gigabitethernet} slot/interface | include type command to see the queue structure of an interface. 2q2t indicates two standard queues with two thresholds each. 1p2q2t indicates one strict-priority queue and two standard queues with two thresholds each. |
All interfaces have a low-priority transmit queue and a high-priority transmit queue. 1p2q2t interfaces have a strict-priority queue in addition to the standard queues.
On 1p2q2t interfaces, the switch services traffic in the strict-priority queue before servicing the standard queues. When the switch is servicing a standard queue, after transmitting a packet, it checks for traffic in the strict-priority queue. If the switch detects traffic in the strict-priority queue, it suspends its service of the standard queue and completes service of all traffic in the strict-priority queue before returning to the standard queue.
On 2q2t interfaces, the default QoS configuration allocates of 90 percent of the total transmit queue size to the low-priority standard queue and 10 percent to the high-priority standard queue.
On 1p2q2t interfaces, the default QoS configuration allocates 90 percent of the total transmit queue size to the low-priority standard queue, 5 percent to the high-priority standard queue, and 5 percent to the strict-priority queue.
![]() |
Note Transmit queue size is limited to the configured value (see the "Setting the Transmit Queue Size Ratio" section), but any queue can use all available bandwidth. |
For 1p2q2t interfaces, with the default configuration, QoS assigns all traffic with CoS 5 to the strict priority queue, traffic with CoS 4, 6, and 7 to the high-priority standard queue, and traffic with CoS 0, 1, 2, and 3 to the low-priority standard queue. See the "Mapping CoS Values to Drop Thresholds" section.
These sections describe congestion avoidance on Ethernet egress interfaces:
For 2q2t interfaces, each transmit queue has two drop thresholds that function as follows:
For triple-transmit queue interfaces, the low- and high-priority standard transmit queues each have two drop thresholds that function as follows:
![]() |
Note The explanations in this section use default values. You can configure many of the parameters (see the "Configuring QoS" section). All interfaces of the same type use the same drop threshold configuration. |
When traffic is transmitted from the switch, QoS writes the ToS byte into IP packets and the CoS value that was used for scheduling and congestion avoidance into ISL and 802.1Q frames (see the "Final PFC CoS and ToS Values" section).
Table 1 shows the QoS default configuration.
| Feature | Default Value |
|---|---|
QoS global enable state | Disabled NoteWith QoS enabled and all other QoS parameters at default values, QoS sets Layer 3 DSCP to zero and Layer 2 CoS to zero in all traffic transmitted from the switch. |
QoS interface enable state | Enabled when QoS is globally enabled |
Interface CoS value | 0 |
Microflow policing | Enabled |
Intra-VLAN microflow policing | Disabled |
Interface-based or VLAN-based | Interface-based |
CoS to DSCP map | CoS 0 = DSCP 0 |
IP precedence to DSCP map | IP precedence 0 = DSCP 0 |
DSCP to CoS map | DSCP 0-7 = CoS 0 |
Marked-down DSCP from DSCP map | Marked-down DSCP value equals original DSCP value (no markdown) |
Policers | None |
Policy maps | None |
| With QoS enabled | |
Interface trust state | Untrusted |
Receive queue drop threshold1 percentages |
|
Transmit queue drop threshold percentages |
|
Transmit queue low-priority/high-priority bandwidth allocation ratio | 4:255 |
2q2t transmit queue size ratio | Low priority: 90%; High priority: 10% |
1p2q2t transmit queue size ratio | Low priority: 90%; High priority: 5%; Strict priority: 5% |
CoS value/drop threshold mapping |
|
| With QoS disabled | |
Interface trust state | trust-dscp |
Receive queue drop threshold percentages | All thresholds set to 100% |
Transmit queue drop threshold percentages | All thresholds set to 100% |
Transmit queue low-priority/high-priority bandwidth allocation ratio | 255:1 |
Transmit queue size ratio |
|
CoS value/drop threshold mapping | Receive drop threshold 1 and transmit queue 1/drop threshold 1: CoS 0-7 |
| 1QoS implements receive queue drop thresholds only on interfaces configured with the trust cos interface keywords. 2On 1p1q4t/1p2q2t interfaces, CoS 5 is mapped to the strict priority queues. |
These sections describe how to configure QoS on the Catalyst 6000 family switches:
To enable QoS globally, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# mls qos | Enable QoS on the switch. Use the no mls qos command to globally disable QoS. |
Step 2 | Router(config)# exit | Exit the configuration mode. |
Step 3 | Router# show mls qos | Verify the configuration. |
This example shows how to enable QoS globally:
Router(config)# mls qos Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show mls qos
QoS is enabled globally
Microflow QoS is enabled globally
QoS global counters:
Total packets: 544393
IP shortcut packets: 1410
Packets dropped by policing: 0
IP packets with TOS changed by policing: 467
IP packets with COS changed by policing: 59998
Non-IP packets with COS changed by policing: 0
Router#
To create a named aggregate policer, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# [no] mls qos aggregate-policer | Create a named aggregate policer (see the "Policers" section).
|
Step 2 | Router(config)# exit | Exit the configuration mode. |
Step 3 | Router# show mls qos aggregate policer | Verify the configuration. |
This example shows how to create a named aggregate policer with a 1-Mbps rate limit and a 10-MB burst limit that transmits conforming traffic and marks down out-of-profile traffic:
Router(config)# mls qos aggregate-policer aggr-1 1000000 10000000 conform-action transmit exceed-action policed-dscp-transmit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show mls qos aggregate-policer aggr-1 ag1 1000000 1000000 conform-action transmit exceed-action policed-dscp-transmit AgId=0 [pol4] Router#
In the output:
![]() |
Note You can also create class-maps during policy map creation with the policy-map class command (see the "Configuring Filtering in a Policy Map" section). |
See the following sections for configuration tasks:
In Release 12.1(1)E and later, use the mac access-list extended configuration command to create named access lists that filter DECnet, AppleTalk, VINES, or XNS traffic based on Layer 2 addresses.
To create a MAC-Layer access list, perform this task:
| Command | Purpose | |
|---|---|---|
| Router(config)# [no] mac access-list extended list_name | Specify the user-defined name of the access list. Use the no keyword to delete an access list. |
To create or delete entries in a MAC-Layer access list, perform this task:
| Command | Purpose | |
|---|---|---|
| Router(config-ext-macl)# [no] {permit | deny} | Specify an entry in the access list.
|
The following list shows the ethertype values matched by the protocol keywords:
The following example shows how to create a MAC-Layer access list named mac_layer that denies dec-phase-iv traffic from 0000.4700.0001 that is going to 0000.4700.0009 and permits all other traffic:
Router(config)# mac access-list extended mac_layer Router(config-ext-macl)# deny 0000.4700.0001 0.0.0 0000.4700.0009 0.0.0 dec-phase-iv Router(config-ext-macl)# permit any any
![]() |
Note You can also create class-maps during policy map creation with the policy-map class command (see the "Configuring Filtering in a Policy Map" section). |
To create a class map, perform this task:
| Command | Purpose | |
|---|---|---|
| Router(config)# [no] class-map class_name | Specify the user-defined name of class map. Use the no keyword to delete a class map. |
To configure filtering in a class map, perform one of these tasks:
| Command | Purpose | |
|---|---|---|
| Router(config-cmap)# [no] match access-group | (Optional) Specify the name of the ACL used to filter traffic. Use the no keyword to remove the statement from a class map. NoteExcept for MAC-Layer ACLs (see the "Configuring MAC-Layer Named Access Lists (Optional)" section), access lists are not documented in this publication. See the reference under access-list in the "Configuring a QoS Policy" section. |
| Router (config-cmap)# [no] match ip precedence | (Optionalfor IP traffic only) Specify up to eight IP precedence values used as match criteria. Use the no keyword to remove the statement from a class map. |
| Router (config-cmap)# [no] match ip dscp | (Optionalfor IP traffic only) Specify up to eight DSCP values used as match criteria. Use the no keyword to remove the statement from a class map. |
![]() |
Note The Ethernet interfaces on Catalyst 6000 family switches support class maps that contain a single match command. Catalyst 6000 family switches do not detect the use of unsupported keywords until you attach a policy map to an interface (see the "Attaching a Policy Map to an Interface" section). The Ethernet interfaces on Catalyst 6000 family switches do not support the match classmap, match destination-address, match input-interface, match mpls, match protocol, match qos-group, and match source-address keywords. Catalyst 6000 family switches do not detect the use of unsupported keywords until you attach a policy map to an interface (see the "Attaching a Policy Map to an Interface" section). |
To verify class-map configuration, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router (config-cmap)# exit | Exit class map configuration mode. |
Step 2 | Router (config)# exit | Exit configuration mode. |
Step 3 | Router# show class-map class_name | Verify the configuration. |
The following example shows how to create a class map named ipp5 and configure filtering to match traffic with IP precedence 5:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# class-map ipp5 Router(config-cmap)# match ip precedence 5 Router(config-cmap)# exit Router(config)# exit Router#
The following example shows how to verify the configuration:
Router# show class-map ipp5 Class Map match-all ipp5 (id 1) Match ip precedence 5 Router#
You can attach only one policy map to an interface. Policy maps can contain one or more classes, each with different match criteria and policers. Configure a separate class in the policy map for each type of traffic that an interface receives.
The following sections describe policy-map configuration:
To create a policy map, perform this task:
| Command | Purpose | |
|---|---|---|
| Router(config)# [no] policy-map policy_name | Create a policy map with a user-specified name. Use the no keyword to delete the policy map. |
![]() |
Note Catalyst 6000 family switches do not support the class class_name destination-address, class class_name input-interface, class class_name protocol, class class_name qos-group, and class class_name source-address keywords on Ethernet interfaces. Catalyst 6000 family switches do not detect the use of unsupported keywords until you attach a policy map to an interface (see the "Attaching a Policy Map to an Interface" section). |
Policy maps can contain one or more classes. Use one of the following class commands to configure filtering for a class in the policy map.
| Command | Purpose | |
|---|---|---|
| Router(config-pmap)# [no] class class_name | Specify the name of a previously defined class map. Use the no keyword to remove a class map from the policy map. |
| Command | Purpose | |
|---|---|---|
| Router(config-pmap)# class class_name | Define a class map that uses an access list to filter traffic, or that matches traffic that has the specified DSCP or IP precedence values. NoteThis command creates a class map that can be used in other policy maps. |
The following sections describe policy-map class action configuration:
![]() |
Note Catalyst 6000 family switches do not support the bandwidth, priority, queue-limit, random-detect, or set keywords in policy-map classes on Ethernet interfaces. Catalyst 6000 family switches do not detect the use of unsupported keywords until you attach a policy map to an interface (see the "Attaching a Policy Map to an Interface" section). |
Configuring the Policy-Map Class Trust State
To configure the policy-map class trust state, perform this task:
| Command | Purpose | |
|---|---|---|
| Router(config-pmap-c)# [no] trust | Configure the policy-map class trust state, which selects the value that QoS uses as the source of the internal DSCP value (see the "Internal DSCP Values" section).
|
Configuring Policy-Map Class Policing
![]() |
Note Policing with the conform-action transmit keywords supersedes the interface trust state of matched traffic with trust DSCP or with the trust state defined by a trust command in the policy map class. |
![]() |
Note Catalyst 6000 family switches do not support the set-qos-transmit policer keyword on Ethernet interfaces. Catalyst 6000 family switches do not support the set-dscp-transmit or set-prec-transmit keywords as arguments to the exceed-action keyword on Ethernet interfaces. Catalyst 6000 family switches do not detect the use of unsupported keywords until you attach a policy map to an interface (see the "Attaching a Policy Map to an Interface" section). |
| Command | Purpose | |
|---|---|---|
| Router(config-pmap-c)# [no] police [flow] | Define a per-interface aggregate policer or, for IP or IPX traffic, include the flow keyword to define a microflow policer (see the "Policers" section).
|
| Command | Purpose | |
|---|---|---|
| Router(config-pmap-c)# [no] police aggregate | Specify the name of a previously defined aggregate policer (see the "Creating Named Aggregate Policers" section). Use the no keyword to remove the policer from the policy map class. |
The following example shows how to create a policy map named max-pol-ipp5 that uses the class-map named ipp5, is configured to trust received IP precedence values and is configured with a maximum-capacity aggregate policer and with a microflow policer:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# policy-map max-pol-ipp5 Router(config-pmap)# class ipp5 Router(config-pmap-c)# trust ip-precedence Router(config-pmap-c)# police 2000000000 2000000 conform-action set-prec-transmit 6 exceed-action policed-dscp-transmit Router(config-pmap-c)# police flow 10000000 10000 conform-action set-prec-transmit 6 exceed-action policed-dscp-transmit Router(config-pmap-c)# exit Router(config-pmap)# exit Router(config)# exit
To verify policy map configuration, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config-pmap-c)# exit | Exit policy-map class configuration mode. NoteEnter additional class commands to create additional classes in the policy map. |
Step 2 | Router(config-pmap)# exit | Exit policy-map configuration mode. |
Step 3 | Router(config)# exit | Exit configuration mode. |
Step 4 | Router# show policy-map policy_name | Verify the configuration. |
The following example shows how to verify the configuration:
Router# show policy-map max-pol-ipp5
Policy Map max-pol-ipp5
class ipp5
class ipp5
police flow 10000000 10000 conform-action set-prec-transmit 6 exceed-action policed-dscp-transmit
trust precedence
police 2000000000 2000000 2000000 conform-action set-prec-transmit 6 exceed-action policed-dscp-transmit
Router#
To attach a policy map to an interface, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface {vlan vlan_ID | | Select the interface to configure. |
Step 2 | Router(config-if)# [no] service-policy input policy_map_name | Attach a policy map to the input direction of the interface. Use the no keyword to detach a policy map from an interface. |
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show policy-map {vlan vlan_ID | | Verify the configuration. |
![]() |
Note Catalyst 6000 family switches do not support the output service-policy keyword on Ethernet interfaces. |
The following example shows how to attach the policy map named pmap1 to Fast Ethernet interface 5/36:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface fastethernet 5/36 Router(config-if)# service-policy input pmap1 Router(config-if)# exit Router(config)# exit
The following example shows how to verify the configuration:
Router# show policy-map interface fastethernet 5/36
FastEthernet5/36
service-policy input: pmap1
class-map: cmap1 (match-all)
0 packets, 0 bytes
5 minute rate 0 bps
match: ip precedence 5
class cmap1
police 8000 8000 conform-action transmit exceed-action drop
class-map: cmap2 (match-any)
0 packets, 0 bytes
5 minute rate 0 bps
match: ip precedence 2
0 packets, 0 bytes
5 minute rate 0 bps
class cmap2
police 8000 10000 conform-action transmit exceed-action drop
Router#
To enable or disable microflow policing, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# [no] mls qos flow-policing | Enable microflow policing on the switch. Use the no keyword to disable microflow policing. |
Step 2 | Router(config)# exit | Exit the configuration mode. |
Step 3 | Router# show mls qos | Verify the configuration. |
See the "Policers" section.
This example shows how to disable microflow policing on the switch:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# no mls qos flow-policing Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show mls qos | include Microflow Microflow QoS is disabled globally Router#
You can enable or disable the QoS features implemented on the PFC for traffic from an interface (see the "PFC Classification, Marking, and Policing" section). Disabling the PFC QoS features on an interface leaves the configuration intact. The mls qos interface command reenables any previously configured PFC QoS features.
To enable or disable PFC features for traffic from an interface, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface {vlan vlan_ID} | | Select the interface to configure. |
Step 2 | Router(config-if)# [no] mls qos | Enable QoS on the interface. Use the no keyword to disable QoS on an interface. |
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show mls qos | Verify the configuration. |
This example shows how to disable QoS on interface VLAN 5:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface vlan 5 Router(config-if)# no mls qos Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show mls qos | begin QoS is disabled
QoS is disabled on the following interfaces:
Vl5
<...Output Truncated...>
Router#
By default, QoS uses policy maps attached to physical interfaces. For Layer 2 interfaces, you can configure QoS to use policy maps attached to a VLAN. To configure VLAN-based QoS on a Layer 2 interface, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] mls qos vlan-based | Configure VLAN-based QoS on a Layer 2 interface. Use the no keyword to disable VLAN-based QoS on an interface. |
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show mls qos | Verify the configuration. |
See the "Attaching Policy Maps" section.
This example shows how to configure VLAN-based QoS on Fast Ethernet interface 5/42:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface fastethernet 5/42 Router(config-if)#mls qos vlan-based Router(config-if)#exit Router(config)#exit
This example shows how to verify the configuration:
Router#show mls qos | begin QoS is vlan-based
QoS is vlan-based on the following interfaces:
Fa5/42
<...Output Truncated...>
![]() |
Note Configuring a Layer 2 interface for VLAN-based QoS preserves the policy map interface configuration. The no mls qos vlan-based interface command reenables any previously configured interface commands. |
This command configures the trust state of a Gigabit Ethernet interface (see the "Ethernet Ingress Interface Features" section). By default, all interfaces are untrusted. You can configure the interface trust state only on Gigabit Ethernet interfaces.
To configure the trust state of a Gigabit Ethernet interface, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] mls qos trust [dscp | ip-precedence | cos] | Configure the trust state of an interface.
|
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show mls qos | Verify the configuration. |
This example shows how to configure Gigabit Ethernet interface 1/1 with the trust cos keywords:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface gigabitethernet 1/1 Router(config-if)# mls qos trust cos Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface gigabitethernet 1/1 | include trust Trust state: trust COS Router#
QoS assigns the CoS value specified with this command to untagged frames from interfaces configured as trusted and to all frames from interfaces configured as untrusted.
To configure the CoS value for an interface, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] mls qos cos default_cos | Configure the CoS value for an interface. Use the no keyword to clear a configured value from an interface and return to the default. |
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show queuing interface | Verify the configuration. |
This example shows how to configure the CoS 5 as the default on Fast Ethernet interface 5/24:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface fastethernet 5/24 Router(config-if)# mls qos cos 5 Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface fastethernet 5/24 | include Default COS Default COS is 5 Router#
By default, microflow policers affect only routed traffic. To enable microflow policing of bridged traffic on specified VLANs, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface vlan vlan_ID | Select the interface to configure. |
Step 2 | Router(config-if)# [no] mls qos bridged | Enable microflow policing of bridged traffic, including bridge groups, on the VLAN. Use the no keyword to disable microflow policing of bridged traffic. |
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show mls qos | Verify the configuration. |
This example shows how to enable microflow policing of bridged traffic on VLANs 3 through 5:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface range vlan 3 - 5 Router(config-if)# mls qos bridged Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show mls qos | begin Bridged QoS
Bridged QoS is enabled on the following interfaces:
Vl3 Vl4 Vl5
<...output truncated...>
Router#
These section describe drop threshold configuration:
![]() |
Note Enter a show queueing interface {ethernet | fastethernet | gigabitethernet} slot/interface | include type command to see the queue structure of an interface. |
The receive and transmit queue drop thresholds have this relationship:
To configure drop threshold percentages for the standard receive and transmit queues on 1q4t/2q2t interfaces, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] wrr-queue threshold | Set the receive and transmit queue drop thresholds (see the "Transmit Queues" section).
|
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show queueing interface | Verify the configuration. |
This example shows how to configure receive queue 1/threshold 1 and transmit queue 1/threshold 1 for Gigabit Ethernet interface 2/1:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface gigabitethernet 2/1 Router(config-if)# wrr-queue threshold 1 60 100 Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface gigabitethernet 2/1
Transmit queues [type = 2q2t]:
<...Output Truncated...>
queue tail-drop-thresholds
--------------------------
1 60[1] 100[2]
2 40[1] 100[2]
<...Output Truncated...>
Receive queues [type = 1q4t]:
<...Output Truncated...>
queue tail-drop-thresholds
--------------------------
1 60[1] 100[2] 40[3] 100[4]
<...Output Truncated...>
Router#
![]() |
Note Receive queue drop thresholds are supported only on Gigabit Ethernet interfaces configured to trust CoS. |
![]() |
Note Enter a show queueing interface {ethernet | fastethernet | gigabitethernet} slot/interface | include type command to see the queue structure of an interface. |
These sections describe how to configure drop threhold percentages on 1p1q4t/1p2q2t interfaces:
![]() |
Note Configure 1q4t drop threshold percentages with the wrr-queue threshold command (see the "Configuring Drop Threshold Percentages on 1q4t/2q2t Interfaces" section). |
To configure drop threshold percentages for the standard receive queues on a 1p1q4t interface, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] rcv-queue threshold | Set the receive queue drop threshold percentages (see the "Receive Queues" section).
|
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show queueing interface | Verify the configuration. |
This example shows how to configure the receive queue drop thresholds for Gigabit Ethernet interface 1/1:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface gigabitethernet 1/1 Router(config-if)# rcv-queue threshold 1 60 75 85 100 Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface gigabitethernet 1/1 | begin Receive queues
Receive queues [type = 1p1q4t]:
Queue Id Scheduling Num of thresholds
-----------------------------------------
1 Standard 4
2 Priority 1
Trust state: trust COS
queue tail-drop-thresholds
--------------------------
1 60[1] 75[2] 85[3] 100[4]
<...Output Truncated...>
Router#
To configure the standard transmit queue weighted-random early detection (WRED) drop thresholds on a 1p2q2t interface, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] | Set the transmit queue WRED drop thresholds (see the "Transmit Queues" section).
|
See the "Transmit Queues" section. This example shows how to configure the low-priority transmit queue drop thresholds for Gigabit Ethernet interface 1/1:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface gigabitethernet 1/1 Router(config-if)# wrr-queue randomwrr-queue random-detect max-threshold 1 60 100 Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface gigabitethernet 1/1 | begin Transmit queues
Transmit queues [type = 1p2q2t]:
Queue Id Scheduling Num of thresholds
-----------------------------------------
1 WRR low 2
2 WRR high 2
3 Priority 1
queue random-detect-max-thresholds
----------------------------------
1 60[1] 100[2]
2 40[1] 100[2]
<...Output Truncated...>
Router#
The switch transmits frames from one standard queue at a time using a weighted-round robin (WRR) algorithm. WRR uses the ratio between queue weight values to decide how much to transmit from one queue before switching to the other. The more the ratio favors a queue, the more transmit bandwidth is allocated to it.
To allocate bandwidth for an interface, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] wrr-queue bandwidth low_priority_queue_weight high_priority_queue_weight | Allocate bandwidth between standard transmit queue 1 (low-priority) and standard transmit queue 2 (high-priority). The valid values for weight range from 1-255. Use the no keyword to clear configured values from an interface and return to the default. |
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show queueing interface | Verify the configuration. |
This example shows how to allocate a 3-to-1 bandwidth ratio for Gigabit Ethernet interface 1/2:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface gigabitethernet 1/2 Router(config-if)# wrr-queue bandwidth 3 1 Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface gigabitethernet 1/2 | include bandwidth WRR bandwidth ratios: 3[queue 1] 1[queue 2] Router#
To set the transmit queue size ratio on an interface, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] wrr-queue queue-limit | Set the transmit queue size ratio between transmit queues.
|
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show queueing interface | Verify the configuration. |
This example shows how to set the transmit queue size ratio for Gigabit Ethernet interface 1/2:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface gigabitethernet 1/2 Router(config-if)# wrr-queue queue-limit 75 15 Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface gigabitethernet 1/2 | include queue-limit
queue-limit ratios: 75[queue 1] 25[queue 2]
Router#
These sections describe drop threshold CoS mapping:
![]() |
Note Enter a show queueing interface {ethernet | fastethernet | gigabitethernet} slot/interface | include type command to see the queue structure of an interface. |
Use the wrr-queue cos-map command to map CoS values to:
On 1q4t/2q2t interfaces, the receive and transmit queue drop thresholds have this relationship:
To map CoS values drop thresholds, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] wrr-queue cos-map | Associate CoS values to a drop threshold.
|
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show queueing interface | Verify the configuration. |
This example shows how to map the CoS values 0 and 1 to standard transmit queue 1/threshold 1 for Fast Ethernet interface 5/36:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface fastethernet 5/36 Router(config-if)# wrr-queue cos-map 1 1 0 1 Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface fastethernet 5/36 | begin queue thresh cos-map
queue thresh cos-map
---------------------------------------
1 1 0 1
1 2 2 3
2 1 4 5
2 2 6 7
<...Output Truncated...>
Router#
![]() |
Note Enter a show queueing interface {ethernet | fastethernet | gigabitethernet} slot/interface | include type command to see the queue structure of an interface. |
These sections describe how to map CoS values:
![]() |
Note Use the wrr-queue cos-map command to map CoS values to the standard transmit queue drop thresholds on 1p2q2t interfaces. |
To map CoS values to the standard receive queue drop thresholds on 1p1q4t interfaces, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface gigabitethernet slot/interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] rcv-queue cos-map | Associate CoS values to the standard queues.
|
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show queueing interface | Verify the configuration. |
This example shows how to map the CoS values 0 and 1 to threshold 1 in the standard receive queue for Gigabit Ethernet interface 1/1:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface gigabitethernet 1/1 Router(config-if)# rcv-queue cos-map 1 1 0 1 Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface gigabitethernet 1/1
<...Output Truncated...>
queue thresh cos-map
---------------------------------------
1 1 0 1
1 2 2 3
1 3 4 5
1 4 6 7
<...Output Truncated...>
Router#
To map CoS values to the strict-priority queues on 1p1q4t/1p2q2t interfaces, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# interface | Select the interface to configure. |
Step 2 | Router(config-if)# [no] priority-queue cos-map | Associate CoS values to the strict-priority queues.
|
Step 3 | Router(config-if)# exit | Exit interface configuration mode. |
Step 4 | Router(config)# exit | Exit the configuration mode. |
Step 5 | Router# show queueing interface | Verify the configuration. |
This example shows how to map CoS value 7 to the strict priority queues on Gigabit Ethernet interface 1/1:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface gigabitethernet 1/1 Router(config-if)# priority-queue cos-map 1 7 Router(config-if)# exit Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show queueing interface gigabitethernet 1/1
<...Output Truncated...>
Transmit queues [type = 1p2q2t]:
<...Output Truncated...>
queue thresh cos-map
---------------------------------------
1 1 0 1
1 2 2 3
2 1 4
2 2 6
3 1 5 7
Receive queues [type = 1p1q4t]:
<...Output Truncated...>
queue thresh cos-map
---------------------------------------
1 1 0 1
1 2 2 3
1 3 4
1 4 6
2 1 5 7
<...Output Truncated...>
Router#
These sections describe how DSCP values are mapped to other values:
To configure the mapping of received CoS values to the DSCP value that QoS uses internally on the PFC (see the "Internal DSCP Values" section), perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# [no] mls qos map cos-dscp | Configure the CoS to DSCP map.
|
Step 2 | Router(config)# exit | Exit the configuration mode. |
Step 3 | Router# show mls qos | Verify the configuration. |
This example shows how to configure the CoS to DSCP map:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# mls qos map cos-dscp 0 1 2 3 4 5 6 7 Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show mls qos maps | begin Cos-dscp map
Cos-dscp map:
cos: 0 1 2 3 4 5 6 7
----------------------------------
dscp: 0 1 2 3 4 5 6 7
<...Output Truncated...>
Router#
To configure the mapping of received IP precedence values to the DSCP value that QoS uses internally on the PFC (see the "Internal DSCP Values" section), perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# [no] mls qos map ip-prec-dscp | Configure the IP precedence to DSCP map.
|
Step 2 | Router(config)# exit | Exit the configuration mode. |
Step 3 | Router# show mls qos | Verify the configuration. |
This example shows how to configure the IP precedence to DSCP map:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# mls qos map ip-prec-dscp 0 1 2 3 4 5 6 7 Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show mls qos maps | begin IpPrecedence-dscp map
IpPrecedence-dscp map:
ipprec: 0 1 2 3 4 5 6 7
----------------------------------
dscp: 0 1 2 3 4 5 6 7
<...Output Truncated...>
Router#
To configure the mapping of the DSCP value that QoS uses internally on the PFC to the CoS value used for egress interface scheduling and congestion avoidance, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# [no] mls qos map dscp-cos | Configure the DSCP to CoS map.
|
Step 2 | Router(config)# exit | Exit the configuration mode. |
Step 3 | Router# show mls qos | Verify the configuration. |
See the "Internal DSCP Values" section and the "Ethernet Egress Interface Features" section.
This example shows how to configure DSCP values 0, 8, 16, 24, 32, 40, 48, and 54 to be mapped to CoS value 0:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# mls qos map dscp-cos 0 8 16 24 32 40 48 54 to 0 Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show mls qos map | begin Dscp-cos map
Dscp-cos map: (dscp= d1d2)
d1 : d2 0 1 2 3 4 5 6 7 8 9
-------------------------------------
0 : 00 00 00 00 00 00 00 00 00 01
1 : 01 01 01 01 01 01 00 02 02 02
2 : 02 02 02 02 00 03 03 03 03 03
3 : 03 03 00 04 04 04 04 04 04 04
4 : 00 05 05 05 05 05 05 05 00 06
5 : 06 06 06 06 00 06 07 07 07 07
6 : 07 07 07 07
<...Output Truncated...>
Router#
![]() |
Note In the Dscp-cos display, the CoS values are shown in the body of the matrix, with the first digit of the DSCP value in the column labeled d1 and the second digit in the top row. In the example shown, DSCP values 41 through 47 all map to CoS 05. |
To configure the mapping of DSCP markdown values used by policers, perform this task:
| Command | Purpose | |
|---|---|---|
Step 1 | Router(config)# [no] mls qos map policed-dscp | Configure the DSCP markdown map.
|
Step 2 | Router(config)# exit | Exit the configuration mode. |
Step 3 | Router# show mls qos | Verify the configuration. |
See the "Policers" section. Configure marked-down DSCP values that map to CoS values consistent with the markdown penalty (see the "Configuring the DSCP to CoS Map" section).
This example shows how to map DSCP 1 to marked-down DSCP value 0:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# mls qos map policed-dscp 1 to 0 Router(config)# exit Router#
This example shows how to verify the configuration:
Router# show mls qos map | Policed-dscp map
Policed-dscp map: (dscp= d1d2)
d1 : d2 0 1 2 3 4 5 6 7 8 9
-------------------------------------
0 : 00 00 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
<...Output Truncated...>
Router#
![]() |
Note In the Policed-dscp display, the marked-down DSCP values are shown in the body of the matrix, with the first digit of the original DSCP value in the column labeled d1 and the second digit in the top row. In the example shown, DSCP 41 maps to DSCP 41. |
To display QoS information, use the show commands described in the "Command Reference" section.
This section contains the commands used to configure QoS:
Use the class-map command to access the QoS class-map configuration mode to configure QoS class maps. Use the no form of this command to delete a class map.
class-map class-map-name [match-all | match-any]
Syntax Description
class-map-name Class map name. match-all (Optional) Keyword to specify that all match criteria in the class-map must be matched. match-any (Optional) Keyword to specify that one of more match criteria must match.
Defaults
When neither the match-all or match-any option is specified, the default is match-all.
Command Modes
Global configuration mode.
The class-map commands and its subcommands are used to define packet classification, marking, aggregate, and flow policing as part of a globally named service policy applied on a per-interface basis.
Once you are in QoS class-map configuration mode, these configuration commands are available:
Note that these subcommands appear in the CLI help but are not supported on LAN interfaces:
After you have configured the class-map name and are in class-map configuration mode, you can enter the match subcommands. The syntax for these subcommands is shown here:
match {[access-group acl-index | acl-name] | [ip dscp | precedence value]}
See Table 2 for a syntax description of the match subcommands.
| Optional Subcommand | Description |
|---|---|
access-group acl-index | acl-name | Keyword and variable to specify the access-list index or access-list names; valid access-list index values are from 1 to 2699. |
access-group acl-name | Keyword and variable to specify the named access list. |
ip dscp value1 value2 ... value8 | Keywords and variables to specify IP DSCP values to match; valid values are from 0 to 63. Enter up to 8 DSCP values separated by white spaces. |
ip precedence value1 value2 ... value8 | Keywords and variables to specify IP precedence values to match; valid values are from 0 to 7. Enter up to 8 precedence values separated by white spaces. |
Examples
This example shows how to access the class-map commands and subcommands and configure class map named ipp5 and enter a match statement for ip precedence 5:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# class-map ipp5 Router(config-cmap)# match ip precedence 5 Router(config-cmap)#
This example shows how to configure the class map to match an already configured access-list:
Router(config-cmap)# match access-group IPacl1 Router(config-cmap)#
Related Commands
policy-map
service-policy input
show class-map
show policy-map
show policy-map interface
Use the debug qm command to debug QM activity. Use the no form of this command to disable debugging output.
debug qm {all | error | event | packet}
Syntax Description
all Keyword to debug all QM activity. error Keyword to enable debugging of QM errors. event Keyword to enable QM event debugging. packet Keyword to enable QM packet debugging.
Defaults
This command has no default setting.
Command Modes
Privileged EXEC mode.
Examples
This example shows how to debug QM packets:
Router# debug qm packet QM packet debug debugging is on Router#
Related Commands
undebug qm (same as no debug qm)
Use the debug qm-sp command to debug QoS manager activity. Use the no form of this command to disable debugging output.
debug qm-sp {all | event | packet}
Syntax Description
all Keyword to debug all QM-SP activity. event Keyword to enable QM-SP event debugging. packet Keyword to enable QM-SP packet debugging.
Defaults
This command has no default setting.
Command Modes
Privileged EXEC mode.
Usage Guidelines
This command is supported by the supervisor engine only and can be entered only from the switch console (see the remote login command).
Examples
This example show how to debug QM packets:
Switch-sp# debug qm-sp packet QoS Manager Packet debugging is on Switch-sp#
Related Commands
undebug qm-sp (same as no debug qm-sp)
remote login
Use the mac access-list extended command to access a subcommand to define extended MAC access lists. Use the no form of this command to remove MAC access lists.
mac access-list extended name
Syntax Description
name Name of the ACL to which the entry belongs. no (Optional) Keyword to delete a statement from an access list. permit Keyword to permit access if the conditions are matched. deny Keyword to deny access if the conditions are matched. src-mac-mask Source MAC address in the form source_mac_address source_mac_address_mask. any Keyword to specify any protocol type. dest-mac-mask (Optional) Destination MAC address. protocol (Optional) Name or number of protocol; see the Usage Guidelines section for valid values.
Defaults
There are no default ACL.
Command Modes
Global configuration.
When you enter the ACL name, follow these naming conventions:
Once you enter the mac access-list extended name command, you use the {[no] {permit | deny} {src-mac mask | any} {dest-mac-mask | any} [{protocol}]} subset to create or delete entries in a MAC-Layer access list.
Valid protocol names (and corresponding numbers) are Ethertalk (0x809B), AARP (0x8053), dec-mop-dump (0x6001), dec-mop-remote-console (0x6002), dec-phase-iv (0x6003), dec-lat (0x6004), dec-diagnostic-protocol (0x6005), dec-lavc-sca (0x6007), dec-amber (0x6008), dec-mumps (0x6009), dec-lanbridge (0x8038), dec-dsm (0x8039), dec-netbios (0x8040), dec-msdos (0x8041), banyan-vines-echo (0x0baf), xns-idp (0x0600), and xns-arp (0x0201). Also available are 0x8042, 0x0BAD, and 0x6000.
When you enter the src_mac_mask or dest_mac_mask,follow these guidelines:
Examples
This example shows how to create a MAC-Layer access list named mac_layer that denies traffic from 0000.4700.0001 that is going to 0000.4700.0009 and permits all other traffic:
Router(config)# mac access-list extended mac_layer Router(config-ext-macl)# deny 0000.4700.0001 0.0.0 0000.4700.0009 0.0.0 dec-phase-iv Router(config-ext-macl)# permit any any
Use the mls qos command to enable QoS functionality globally on the switch. Use the no form of this command to disable QoS functionality globally.
mls qosSyntax Description
This command has no arguments or keywords.
Defaults
QoS is globally disabled by default.
Command Modes
Global configuration mode.
Usage Guidelines
If QoS functionality is globally enabled, it is enabled on all interfaces, except for those where QoS has been disabled. If QoS functionality is globally disabled, all traffic is passed in QoS passthrough mode.
Examples
This example shows how to enable QoS funcationality globally on the switch:
Router(config)# mls qos Router(config)#
Related Commands
mls qos (interface configuration mode)
show mls qos
Use the mls qos command to enable QoS functionality on an interface. Use the no form of this command to disable QoS functionality on an interface.
mls qosSyntax Description
This command has no arguments or keywords.
Defaults
The default is enabled.
Command Modes
Interface configuration mode.
Usage Guidelines
If QoS functionality is globally disabled, it is also disabled on all interfaces.
Examples
This example shows how to enable QoS functionality on an interface:
Router(config-if)# mls qos Router(config-if)#
Related Commands
show mls qos
mls qos (global configuration mode)
Use the mls qos aggregate-policer command to define a named aggregate-policer for use in policy maps. This policer can be shared by different policy-map classes and on different interfaces. Use the no form of this command to delete a named aggregate policer.
mls qos aggregate-policer aggregate-name rate-bps [burst-bytes] [conform-action
Syntax Description
aggregate_name Name of the aggregate-policer. rate-bps Maximum bits per second; valid values are from 8000 to 2000000000. burst-bytes (Optional) Burst bytes; valid values are from 1000 to 512000000. conform-action (Optional) Keyword to specify the action to be taken when the rate is not exceeded. set-dscp-transmit (Optional) Keyword to set the DSCP value and send the packet. new-dscp (Optional) New DSCP value; valid values are from 0 to 63. set-prec-transmit (Optional) Keyword to rewrite packet precedence and send the packet. new-precedence (Optional) New precedence value; valid values are from 0 to 7. drop (Optional) Keyword to drop the packet. transmit (Optional) Keyword to transmit the package. exceed-action (Optional) Keyword to specify action when QoS values are exceeded. policed-dscp (Optional) Keyword to change the DSCP per the policed-DSCP map and send it.
Defaults
The default is no aggregate policer defined.
Command Modes
Global configuration mode.
Usage Guidelines
The Catalyst 6000 family switch supports up to 1023 aggregates and 1023 policing rules.
The mls qos aggregate-policer command allows you to configure an aggregate flow and a policing rule for that aggregate. When you enter rate and burst parameters, the range for the average rate is 8 Kbps to 2 Gbps (entered as 8000 and 2000000000) and the range for the burst size is 1 KB (entered as 1000) to 512 MB (entered as 512000000). Modifying an existing aggregate rate limit entry causes that entry to be modified in NVRAM and in the switch if that entry is currently being used.
![]() |
Note Due to hardware granularity, the rate value is limited and the burst you configure may not be what is used. |
Modifying an existing microflow or aggregate rate limit modifies that entry in NVRAM as well as in the switch if it is currently being used.
When you enter the aggregate-policer name, follow these naming conventions:
Examples
This example shows how to configure a QoS aggregate-policer to allow a maximum of 100000 bits per second with a normal burst byte size of 10000, to set DSCP to 48 when these rates are not exceeded, and to drop packets when these rates are exceeded:
Router(config)# mls qos aggregate-policer micro-one 100000 10000 conform-action set-dscp 48 exceed action drop Router(config)#
Related Commands
Use the mls qos bridged command to enable microflow policing for bridged traffic on a VLAN interface. Use the no form of this command to remove a prior entry.
mls qos bridgedSyntax Description
This command has no arguments or keywords.
Defaults
Microflow policing for bridged traffic on VLAN interfaces is disabled by default.
Command Modes
Interface configuration mode.
Usage Guidelines
This command can only be configured on VLAN interfaces.
Examples
This example shows how to enable microflow policing for bridged traffic on a VLAN interface:
Router(config-if)# mls qos bridged Router(config-if)#
Related Commands
Use the mls qos cos command to define the default CoS value for an interface. Use the no form of this command to remove a prior entry.
mls qos cos cos-value
Syntax Description
cos-value Default CoS value for the interface; valid values are from 0 to 7.
Defaults
The default CoS value is 0, and CoS override is not configured.
Command Modes
Interface configuration mode.
Usage Guidelines
CoS values are configurable on physical LAN ports only.
Examples
This example shows how to configure the default QoS CoS value as 6:
Router(config-if)# mls qos cos 6 Router(config-if)#
Related Commands
Use the mls qos flow-policing command to enable QoS microflow policing. Use the no form of this command to remove a prior entry.
mls qos flow-policingSyntax Description
This command has no arguments or keywords.
Defaults
QoS microflow policing is enabled by default.
Command Modes
Global configuration mode.
Examples
This example shows how to enable QoS microflow policing:
Router(config)# mls qos flow-policing Router(config)#
Related Commands
mls flow
show mls qos
Use the mls qos map cos-dscp command to define the ingress CoS to DSCP mapping for trusted interfaces. Use the no form of this command to remove a prior entry.
mls qos map cos-dscp dscp-values
Syntax Description
dscp-values Eight DSCP values, separated by spaces, corresponding to the CoS values; valid values are from 0 to 63.
Defaults
The default CoS-DSCP configuration is listed in Table 3.
| CoS | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| DSCP | 0 | 8 | 16 | 24 | 32 | 40 | 48 | 56 |
Command Modes
Global configuration mode.
Usage Guidelines
The CoS-to-DSCP map is used to map the CoS of packets arriving on trusted interfaces (or flows) to a DSCP where the trust type is trust-cos. This map is a table of eight CoS values (0 through 7) and their corresponding DSCP values. The switch has one map.
Examples
This example shows how to configure the ingress CoS-DSCP mapping for trusted interfaces:
Router(config)# mls qos map cos-dscp 20 30 1 43 63 12 13 8 Router(config)#
Related Commands
mls qos map dscp-cos
mls qos map ip-prec-dscp
mls qos map policed-dscp
show mls qos
Use the mls qos map dscp-cos command to define an egress DSCP-to-CoS mapping. Use the no form of this command to remove a prior entry.
mls qos map dscp-cos dscp-values to cos-values
Syntax Description
dscp-values DSCP values; valid values are from 0 to 63. to Keyword to define mapping. cos-values CoS values; valid values are from 0 to 63.
Defaults
The default DSCP-to-CoS mapping is listed in Table 4.
| DSCP | 0-7 | 8-15 | 16-23 | 24-31 | 32-39 | 40-47 | 48-55 | 56-63 |
| CoS | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Command Modes
Global configuration mode.
Usage Guidelines
The DSCP-to-CoS map is used to map the final DSCP classification to a final CoS. This final map determines the output queue and threshold to which the packet is assigned. The CoS map is written into the ISL header or 802.1Q tag of the transmitted packet on trunk interfaces and contains a table of 64 DSCP values and the corresponding CoS values. The switch has one map.
You can enter up to eight DSCP values separated by a space.
You can enter up to eight CoS values separated by a space.
Examples
This example shows how to configure the egress DSCP-to-CoS mapping for trusted interfaces:
Router(config)# mls qos map dscp-cos 20 25 to 3 Router(config)#
Related Commands
mls qos map cos-dscp
mls qos map ip-prec-dscp
mls qos map policed-dscp
show mls qos
Use the mls qos map ip-prec-dscp command to define an ingress IP precedence-to-DSCP mapping for trusted interfaces. Use the no form of this command to remove a prior entry.
mls qos map ip-prec-dscp dscp-values
Syntax Description
dscp-values DSCP values corresponding to IP-precedence values 0-7; valid values are from 0 to 63.
Defaults
The default IP Precedence-to-DSCP configuration is listed in Table 5.
IP-Precedence | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
DSCP | 0 | 8 | 16 | 24 | 32 | 40 | 48 | 56 |
Command Modes
Global configuration mode.
Usage Guidelines
Use this command to map the IP precedence of IP packets arriving on trusted interfaces (or flows) to a DSCP when the trust type is trust-ipprec.
You can enter up to eight DSCP values separated by a space.
This map is a table of eight precedence values (0 through 7) and their corresponding DSCP values. The switch has one map. The IP-precedence values are as follows:
Examples
This example shows how to configure the ingress IP precedence-to-DSCP mapping for trusted interfaces:
Router(config)# mls qos map ipprec-dscp-map 20 30 1 43 63 12 13 8 Router(config)#
Related Commands
mls qos map cos-dscp
mls qos map dscp-cos
mls qos map policed-dscp
show mls qos
Use the mls qos map policed-dscp command to set the mapping of policed DSCP values to marked down DSCP values. Use the no form of this command to remove a prior entry.
mls qos map policed-dscp dscp-list to policed-dscp
Syntax Description
dscp-list DSCP values; valid values are from 0 to 63. to Keyword to define mapping. policed-dscp Policed-DSCP values; valid values are from 0 to 63.
Defaults
By default, there is no mark down.
Command Modes
Global configuration mode.
Usage Guidelines
The DSCP-to-Policed DSCP map determines the marked down DSCP value applied to out-of-profile flows. The switch has one map.
You can enter up to eight DSCP values separated by a space.
You can enter up to eight policed-DSCP values separated by a space.
![]() |
Note To avoid out-of-sequence packets, configure the DSCP-to-Policed DSCP map so that marked-down packets remain in the same queue as in-profile traffic. |
Examples
This example shows how to map multiple DSCPs to a single policed-DSCP value:
Router(config)# mls qos map policed-dscp 20 25 43 to 4 Router(config)#
Related Commands
mls qos map cos-dscp
mls qos map dscp-cos
mls qos map ip-prec-dscp
show mls qos
Use the mls qos trust command to set the trusted state of an interface; for example, whether the packets arriving at an interface are trusted to carry the correct CoS, ToS, and DSCP classifications. Use the no form of this command to set an interface to the untrusted state.
mls qos trust [cos | dscp | ip-precedence]
Syntax Description
cos (Optional) Keyword to specify that the CoS bits in incoming frames are trusted and to derive the internal DSCP value from the CoS bits. dscp (Optional) Keyword to specify that the ToS bits in the incoming packets contain a DSCP value. ip-precedence (Optional) Keyword to specify that the ToS bits in the incoming packets contain an IP precedence value and to derive the internal DSCP value from the IP precedence bits.
Defaults
The default is dscp.
Command Modes
Interface configuration mode.
Usage Guidelines
You can only configure the trusted state on physical LAN interfaces.
Examples
This example shows how to set the trusted state of an interface to IP precedence:
Router(config-if)# mls qos trust ip-precedence Router(config-if)#
Related Commands
mls qos bridged
mls qos cos
mls qos vlan-based
show queueing interface
Use the mls qos vlan-based command to enable per-VLAN QoS for a Layer 2 interface. Use the no form of this command to disable per-VLAN QoS for a Layer 2 interface.
mls qos vlan-basedSyntax Description
This command has no arguments or keywords.
Defaults
The default for per-VLAN QoS is not enabled.
Command Modes
Interface configuration mode.
Usage Guidelines
In VLAN-based mode, the policy-map attached to the Layer 2 interface is ignored, and QoS is driven by the policy-map attached to the corresponding VLAN interface.
Per-VLAN QoS can be configured only on Layer 2 interface.
![]() |
Note Layer 3 interfaces are always in interface-based mode. Layer 3 VLAN interfaces are always in VLAN-based mode. |
Examples
This example shows how to enable per-VLAN QoS for a Layer 2 interface:
Router(config-if)# mls qos vlan-based Router(config-if)#
Related Commands
mls qos bridged
mls qos cos
show queueing interface
Use the policy-map command to access the QoS policy-map configuration mode to configure the QoS policy map. Use the no form of this command to delete a policy map.
policy-map policy-map-name
Syntax Description
policy-map-name Policy map name. See the Usage Guidelines section on for descriptions of the policy-map subcommands.
Defaults
This command has no default setting.
Command Modes
Global configuration mode.
Usage Guidelines
In QoS policy-map configuration mode, these configuration commands are available:
| Subcommand | Description |
|---|---|
exit | (Optional) Keyword to exit from QoS class action configuration mode. |
police | (Optional) Keyword to specify flow policing. |
[flow] | (Optional) Keyword to specify a microflow policer. |
bits-per-second | Bits per second; valid values are from 8000 to 2000000000 bps. |
normal-burst-bytes | Burst bytes; valid values are from 1000 to 512000000. |
maximum-burst-bytes | (Optional) Maximum burst bytes; valid values are from 1000 to 512000000 (if entered, must be set equal to normal-burst-bytes). |
conform-action action | (Optional) Keyword and variable to set the conform action; actions are drop, set-dscp-transmit, set-prec-transmit, and transmit. |
exceed-action action | (Optional) Keyword and variable to set the exceed action; actions are drop, policed-dscp-transmit, and transmit. |
drop | (Optional) Conform or exceed action to drop all matched traffic. |
transmit | (Optional) Conform or exceed action to set the DSCP as defined by the trust state of the traffic. |
set-dscp-transmit | (Optional) Conform action to mark matched traffic with a new DSCP value. |
set-prec-transmit | (Optional) Conform action to mark matched traffic with a new IP precedence value. |
policed-dscp-transmit | (Optional) Exceed-action to cause all out-of-profile traffic to be marked down as specified in the markdown map. |
trust | (Optional) Keyword to configure the policy-map class trust state. Trust states are cos, dscp, and ip-precedence. |
cos | (Optional) Keyword to set the internal DSCP value from a received or interface CoS. |
dscp | (Optional) Keyword to set QoS to use the received DSCP value. |
ip-precedence | (Optional) Keyword to set the DSCP value from the received IP-precedence. |
Examples
This example shows how to create a policy-map named max-pol-ipp5 that uses a previously configured class-map named ipp5, is configured to trust received IP precedence values, and is configured with a maximum-capacity aggregate policer and with a microflow policer:
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# policy-map max-pol-ipp5 Router(config-pmap)# class ipp5 Router(config-pmap-c)# trust ip-precedence Router(config-pmap-c)# police 2000000000 2000000 8000000 conform-action set-prec-transmit 6 exceed-action policed-dscp-transmit Router(config-pmap-c)# police flow 10000000 10000 conform-action set-prec-transmit 6 exceed-action policed-dscp-transmit Router(config-pmap-c)# end Router#
Related Commands
class-map
service-policy input
show class-map
show policy-map
show policy-map interface
Use the rcv-queue cos-map command to map CoS values to the standard receive queue drop thresholds. Use the no form of this command to remove the mapping.
rcv-queue cos-map queue-id threshold-id cos-1 ... cos-n
Syntax Description
queue-id Queue ID; valid value is 1. threshold-id Threshold ID; valid values are from 1 through 4. cos-1 ... cos-n CoS values; valid values are from 0 through 7.
Defaults
Command Modes
Interface configuration mode.
Usage Guidelines
The cos-n value is defined by the module and port type. When you enter the cos-n value, the higher the value, the higher the priority.
This command is effective on trusted ports only.
The queue-id is always 1.
Examples
This example shows how to map the CoS values 0 and 1 to threshold 1 in the standard receive queue:
Router(config-if)# rcv-queue cos-map 1 1 0 1
Use the rcv-queue threshold command to define the tail-drop threshold values for a specific queue as percentages of the maximum threshold. Use the no form of this command to return thresholds to the default values.
rcv-queue threshold queue-id threshold-percent-1 ... threshold-percent-n
Syntax Description
queue-id Queue ID; valid value is 1. threshold- percent-1 ... threshold- percent-n Threshold ID; valid value is from 1 to 100 percent. cos-1 ... cos-n CoS values; valid values are from 0 through 7, with the higher numbers representing a higher priority.
Defaults
If you enable QoS, the following defaults apply:
![]() |
Note The 100% threshold may be actually changed by the module to 98 percent to allow BPDU traffic to proceedthe BPDU threshold is factory-set at 100%. |
Command Modes
Interface configuration mode.
Usage Guidelines
The queue_id is always 1.
A value of 10 indicates a threshold when the buffer is 10 percent full.
Always set threshold 4 to 100 percent.
Receive thresholds take effect only on ports whose trust state is trust cos.
Configure the 1q4t drop threshold percentages with the wrr-queue threshold command.
Use the service-policy input command to enable attach a policy-map to an interface. Use the no form of this command to remove a policy-map from an interface.
service-policy input policy-map name
Syntax Description
policy-map name Name of a previously configured policy-map.
Defaults
The default is no policy-map is attached.
Command Modes
Interface configuration mode.
Usage Guidelines
The Catalyst 6000 family switches do not support the output service-policy keyword on Ethernet interfaces.
Examples
This example shows how to attach a policy-map to a FastEthernet interface:
Router(config)# interface fastEthernet 5/20 Router(config-if)# service-policy input pmap1 QoS: policy pmap1 actions for class cmap1 are not supported on FastEthernet5/20 Router(config-if)#
Related Commands
Use the show class-map command to display class map information.
show class-map
Syntax Description
class_name Name of the class map. | begin (Optional) Keyword to specify the output display begins with the line that matches the expression. | exclude (Optional) Keyword to specify the output display excludes lines that match the expression. | include (Optional) Keyword to specify the output display includes lines that match the specified expression. expression Expression in the output to use as a reference point.
Defaults
This command has no default setting.
Command Modes
User EXEC mode.
Usage Guidelines
When you specify an expression, remember that it is case sensitive. For example, if you enter | exclude output, the lines that contain "output" are not displayed, but the lines that contain "Output" are displayed.
Examples
This example shows how to display class map information for all class maps:
Router# show class-map Class Map match-any class-default (id 0) Match any Class Map match-any class-simple (id 2) Match any Class Map match-all ipp5 (id 1) Match ip precedence 5 Class Map match-all agg-2 (id 3) Router#
This example shows how to display class map information for a specific class map:
Router# show class-map ipp5 Class Map match-all ipp5 (id 1) Match ip precedence 5 Router#
Related Commands
class-map
show policy-map
show policy-map interface
Use the show mls qos command to display MLS QoS information.
show mls qos [{ip | ipx | last | mac | maps} [{Ethernet interface-number |
Syntax Description
ip | ipx (Optional) Keyword to specify MLS IP or IPX status information. mac (Optional) Keyword to specify MAC address-based QoS status information. maps (Optional) Keyword to display QoS mapping information. Ethernet interface-number Keyword and variable to specify the Ethernet 802.3 interface; valid values are from 1 to 9. FastEthernet interface-number Keyword and variable to specify the Fast Ethernet 802.3 interface; valid values are from 1 to 9. GigabitEthernet interface-number Keyword and variable to specify the Gigabit Ethernet 802.3z interface; valid values are from 1 to 9. Null interface-number Keyword and variable to specify the null interface; valid value is 0. Port-channel number Keyword and variable to specify the channel interface; valid values are from 0 to 256. Vlan vlan Keyword and variable to specify the VLAN; valid values are from 1 to 1000. | begin (Optional) Keyword to specify the output display begins with the line that matches the expression. | exclude (Optional) Keyword to specify the output display excludes lines that match the expression. | include (Optional) Keyword to specify the output display includes lines that match the specified expression. expression Expression in the output to use as a reference point.
Defaults
This command has no default setting.
Command Modes
EXEC mode.
Examples
This example shows the output if you do not enter any keywords:
Router# show mls qos
QoS is enabled globally
Microflow QoS is enabled globally
QoS global counters:
Total packets: 217500
IP shortcut packets: 344
Packets dropped by policing: 344
IP packets with TOS changed by policing 18323
IP packets with COS changed by policing 1602
Non-IP packets with COS changed by policing 0
Router#
This example shows how to display information about the last logged packet:
Router# show mls qos last
QoS engine last packet information:
Packet was transmitted
Output TOS/DSCP: 0xC0/48[unchanged] Output COS: 0[unchanged]
Aggregate policer index: 0(none)
Microflow policer index: 0(none)
Router#
This example shows how to display QoS map settings:
Router# show mls qos maps
Policed-dscp map:
0 1 2 3 4 5 6 7 8 9
----------------------------------
00: 00 01 02 03 04 05 06 07 08 09
10: 10 11 12 13 14 15 16 17 18 19
20: 20 21 22 23 24 25 26 27 28 29
30: 30 31 32 33 34 35 36 37 38 39
40: 40 41 42 43 44 45 46 47 48 49
50: 50 51 52 53 54 55 56 57 58 59
60: 60 61 62 63
Dscp-cos map:
0 1 2 3 4 5 6 7 8 9
----------------------------------
00: 00 00 00 00 00 00 00 00 01 01
10: 01 01 01 01 01 01 02 02 02 02
20: 02 02 02 02 03 03 03 03 03 03
30: 03 03 04 04 04 04 04 04 04 04
40: 05 05 05 05 05 05 05 05 06 06
50: 06 06 06 06 06 06 07 07 07 07
60: 07 07 07 07
Cos-dscp map:
cos: 0 1 2 3 4 5 6 7
----------------------------------
dscp: 0 8 16 24 32 40 48 56
IpPrecedence-dscp map:
ipprec: 0 1 2 3 4 5 6 7
----------------------------------
dscp: 0 8 16 24 32 40 48 56
Router#
Use the show mls qos command to display MLS QoS information.
show mls qos aggregate policer [aggregate_name]
Syntax Description
aggregate_name (Optional) Specifies a named aggregate policer.
Defaults
This command has no default setting.
Command Modes
EXEC mode.
Examples
This example shows the output if you do not enter any keywords:
Router# show mls qos aggregate-policer
ag1 (undefined)
AgId=0 [ pol1 pol2 ]
ag2 64000 64000 conform-action set-dscp-transmit 56 exceed-action drop
AgId=0 [ pol3 ]
ag3 32000 32000 conform-action set-dscp-transmit 34 exceed-action drop
Router#
In the output:
Use the show policy-map command to display policy map information.
show policy-map
Syntax Description
policy_map_name Name of the policy map. | begin (Optional) Keyword to specify the output display begins with the line that matches the expression. | exclude (Optional) Keyword to specify the output display excludes lines that match the expression. | include (Optional) Keyword to specify the output display includes lines that match the specified expression. expression Expression in the output to use as a reference point.
Defaults
This command has no default setting.
Command Modes
User EXEC mode.
Usage Guidelines
When you specify an expression, remember that it is case sensitive. For example, if you enter | exclude output, the lines that contain "output" are not displayed, but the lines that contain "Output" are displayed.
Examples
This example shows how to display policy map information for all policy maps:
Router# show policy-map
Policy Map simple
Policy Map max-pol-ipp5
class ipp5
class ipp5
police flow 10000000 10000 conform-action set-prec-transmit 6 exceed-action
policed-dscp-transmit trust precedence police 2000000000 2000000 2000000 co
nform-action set-prec-transmit 6exceed-action policed-dscp-transmit
Router#
This example shows how to display policy map information for a specific policy map:
Router# show policy-map max-pol-ipp5
Policy Map max-pol-ipp5
class ipp5
class ipp5
police flow 10000000 10000 conform-action set-prec-transmit 6 exceed-action
policed-dscp-transmit trust precedence police 2000000000 2000000 2000000 co
nform-action set-prec-transmit 6exceed-action policed-dscp-transmit
Router#
Related Commands
class-map
policy-map
show class-map
show policy-map interface
Use the show policy-map interface command to display statistics and configurations of input and output policies attached to an interface.
show policy-map interface [{Ethernet interface-number} | {FastEthernet interface-number}
Syntax Description
Ethernet interface-number Keyword and variable to specify the Ethernet 802.3 interface; valid values are from 1 to 9. FastEthernet interface-number Keyword and variable to specify the Fast Ethernet 802.3 interface; valid values are from 1 to 9. GigabitEthernet interface-number Keyword and variable to specify the Gigabit Ethernet 802.3z interface; valid values are from 1 to 9. Null interface-number Keyword and variable to specify the null interface; valid value is 0. Vlan vlan Keyword and variable to specify the VLAN; valid values are from 1 to 1000. input (Optional) Keyword to specify input policies only. output (Optional) Keyword to specify output policies only. | begin (Optional) Keyword to specify the output display begins with the line that matches the expression. | exclude (Optional) Keyword to specify the output display excludes lines that match the expression. | include (Optional) Keyword to specify the output display includes lines that match the specified expression. expression Expression in the output to use as a reference point.
Defaults
This command has no default setting.
Command Modes
User EXEC mode.
Usage Guidelines
The output keyword to specify output policies is not supported.
When you specify an expression, remember that it is case sensitive. For example, if you enter | exclude output, the lines that contain "output" are not displayed, but the lines that contain "Output" are displayed.
Examples
This example shows how to display statistics and configurations of all input and output policies attached to an interface:
Router# show policy-map interface
FastEthernet5/36
service-policy input: max-pol-ipp5
class-map: ipp5 (match-all)
0 packets, 0 bytes
5 minute rate 0 bps
match: ip precedence 5
class ipp5
police 2000000000 2000000 conform-action set-prec-transmit 6 exceed-action p
oliced-dscp-transmit
Router#
This example shows how to display input policy statistics and configurations for a specific interface:
Router# show policy-map interface fastethernet 5/36 input
FastEthernet5/36
service-policy input: max-pol-ipp5
class-map: ipp5 (match-all)
0 packets, 0 bytes
5 minute rate 0 bps
match: ip precedence 5
class ipp5
police 2000000000 2000000 conform-action set-prec-transmit 6 exceed-action p
oliced-dscp-transmit
Router#
Related Commands
class-map
policy-map
show class-map
show policy-map
Use the show queueing interface command to display queueing information.
show queueing interface {{Ethernet interface-number} |
Syntax Description
Ethernet interface-number Keyword and variable to specify the Ethernet 802.3 interface; valid values are from 1 to 9. FastEthernet interface-number Keyword and variable to specify the Fast Ethernet 802.3 interface; valid values are from 1 to 9. GigabitEthernet interface-number Keyword and variable to specify the Gigabit Ethernet 802.3z interface; valid values are from 1 to 9. Null interface-number Keyword and variable to specify the null interface; valid value is 0. Vlan vlan Keyword and variable to specify the VLAN; valid values are from 1 to 1000. | begin (Optional) Keyword to specify the output display begins with the line that matches the expression. | exclude (Optional) Keyword to specify the output display excludes lines that match the expression. | include (Optional) Keyword to specify the output display includes lines that match the specified expression. expression Expression in the output to use as a reference point.
Defaults
This command has no default setting.
Command Modes
EXEC mode.
Usage Guidelines
When you specify an expression, remember that it is case sensitive. For example, if you enter | exclude output, the lines that contain "output" are not displayed, but the lines that contain "Output" are displayed.
Examples
This example shows how to display queueing information:
Router# show queueing interface fastethernet 5/9
Interface FastEthernet5/9 queueing strategy: Weighted Round-Robin
Port QoS is enabled
Transmit queues [type = 2q2t]:
Queue Id Scheduling Num of thresholds
-----------------------------------------
1 WRR low 2
2 WRR high 2
queue tail-drop-thresholds
--------------------------
1 40[1] 100[2]
2 40[1] 100[2]
queue thresh cos-map
---------------------------------------
1 1 0 1
1 2 2 3
2 1 4 5
2 2 6 7
Receive queues [type = 1q4t]:
Queue Id Scheduling Num of thresholds
-----------------------------------------
1 Standard 4
Port is untrusted
queue tail-drop-thresholds
--------------------------
1 100[1] 100[2] 100[3] 100[4]
Packets dropped on Transmit:
BPDU packets: 0
queue thresh dropped [cos-map]
---------------------------------------------------
1 1 0 [0 1 ]
1 2 0 [2 3 ]
2 1 0 [4 5 ]
2 2 0 [6 7 ]
Packets dropped on Receive:
BPDU packets: 0
queue thresh dropped [cos-map]
---------------------------------------------------
1 1 0 [0 1 ]
1 2 0 [2 3 ]
1 3 0 [4 5 ]
1 4 0 [6 7 ]
Router#
Use the wrr-queue bandwidthcommand to allocate bandwidth between standard transmit queue 1 (low-priority) and standard transmit queue 2 (high-priority). Use the no form of this command to return to the default value.
wrr-queue bandwidth weight-1 weight-2
Syntax Description
weight-1 weight-2 WRR weights; valid values are from 1 to 255.
Defaults
The default with Qos enabled is 4:255, with QoS disabled, the default is 255:1.
Command Modes
Interface configuration mode.
Usage Guidelines
WRR allows bandwidth sharing at the egress port. This command defines the bandwidths for egress WRR via scheduling weights. There are 4 queues participating in the WRR unless the egress expedite queue is enabled. The expedite queue is a strict priority queue and it is serviced until it is empty before servicing one of WRR queues.
There is no order dependencies for the wrr-queue bandwidth command. If the egress priority is enabled, the weight ratio is calculated with the first three parameters. Otherwise, all four parameters are used.
Examples
This example shows how to allocate a 3-to-1 bandwidth ratio:
Router(config-if)# wrr-queue bandwidth 3 1
Related Commands
Use the wrr-queue cos-map command to map CoS values drop thresholds. Use the no form of this command to return to the default values.
wrr-queue cos-map queue-id threshold-id cos-1 ... cos-n
Syntax Description
queue-id Queue number; valid value is 1. threshold-id Threshold ID; valid values are from 1 to 4. cos-1 ... cos-n CoS value; valid values are from 0 to 7.
Defaults
The defaults are:
Command Modes
Interface configuration mode.
Usage Guidelines
Enter up to eight CoS values to map to the threshold.
Examples
This example shows how to map the CoS values 0 and 1 to standard transmit queue 1/threshold 1:
Router(config-if)# wrr-queue cos-map 1 1 0 1
Use the wrr-queue queue-limit command to set the transmit queue size ratio on an interface. Use the no form of this command to return to the default value.
wrr-queue queue-limit weight-1 ... weight-n
Syntax Description
weight-1 ... weight-n Ratio of buffer weights; valid values are from 1 and 100 percent.
Defaults
The default is 90 percent for low priority and 10 percent for high priority.
Command Modes
Interface configuration mode.
Usage Guidelines
Estimate the mix of low priority-to-high priority traffic on your network (for example, 80 percent low-priority traffic and 20 percent high-priority traffic).
On 1p2q2t interfaces, QoS sets the strict priority queue size equal to the high priority queue size.
Use the estimated percentages as queue weights.
Examples
This example shows how to configure transmit queue size ratio:
Router (config-if)# wrr-queue queue-limit 75 25
Related Commands
Use the wrr-queue random-detect max-threshold command to specify the maximum WRED threshold for the specified queues. Use the no form of this command to return to the default values.
wrr-queue random-detect max-threshold queue-id threshold-percent-1 ... threshold-percent-n
Syntax Description
queue-id Queue number; valid values are 1 and 2. threshold-percent-1 Maximum weights; valid values are from 1 to 100 percent.
threshold-percent-n
Defaults
The default is WRED is disabled. When WRED is enabled, both threshold values are 100 percent.
Command Modes
Interface configuration mode.
Usage Guidelines
The queue_id is 1 for the standard low-priority queue and 2 for the standard high-priority queue.
The WRED algorithm uses a minimum and a maximum threshold. You configure the maximum threshold with the wrr-queue random-detect max-threshold command. QoS configures the minimum threshold automatically.
The threshold in the strict priority queue is not configurable: it uses queue 2 threshold 2.
Always set threshold 2 to 100 percent.
Examples
This examples shows how to configure the WRED maximum threshold value. There are four queues used and the maximum WRED thresholds set to threshold 1 and threshold 2 for queue 1 are 50 percent and 100 percent, for queue 2 are 70 percent and 100 percent, for queue 3 are 80 percent and 100 percent and for queue 4 are 100 percent and 100 percent.
Router (config-if)# wrr-queue random-detect max-threshold 1 50 100 Router (config-if)# wrr-queue random-detect max-threshold 2 70 100 Router (config-if)# wrr-queue random-detect max-threshold 3 50 100 Router (config-if)# wrr-queue random-detect max-threshold 4 70 100
Related Commands
Use the wrr-queue threshold command to configure drop threshold percentages for the standard receive and transmit queues on 1q4t/2q2t interfaces. Use the no form of this command to return to the default value.
wrr-queue threshold queue-id threshold-percent-1 ... threshold-percent-n
Syntax Description
queue-id Queue number; valid values are 1 and 2. threshold-percent-1 Number of weights for queues 1 and 2; valid values are from 1 to 100 percent.
threshold-percent-n
Defaults
When QoS is enabled, the default values are 100% for threshold 1 and 60% for threshold 2.
Command Modes .
Interface configuration mode.
Use the transmit queue and threshold numbers.
The queue_id is 1 for the standard low-priority queue and 2 for the standard high-priority queue.
Always set threshold 2 to 100 percent.
Examples
This example shows how to configure receive queue 1/threshold 1 and transmit queue 1/threshold 1:
Router(config-if)# wrr-queue threshold 1 60 100
Related Commands
The following sections describe the documentation available for the Cisco IOS for the Catalyst 6000 Family of Switches product. These documents consist of hardware and software installation guides, Cisco IOS configuration and command references, system error messages, feature modules, and other documents. Documentation is available as printed manuals or electronic documents.
Use these release notes with these documents:
The following documents are specific to Release 12.1 and are located on CCO and the Documentation CD-ROM:
![]() |
Note If you have an account with CCO, you can use Bug Navigator II to find caveats of any severity for any release. To reach Bug Navigator II, go to CCO and press Login. Then go to Software Center: Cisco IOS Software: Cisco Bugtool Navigator II. Another option is to go to http://www.cisco.com/support/bugtools. |
The following documents are available for the Catalyst 6000 family switches running the Cisco IOS for the Catalyst 6000 Family of Switches product:
http://www.cisco.com/univercd/cc/td/doc/product/lan/cat6000/ios127xe/index.htm
You can access the most current Cisco documentation on the World Wide Web at http://www.cisco.com, http://www-china.cisco.com, or http://www-europe.cisco.com.
Cisco documentation and additional literature are available in a CD-ROM package, which ships with your product. The Documentation CD-ROM is updated monthly. Therefore, it is probably more current than printed documentation. The CD-ROM package is available as a single unit or as an annual subscription.
Registered CCO users can order the Documentation CD-ROM and other Cisco Product documentation through our online Subscription Services at http://www.cisco.com/cgi-bin/subcat/kaojump.cgi.
Nonregistered CCO users can order documentation through a local account representative by calling Cisco's corporate headquarters (California, USA) at 408 526-4000 or, in North America, call 800 553-NETS (6387).
Cisco provides Cisco Connection Online (CCO) as a starting point for all technical assistance. Warranty or maintenance contract customers can use the Technical Assistance Center. All customers can submit technical feedback on Cisco documentation using the web, e-mail, a self-addressed stamped response card included in many printed docs, or by sending mail to Cisco.
Cisco continues to revolutionize how business is done on the Internet. Cisco Connection Online is the foundation of a suite of interactive, networked services that provides immediate, open access to Cisco information and resources at anytime, from anywhere in the world. This highly integrated Internet application is a powerful, easy-to-use tool for doing business with Cisco.
CCO's broad range of features and services helps customers and partners to streamline business processes and improve productivity. Through CCO, you will find information about Cisco and our networking solutions, services, and programs. In addition, you can resolve technical issues with online support services, download and test software packages, and order Cisco learning materials and merchandise. Valuable online skill assessment, training, and certification programs are also available.
Customers and partners can self-register on CCO to obtain additional personalized information and services. Registered users may order products, check on the status of an order and view benefits specific to their relationships with Cisco.
You can access CCO in the following ways:
You can e-mail questions about using CCO to cco-team@cisco.com.
The Cisco Technical Assistance Center (TAC) is available to warranty or maintenance contract customers who need technical assistance with a Cisco product that is under warranty or covered by a maintenance contract.
To display the TAC web site that includes links to technical support information and software upgrades and for requesting TAC support, use www.cisco.com/techsupport.
To contact by e-mail, use one of the following:
Language | E-mail Address |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
In North America, TAC can be reached at 800 553-2447 or 408 526-7209. For other telephone numbers and TAC e-mail addresses worldwide, consult the following web site: http://www.cisco.com/warp/public/687/Directory/DirTAC.shtml.
If you are reading Cisco product documentation on the World Wide Web, you can submit technical comments electronically. Click Feedback in the toolbar and select Documentation. After you complete the form, click Submit to send it to Cisco.
You can e-mail your comments to bug-doc@cisco.com.
To submit your comments by mail, for your convenience many documents contain a response card behind the front cover. Otherwise, you can mail your comments to the following address:
Cisco Systems, Inc.
Document Resource Connection
170 West Tasman Drive
San Jose, CA 95134-9883
We appreciate and value your comments.

![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Wed Sep 6 17:17:03 PDT 2000
Copyright 1989-2000©Cisco Systems Inc.