Table Of Contents
Prerequisites for Multi-Level Priority Queues
Restrictions for Multi-Level Priority Queues
Information About Multi-Level Priority Queues
Benefits of Multi-Level Priority Queues
Multi-Level Priority Queues Functionality
How to Configure Multi-Level Priority Queues
Configuring Multi-Level Priority Queues in a Policy Map
Verifying Multi-Level Priority Queues
Configuration Examples for Multi-Level Priority Queues
Configuring Multi-Level Priority Queues: Example
Unacceptable MPQ Configurations: Examples
Verifying Multi-Level Priority Queues: Example
Feature Information for Multi-Level Priority Queues
Multi-Level Priority Queues
First Published: December 4, 2006Last Updated: June 30, 2008The Multi-Level Priority Queues (MPQ) feature allows you to configure multiple priority queues for multiple traffic classes by specifying a different priority level for each of the traffic classes in a single service policy map. You can configure multiple service policy maps per router. Having multiple priority queues enables the router to place delay-sensitive traffic (for example, voice) on the outbound link before delay-insensitive traffic. As a result, high-priority traffic receives the lowest latency possible on the router.
Finding Feature Information in This Module
Your Cisco IOS software release may not support all of the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To reach links to specific feature documentation in this module and to see a list of the releases in which each feature is supported, use the "Feature Information for Multi-Level Priority Queues" section.
Finding Support Information for Platforms and Cisco IOS and Catalyst OS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS and Catalyst OS software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Contents
•Prerequisites for Multi-Level Priority Queues
•Restrictions for Multi-Level Priority Queues
•Information About Multi-Level Priority Queues
•How to Configure Multi-Level Priority Queues
•Configuration Examples for Multi-Level Priority Queues
•Feature Information for Multi-Level Priority Queues
Prerequisites for Multi-Level Priority Queues
You must configure traffic classes using the class-map command.
Restrictions for Multi-Level Priority Queues
•You cannot configure both the priority command and the priority level command for two different classes in the same policy map.
•You cannot specify the same priority level for two different classes in the same policy map.
•You cannot configure the default queue as a priority queue at any level. For example, the router rejects the following configuration:
policy-map P1class class-defaultpriority level 1•You cannot configure the bandwidth command and multi-level priority queueing on the same class. For example, the router rejects the following configuration:
policy-map P1class C1priority level 1bandwidth 200•You cannot configure the shape command and multi-level priority queueing on the same class. For example, the router rejects the following configuration:
policy-map P1class C1priority level 1shape average 56000•To convert a one-level (flat) service policy with multiple priority queueing configured to a hierarchical multi-level priority queueing service policy, you must first detach the flat service policy from the interface using the no service-policy command and then add a child policy map to it.
Information About Multi-Level Priority Queues
To configure multi-level priority queues, you need to understand the following concepts:
•Benefits of Multi-Level Priority Queues
•Multi-Level Priority Queues Functionality
Benefits of Multi-Level Priority Queues
The Multi-Level Priority Queues (MPQ) feature allows you to configure multiple priority queues for multiple traffic classes by specifying a different priority level for each of the traffic classes in a single service policy map. You can configure multiple service policy maps per router.
Previously, routers based on Cisco IOS software could have only one strict priority queue per policy map for all delay-sensitive traffic—the router associated all priority traffic with this one single priority queue. However, having only one priority queue can cause significant delay in delivering traffic, especially if the router sends high-priority traffic (for example, voice) behind low-priority traffic (for example, video). Using class-based weighted fair queueing (CBWFQ) to reduce delay by heavily weighting one queue can affect the granularity of bandwidth allocations to the other queues. The MPQ feature addresses these issues and improves latency.
Multi-Level Priority Queues Functionality
The priority command is used to specify that a class of traffic has latency requirements with respect to other classes. For multiple priority queues, you can use the priority level command to configure a level of priority service on a class in a policy map. Currently, the router supports two priority levels: level 1 (high) and level 2 (low). The router places traffic with a high-priority level on the outbound link ahead of traffic with a low-priority level. High-priority packets, therefore, are not delayed behind low-priority packets.
The router associates a single priority queue with all of the traffic enabled with the same priority level and services the high-level priority queues until empty before servicing the next-level priority queues and non-priority queues. While the router services a queue, the service rate is as fast as possible and is constrained only by the rate of the underlying link or parent node in a hierarchy. If a rate is configured and the router determines that a traffic stream has exceeded the configured rate, the router drops the exceeding packets during periods of congestion. If the link is currently not congested, the router places the exceeding packets onto the outbound link.
When configuring MPQ on different traffic classes in a policy map, you must specify different priority levels for the traffic classes. For example, configure one traffic class to have priority level 2 and another class to have level 1.
If high-priority traffic is not policed appropriately, bandwidth starvation of low-priority traffic can occur. Therefore, though not required, we recommend that you configure a policer for high-priority traffic using the police command. If you configure the police command for priority queues, the traffic rate is policed to the police rate for each of the priority queues.
You cannot configure the priority command and the priority level command on different classes in the same policy map.
How to Configure Multi-Level Priority Queues
To configure the Multi-Level Priority Queues (MPQ) feature, perform the following tasks:
•Configuring Multi-Level Priority Queues in a Policy Map (required)
•Verifying Multi-Level Priority Queues (optional)
Configuring Multi-Level Priority Queues in a Policy Map
To configure MPQ in a policy map, complete the following steps.
Prerequisites
The traffic classes, class maps, and policy maps must exist. To create traffic classes, class maps, and policy maps, use the Modular Quality of Service (QoS) Command-Line Interface (CLI) (MQC). For information about using the MQC, see the "Applying QoS Features Using the MQC" module.
SUMMARY STEPS
1. enable
2. configure terminal
3. policy-map policy-name
4. class class-name
5. priority level level
6. police cir bps
or
7. police cir percent percent
8. end
DETAILED STEPS
Verifying Multi-Level Priority Queues
To verify the configuration of multi-level priority queues and to display statistical information for each priority level, complete the following steps.
SUMMARY STEPS
1. enable
2. show policy-map interface type number
3. exit
DETAILED STEPS
Configuration Examples for Multi-Level Priority Queues
This section provides the following examples:
•Configuring Multi-Level Priority Queues: Example
•Unacceptable MPQ Configurations: Examples
•Verifying Multi-Level Priority Queues: Example
Configuring Multi-Level Priority Queues: Example
The following example shows how to configure multiple priority queues. The policy map named Business has two traffic classes: Bronze and Gold. Bronze traffic has a level 2 (low) priority, while Gold traffic has level 1 (high) priority. To prevent bandwidth starvation of Bronze traffic, the Gold traffic is policed at 30 percent of the interface bandwidth.
Router> enableRouter# configure terminalRouter(config)# policy-map BusinessRouter(config-pmap)# class BronzeRouter(config-pmap-c)# priority level 2Router(config-pmap-c)# police cir 1000Router(config-pmap-c)# exitRouter(config-pmap)# class GoldRouter(config-pmap-c)# priority level 1Router(config-pmap-c)# police cir percent 30Router(config-pmap-c)# end
Note Although a policer is not required, configure policing for priority traffic to prevent bandwidth starvation of low priority traffic. When policing is configured, the traffic rate is policed to the police rate for each of the priority queues.
Unacceptable MPQ Configurations: Examples
You cannot specify both the priority command and the priority level command for two different classes in the same policy map. For example, the router does not accept the following configuration:
Router> enableRouter# configure terminalRouter(config)# policy-map Map1Router(config-pmap)# class BronzeRouter(config-pmap-c)# priority level 1Router(config-pmap-c)# exitRouter(config-pmap)# class GoldRouter(config-pmap-c)# priority rate 1000Router(config-pmap-c)# endYou cannot specify the same priority level for two different classes in the same policy map. For example, the router does not accept the following configuration:
Router> enableRouter# configure terminalRouter(config)# policy-map Map1Router(config-pmap)# class BronzeRouter(config-pmap-c)# priority level 1Router(config-pmap-c)# police cir percent 30Router(config-pmap-c)# exitRouter(config-pmap)# class GoldRouter(config-pmap-c)# priority level 1Router(config-pmap-c)# police cir 10000Router(config-pmap-c)# endVerifying Multi-Level Priority Queues: Example
The following sample is output from the show policy-map interface command.
Router# show policy-map interface serial2/1/0Serial2/1/0Service-policy output: P1Queue statistics for all priority classes:...Class-map: Gold (match-all)0 packets, 0 bytes /*Updated for each priority level configured.*/5 minute offered rate 0 bps, drop rate 0 bpsMatch: ip precedence 2Priority: 0 kbps, burst bytes 1500, b/w exceed drops: 0Priority Level 2:0 packets, 0 bytesAdditional References
The following sections provide references related to multi-level priority queues.
Related Documents
Standards
Standard TitleNo new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
—
MIBs
RFCs
RFC TitleNo new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.
—
Technical Assistance
Command Reference
The following commands are introduced or modified in the feature or features documented in this module. For information about these commands, see the Cisco IOS Quality of Service Solutions Command Reference at http://www.cisco.com/en/US/docs/ios/qos/command/reference/qos_book.html. For information about all Cisco IOS commands, use the Command Lookup Tool at http://tools.cisco.com/Support/CLILookup or the Cisco IOS Master Command List, All Releases, at http://www.cisco.com/en/US/docs/ios/mcl/allreleasemcl/all_book.html.
•priority level
•show policy-map interface
Feature Information for Multi-Level Priority Queues
Table 1 lists the release history for this feature.
Not all commands may be available in your Cisco IOS software release. For release information about a specific command, see the command reference documentation.
Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which Cisco IOS and Catalyst OS software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Note Table 1 lists only the Cisco IOS software release that introduced support for a given feature in a given Cisco IOS software release train. Unless noted otherwise, subsequent releases of that Cisco IOS software release train also support that feature.
CCDE, CCENT, Cisco Eos, Cisco Lumin, Cisco Nexus, Cisco StadiumVision, Cisco TelePresence, Cisco WebEx, the Cisco logo, DCE, and Welcome to the Human Network are trademarks; Changing the Way We Work, Live, Play, and Learn and Cisco Store are service marks; and Access Registrar, Aironet, AsyncOS, Bringing the Meeting To You, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, CCVP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity, Collaboration Without Limitation, EtherFast, EtherSwitch, Event Center, Fast Step, Follow Me Browsing, FormShare, GigaDrive, HomeLink, Internet Quotient, IOS, iPhone, iQuick Study, IronPort, the IronPort logo, LightStream, Linksys, MediaTone, MeetingPlace, MeetingPlace Chime Sound, MGX, Networkers, Networking Academy, Network Registrar, PCNow, PIX, PowerPanels, ProConnect, ScriptShare, SenderBase, SMARTnet, Spectrum Expert, StackWise, The Fastest Way to Increase Your Internet Quotient, TransPath, WebEx, and the WebEx logo are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or website are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (0809R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
©2006-2008 Cisco Systems, Inc. All rights reserved.