cc/td/doc/product/lan/cat6000
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Configuring IOS Quality of Service on the Catalyst 6000 Family

Configuring IOS Quality of Service on the Catalyst 6000 Family

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:

Understanding How QoS Works


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:

Definitions

This section defines some QoS terminology.

Flowcharts

Figure 1 illustrates traffic flow through the switch components.


Figure 1: Traffic Flow Through QoS Features



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.


Figure 2: Ethernet Ingress Interface Layer 2 QoS Features



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).


Figure 3:
PFC Classification, Marking, and Policing



Figure 4:
Multilayer Switch Feature Card Marking



Figure 5:
Ethernet Egress Interface Scheduling, Congestion Avoidance, and Marking



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).

QoS Feature Summary

These sections summarize the QoS features:

Ethernet Ingress Interface Feature Summary

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.

PFC Feature Summary

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.

Ethernet Egress Interface Feature Summary

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.

Multilayer Switch Feature Card Feature Summary

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.

Ethernet Ingress Interface Features

These sections describe Ethernet ingress interface QoS features:

Ethernet Interface Trust States

The trust state of an Ethernet interface determines how it marks, schedules, and classifies received Layer 2 frames, and whether or not congestion avoidance is implemented. You can configure the trust state of each interface to be:

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.

Marking at Untrusted Interfaces

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.

Marking at Trusted 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).

Ethernet Ingress Interface Scheduling and Congestion Avoidance

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).

Receive Queues

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.

Scheduling

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.

Congestion Avoidance

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.


Figure 6: Receive Queue Drop Thresholds


PFC Classification, Marking, and Policing

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.

Internal 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.

Policy Maps

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:

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:

Policers


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.

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.

Attaching Policy Maps

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.

Final PFC CoS and ToS Values

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).

Ethernet Egress Interface Features

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.

Transmit Queues


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.

Scheduling

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.

Congestion Avoidance

These sections describe congestion avoidance on Ethernet egress interfaces:

Congestion Avoidance on 2q2t Interfaces

For 2q2t interfaces, each transmit queue has two drop thresholds that function as follows:

Congestion Avoidance on 1p2q2t Interfaces

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.

Marking

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).

QoS Default Configuration

Table 1 shows the QoS default configuration.


Table 1: QoS Default Configuration
Feature Default Value

QoS global enable state

Disabled

Note—With 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
(DSCP set from CoS values)

CoS 0 = DSCP 0
CoS 1 = DSCP 8
CoS 2 = DSCP 16
CoS 3 = DSCP 24
CoS 4 = DSCP 32
CoS 5 = DSCP 40
CoS 6 = DSCP 48
CoS 7 = DSCP 56

IP precedence to DSCP map
(DSCP set from IP precedence values)

IP precedence 0 = DSCP 0
IP precedence 1 = DSCP 8
IP precedence 2 = DSCP 16
IP precedence 3 = DSCP 24
IP precedence 4 = DSCP 32
IP precedence 5 = DSCP 40
IP precedence 6 = DSCP 48
IP precedence 7 = DSCP 56

DSCP to CoS map
(CoS set from DSCP values)

DSCP 0-7 = CoS 0
DSCP 8-15 = CoS 1
DSCP 16-23 = CoS 2
DSCP 24-31 = CoS 3
DSCP 32-39 = CoS 4
DSCP 40-47 = CoS 5
DSCP 48-55 = CoS 6
DSCP 56-63 = CoS 7

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

  • Threshold 1: 50%

  • Threshold 2: 60%

  • Threshold 3: 80%

  • Threshold 4: 100%

Transmit queue drop threshold percentages

  • Low-priority queue threshold 1: 40%

  • Low-priority queue threshold 2: 100%

  • High-priority queue threshold 1: 40%

  • High-priority queue threshold 2: 100%

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

  • Receive queue 1/drop threshold 1 and
    transmit queue 1/drop threshold 1: CoS 0 and 1

  • Receive queue 1/drop threshold 2 and
    transmit queue 1/drop threshold 2: CoS 2 and 3

  • Receive queue 2/drop threshold 3 and
    transmit queue 2/drop threshold 1: CoS 4 and 52

  • Receive queue 2/drop threshold 4 and
    transmit queue 2/drop threshold 2: CoS 6 and 7

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

  • Low priority: 100%

  • High priority: Not used

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.

Configuring QoS

These sections describe how to configure QoS on the Catalyst 6000 family switches:

Enabling QoS Globally

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#

Creating Named Aggregate Policers

To create a named aggregate policer, perform this task:

Command Purpose

Step 1 

Router(config)# [no] mls qos aggregate-policer
policer_name rate_bits burst_bytes
[conform-action
{drop |
set-dscp-transmit dscp_value |
set-prec-transmit ip_precedence_value |
transmit}
[exceed-action
{drop | policed-dscp-transmit | transmit}]]

Create a named aggregate policer (see the "Policers" section).

  • The valid values for the rate_bits parameter are 8 Kbps (entered as 8000) to 2 Gbps (entered as 2000000000).

  • The valid values for the burst_bytes parameter are 1 KB (entered as 1000) to 512 MB (entered as 512000000).

  • Optionally, specify a conform-action behavior for matched in-profile traffic:

    • The default conform action is transmit, which sets the policy map class trust state to trust DSCP unless the policy map class contains a trust command (see the "Policy Maps" section and the "Configuring Policy-Map Class Actions" section).

    • To set QoS labels in untrusted traffic, enter the set-dscp-transmit keyword to mark matched untrusted traffic with a new DSCP value or enter the set-prec-transmit keyword to mark matched untrusted traffic with a new IP precedence value.

    • Enter the drop keyword to drop all matched traffic.

  • Optionally, specify an exceed-action behavior:

    • The default exceed action is drop.

    • Enter the policed-dscp-transmit keyword to cause all matched out-of-profile traffic to be marked down as specified in the markdown map (see the "Configuring DSCP Markdown Values" section).

    • For no policing, enter the transmit keyword to transmit all matched out-of-profile traffic.

  • Use the no mls qos aggregate-policer policer_name command to delete a named aggregate policer.

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:

Configuring a QoS Policy

Configuring a QoS policy typically requires the configuration of traffic classes, the configuration of policies that will be applied to those traffic classes, and the attachment of policies to interfaces using the following commands:

See the following sections for configuration tasks:

Configuring MAC-Layer Named Access Lists (Optional)

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}
{src-mac-mask | any}
{dest-mac-mask | any}
[
aarp |
amber |
appletalk |
diagnostic |
decnet-iv |
dec-spanning |
dsm |
etype-6000 |
etype-8042 |
lat |
lavc-sca |
mop-console |
mop-dump |
msdos |
mumps |
netbios |
vines-ip |
vines-echo |
xns
]

Specify an entry in the access list.

  • Enter MAC addresses as 3 four-byte values in dotted hexadecimal format. For example, 0030.9629.9f84.

  • Enter MAC address masks as 3 four-byte values in dotted hexadecimal format. Use 1 bits as wildcards. For example, to match an address exactly, use 0000.0000.0000 (can be entered as 0.0.0).

  • Entries without a protocol parameter match any protocol.

  • Access lists entries are scanned in the order you enter them. The first matching entry is used. To improve performance, place the most commonly used entries near the beginning of the access list.

  • An implicit deny any any entry exists at the end of an access list unless you include an explicit permit any any entry at the end of the list.

  • All new entries to an existing list are placed at the end of the list. You cannot add entries to the middle of a list.

  • Use the no keyword to delete a statement from an 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 

Configuring a Class Map (Optional)


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).

Use the class-map configuration command to define a traffic class and the match criteria that will be used to identify traffic as belonging to that class. Match statements can include criteria such as an ACL, an IP precedence value, or a DSCP value. The match criteria are defined with one match statement entered within the class-map configuration mode.

Creating a Class Map

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.

Configuring Filtering in a Class Map

To configure filtering in a class map, perform one of these tasks:

Command Purpose

Router(config-cmap)# [no] match access-group
acl_index_or_name

(Optional) Specify the name of the ACL used to filter traffic. Use the no keyword to remove the statement from a class map.

Note—Except 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
ipp_value1 [ipp_value2 [ipp_valueN]]

(Optional—for 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
dscp_value1 [dscp_value2 [dscp_valueN]]

(Optional—for 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).

Verifying Class-Map Configuration

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#

Configuring a Policy Map

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:

Creating a Policy Map

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.

Configuring Filtering in a 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
{access-group acl_index_or_name |
dscp dscp_1 [dscp_2 [dscp_N]] |
precedence ipp_1 [ipp_2 [ipp_N]]}

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.

Note—This command creates a class map that can be used in other policy maps.

Configuring Policy-Map Class Actions

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
{cos | dscp | ip-precedence}

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]
rate_bits burst_bytes [max_burst_bytes]
[conform-action
{drop |
set-dscp-transmit dscp_value |
set-prec-transmit ip_precedence_value |
transmit}
[exceed-action
{drop | policed-dscp-transmit | transmit}]]

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).

  • The valid values for the rate_bits parameter are 8 Kbps (entered as 8000) to 2 Gbps (entered as 2000000000).

  • The valid values for the burst_bytes parameter are 1 KB (entered as 1000) to 512 MB (entered as 512000000).

  • Optionally for aggregate policers, enter a max_burst_bytes parameter that matches the burst_bytes parameter. If not entered, QoS sets max_burst_bytes to match the burst_bytes parameter.

  • Optionally, specify a conform-action behavior for matched in-profile traffic:

    • The default conform action is transmit, which sets the policy map class trust state to trust DSCP unless the policy map class contains a trust command.

    • For untrusted traffic, enter the set-dscp-transmit keyword to mark matched traffic with a new DSCP value or enter the set-prec-transmit keyword to mark matched traffic with a new IP precedence value.

    • Enter the drop keyword to drop all matched traffic.

  Note—Ensure that aggregate and microflow policers that are applied to the same traffic each specify the same conform-action behavior.

  • Optionally, specify an exceed-action behavior:

    • The default exceed action is drop.

    • Enter the policed-dscp-transmit keyword to cause all out-of-profile traffic to be marked down as specified in the markdown map (see the "Configuring DSCP Markdown Values" section).

    • Enter the transmit keyword to transmit all out-of-profile traffic.

  • Use the no keyword to delete a policer from the policy map.

Command Purpose

Router(config-pmap-c)# [no] police aggregate
aggregate_name

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 

Verifying Policy Map Configuration

To verify policy map configuration, perform this task:

Command Purpose

Step 1 

Router(config-pmap-c)# exit 

Exit policy-map class configuration mode.

Note—Enter 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#

Attaching a Policy Map to an Interface

To attach a policy map to an interface, perform this task:

Command Purpose

Step 1 

Router(config)# interface {vlan vlan_ID |
{ethernet | fastethernet | gigabitethernet} slot/interface}

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 |
{ethernet | fastethernet | gigabitethernet} slot/interface}

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#

Enabling or Disabling Microflow Policing

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#

Enabling or Disabling PFC Features on an Interface

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} |
{{ethernet | fastethernet | gigabitethernet} slot/interface}

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#

Configuring VLAN-Based QoS on Layer 2 Interfaces

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
{ethernet | fastethernet | gigabitethernet} slot/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.

Configuring the Trust State of a Gigabit Ethernet Interface

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
{ethernet | fastethernet | gigabitethernet} slot/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.

  • With no other keywords, the mls qos trust command is equivalent to mls qos trust dscp.

  • The mls qos trust cos command enables receive queue drop thresholds. To avoid dropping traffic because of inconsistent CoS values, configure interfaces with the mls qos trust cos command only when the received traffic is ISL or 802.1Q frames carrying CoS values that you know to be consistent with network policy.

  • Use the no mls qos trust command to set the interface state to untrusted.

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# 

Configuring the CoS Value for an Interface

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
{ethernet | fastethernet | gigabitethernet} slot/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
{ethernet | fastethernet | gigabitethernet} slot/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# 

Enabling Microflow Policing of Bridged Traffic

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#

Configuring Drop Threshold Percentages

These section describe drop threshold configuration:

Configuring Drop Threshold Percentages on 1q4t/2q2t Interfaces


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
{ethernet | fastethernet | gigabitethernet} slot/interface

Select the interface to configure.

Step 2 

Router(config-if)# [no] wrr-queue threshold
queue_id thr1% thr2%

Set the receive and transmit queue drop thresholds (see the "Transmit Queues" section).

  • 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.

  • The percentages range from 1 to 100. A value of 10 indicates a threshold when the buffer is 10 percent full.

  • Always set threshold 2 to 100 percent.

  • 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
{ethernet | fastethernet | gigabitethernet} slot/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.

Configuring Drop Threshold Percentages on 1p1q4t/1p2q2t Interfaces


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:

Configuring Receive Queue Tail-Drop Threshold Percentages

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
{ethernet | fastethernet | gigabitethernet} slot/interface

Select the interface to configure.

Step 2 

Router(config-if)# [no] rcv-queue threshold
queue_id thr1% thr2% thr3% thr4%

Set the receive queue drop threshold percentages (see the "Receive Queues" section).

  • The queue_id is always 1.

  • The percentages range from 1 to 100. A value of 10 indicates a threshold when the buffer is 10 percent full.

  • Always set threshold 4 to 100 percent.

  • 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
{ethernet | fastethernet | gigabitethernet} slot/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# 
Configuring Transmit Queue WRED Drop Thresholds

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
{ethernet | fastethernet | gigabitethernet} slot/interface

Select the interface to configure.

Step 2 

Router(config-if)# [no]
wrr-queue random-detect max-threshold
queue_id thr1% thr2%

Set the transmit queue WRED drop thresholds (see the "Transmit Queues" section).

  • The queue_id is 1 for the standard low-priority queue and 2 for the standard high-priority queue.

  • The percentages range from 1 to 100. A value of 10 indicates a threshold when the buffer is 10 percent full.

  • 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.

  • Use the no keyword to clear configured values from an interface and return to the default.

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# 

Allocating Bandwidth Between Transmit Queues

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
{ethernet | fastethernet | gigabitethernet} slot/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
S{ethernet | fastethernet | gigabitethernet} slot/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# 

Setting the Transmit Queue Size Ratio

To set the transmit queue size ratio on an interface, perform this task:

Command Purpose

Step 1 

Router(config)# interface
{ethernet | fastethernet | gigabitethernet} slot/interface

Select the interface to configure.

Step 2 

Router(config-if)# [no] wrr-queue queue-limit
low_priority_queue_weight high_priority_queue_weight

Set the transmit queue size ratio between transmit queues.

  • 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.

  • 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
{ethernet | fastethernet | gigabitethernet} slot/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# 

Mapping CoS Values to Drop Thresholds

These sections describe drop threshold CoS mapping:

Mapping CoS Values on 1q4t/2q2t Interfaces


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
{ethernet | fastethernet | gigabitethernet} slot/interface

Select the interface to configure.

Step 2 

Router(config-if)# [no] wrr-queue cos-map
transmit_queue_# threshold_#
cos1
[cos2 [cos3 [cos4 [cos5 [cos6 [cos7 [cos8]]]]]]]

Associate CoS values to a drop threshold.

  • Use the transmit queue and threshold numbers.

  • Queue 1 is the low-priority standard transmit queue.

  • Queue 2 is the high-priority standard transmit queue.

  • There are two thresholds in each queue.

  • Enter up to 8 CoS values to map to the threshold.

  • 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
{ethernet | fastethernet | gigabitethernet} slot/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# 

Mapping CoS Values on 1p1q4t/1p2q2t Interfaces


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.

Mapping CoS Values to Standard Receive Queue Drop Thresholds

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
queue_# threshold_#
cos1
[cos2 [cos3 [cos4 [cos5 [cos6 [cos7 [cos8]]]]]]]

Associate CoS values to the standard queues.

  • The queue number is always 1.

  • map CoS values to the standard receive queue drop thresholds.

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
gigabitethernet
slot/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# 
Mapping CoS Values to Strict-Priority Queues

To map CoS values to the strict-priority queues on 1p1q4t/1p2q2t interfaces, perform this task:

Command Purpose

Step 1 

Router(config)# interface
{ethernet | fastethernet | gigabitethernet} slot/interface

Select the interface to configure.

Step 2 

Router(config-if)# [no] priority-queue cos-map
queue_#
cos1
[cos2 [cos3 [cos4 [cos5 [cos6 [cos7 [cos8]]]]]]]

Associate CoS values to the strict-priority queues.

  • The queue number is always 1.

  • Enter up to 8 CoS values to map to the queue.

  • 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
{ethernet | fastethernet | gigabitethernet}
slot/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# 

Configuring DSCP Value Maps

These sections describe how DSCP values are mapped to other values:

Configuring the CoS to DSCP Map

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
dscp1 dscp2 dscp3 dscp4 dscp5 dscp6 dscp7 dscp8

Configure the CoS to DSCP map.

  • Enter 8 DSCP values to which QoS maps CoS values 0 through 7.

  • Use the no keyword to clear configured values and return to defaults.

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#

Configuring the IP Precedence to DSCP Map

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
dscp1 dscp2 dscp3 dscp4 dscp5 dscp6 dscp7 dscp8

Configure the IP precedence to DSCP map.

  • Enter 8 DSCP values to which QoS maps IP precedence values 0 through 7.

  • Use the no keyword to clear configured values and return to defaults.

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#

Configuring the DSCP to CoS Map

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
dscp1 [dscp2 [dscp3 [dscp4 [dscp5 [dscp6 [dscp7 [dscp8]]]]]]]
to cos_value

Configure the DSCP to CoS map.

  • Enter up to 8 DSCP values that QoS maps to a CoS value.

  • Enter a separate command for each CoS value.

  • Use the no keyword to clear configured values and return to defaults.

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.

Configuring DSCP Markdown Values

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
dscp1 [dscp2 [dscp3 [dscp4 [dscp5 [dscp6 [dscp7 [dscp8]]]]]]]
to markdown_dscp

Configure the DSCP markdown map.

  • Enter up to 8 DSCP values that map to a marked-down DSCP value.

  • Enter a separate command for each marked-down DSCP value.

  • Use the no keyword to clear configured values and return to defaults.

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.

Displaying QoS Information

To display QoS information, use the show commands described in the "Command Reference" section.

Command Reference

This section contains the commands used to configure QoS:

class-map

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]
no 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.

Usage Guidelines

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.


Table 2: match Syntax Description
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

debug qm

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}
no 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)

debug qm-sp

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}
no 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

mac access-list extended

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
no mac access-list extended name
{[no] {permit | deny} {src-mac-mask | any} {dest-mac-maskany} [{protocol}]}

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.

Usage Guidelines

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-maskany} [{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 
 

mls qos (global configuration mode)

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 qos
no mls qos


Syntax 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

mls qos (interface configuration mode)

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 qos
no mls qos


Syntax 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)

mls qos aggregate-policer

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
{set-dscp-transmit [new-dscp] | set-prec-transmit [new-precedence] | drop | transmit}]
[exceed-action {drop | policed-dscp | transmit}]
no mls qos aggregate-policer aggregate-name

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

show mls qos

mls qos bridged

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 bridged
no mls qos bridged


Syntax 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

show mls qos

mls qos cos

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
no 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

show mls qos

mls qos flow-policing

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-policing
no mls qos flow-policing


Syntax 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

mls qos map cos-dscp

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
no mls qos map cos-dscp

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.


Table 3: CoS-to DSCP Default Mapping Table
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

mls qos map dscp-cos

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
no mls qos map dscp-cos

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.


Table 4: DSCP-to-CoS Default Mapping Table
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

mls qos map ip-prec-dscp

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
no mls qos map ip-prec-dscp

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.


Table 5: IP Precedence-to-DSCP Default Mapping

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

mls qos map policed-dscp

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
no mls qos map 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

mls qos trust

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]
no mls qos trust

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

mls qos vlan-based

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-based
no mls qos vlan-based


Syntax 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

policy-map

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
no 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:

  See Table 6 for syntax descriptions:


Table 6: class Syntax Description
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

rcv-queue cos-map

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
no 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 

rcv-queue threshold

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
no rcv-queue threshold

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 proceed—the 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.

service-policy input

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
no 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

class-map
policy-map

show class-map

Use the show class-map command to display class map information.

show class-map
show class-map
class_name

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

show mls qos

Use the show mls qos command to display MLS QoS information.

show mls qos [{ip | ipx | last | mac | maps} [{Ethernet interface-number |
FastEthernet interface-number} | {GigabitEthernet interface-number} |
{Null interface-number} | {Port-channel number} | {Vlan vlan}] [ | {begin | exclude |
include} expression]

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# 

show mls qos aggregate policer

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:

show policy-map

Use the show policy-map command to display policy map information.

show policy-map
show policy-map
policy_map_name

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

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}
| {GigabitEthernet interface-number} | {Null interface-number} | {Vlan vlan}]
[input | output]

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

show queueing interface

Use the show queueing interface command to display queueing information.

show queueing interface {{Ethernet interface-number} |
{FastEthernet interface-number} | {GigabitEthernet interface-number} |
{Null interface-number} | Vlan vlan} [ | {begin | exclude | include} expression]

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# 

wrr-queue bandwidth

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
no wrr-queue bandwidth

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

wrr-queue queue-limit

wrr-queue cos-map

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
no wrr-queue cos-map

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 

wrr-queue queue-limit

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
no wrr-queue queue-limit

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

wrr-queue bandwidth

wrr-queue random-detect max-thresshold

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
no wrr-queue random-detect max-threshold

Syntax Description

queue-id

Queue number; valid values are 1 and 2.

threshold-percent-1
threshold-percent-n

Maximum weights; valid values are from 1 to 100 percent.

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

wrr-queue queue-limit

wrr-queue threshold

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
no wrr-queue threshold

Syntax Description

queue-id

Queue number; valid values are 1 and 2.

threshold-percent-1
threshold-percent-n

Number of weights for queues 1 and 2; valid values are from 1 to 100 percent.

Defaults

When QoS is enabled, the default values are 100% for threshold 1 and 60% for threshold 2.

Command Modes .

Interface configuration mode.

Usage Guidelines

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

wrr-queue queue-limit

Related Documentation

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:

Release-Specific Documents

The following documents are specific to Release 12.1 and are located on CCO  and the Documentation CD-ROM:

  On CCO  at:
Technical Documents: Documentation Home Page: Cisco IOS Software Configuration: Cisco IOS Release 12.1
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121relnt/xprn121/index.htm
  On the Documentation CD-ROM at:
Cisco Product Documentation: Cisco IOS Software Configuration: Cisco IOS Release 12.1: Release Notes: Cross-Platform Release Notes
  Refer to the Caveats for Cisco IOS Release 12.1 document.
  On CCO  at:
Technical Documents: Documentation Home Page: Cisco IOS Software Configuration: Cisco IOS Release 12.1: Caveats
  On the Documentation CD-ROM at:
Cisco Product Documentation: Cisco IOS Software Configuration: Cisco IOS Release 12.1: Caveats
  On CCO  at:
Technical Documents: Documentation Home Page: Multilayer LAN Switches: Catalyst 6000 Family Switches: Catalyst 6000 Family SW Documentation for IOS Release 12.1 E : Release Notes for Catalyst 6000 Family for Cisco IOS Release 12.1(1)E
  On the Documentation CD-ROM at:
Cisco Product Documentation: Multilayer LAN Switches: Catalyst 6000 Family Switches: Catalyst 6000 Family SW Documentation for IOS Release 12.1 E : Release Notes for Catalyst 6000 Family for Cisco IOS Release 12.1(1)E

Platform-Specific Documents

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

Obtaining Documentation

World Wide Web

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.

Documentation CD-ROM

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.

Ordering Documentation

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).

Obtaining Technical Assistance

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 Connection Online

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.

Technical Assistance Center

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

English

tac@cisco.com

Hanzi (Chinese)

chinese-tac@cisco.com

Kanji (Japanese)

japan-tac@cisco.com

Hangul (Korean)

korea-tac@cisco.com

Spanish

tac@cisco.com

Thai

thai-tac@cisco.com

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.

Documentation Feedback

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.





hometocprevnextglossaryfeedbacksearchhelp
Posted: Wed Sep 6 17:17:03 PDT 2000
Copyright 1989-2000©Cisco Systems Inc.