Configurable Queue Depth

Last Updated: December 9, 2011

This feature allows you to configure (resize) the depth of the packet queues on your network. That is, you can set the maximum number (the depth) of packets that a class queue can hold, which in turn controls when the router drops packets. Configuring the depth of the packet queues helps alleviate packet queue congestion.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the Feature Information Table at the end of this document.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Information About Configuring Queue Depth

Queue Limit

Each queue has a limit on the number of packets that the router can place into the queue. This limit, referred to as the depth, is a user-configurable limit. During periods of high traffic, a queue fills with packets that are waiting for transmission. When a queue reaches its queue limit and becomes full, by default, the router drops packets until the queue is no longer full.

For the Cisco ASR 1000 Series Router in Cisco IOS XE Software Release 2.1, the packets-per-queue range is 1 to 2,000,000.

When a packet queue temporarily experiences congestion, increasing the depth of the queue using the queue-limit command reduces the number of packets dropped. However, setting the queue limit to a high value might reduce the number of packet buffers available to other interfaces.

If you do not specify a queue limit, the router calculates the default buffer size for each class queue as follows:

  • Class queues with weighted random early detection (WRED)--The router uses the default queue limit of two times the largest WRED maximum threshold value, rounded to the nearest power of 2.
  • Class queues without WRED--The router uses 50 ms of 1500-byte packets but never less than 64 packets.
  • Priority queues with WRED--The router uses a queue limit of 512 packets.

Note


Priority queues without WRED are not allowed.

Note


When setting the queue limit, decide how many users will be active at any given time and tune the queue limits accordingly. This will allow individual interfaces to handle traffic bursts and not deplete the available memory. For assistance, contact the Cisco Support website at http://www.cisco.com/techsupport.

How to Configure Queue Depth

This section contains the following tasks:

Setting the Depth of a Traffic Class Queue

Before You Begin

The traffic classes, class maps, and policy maps must exist.


SUMMARY STEPS

1.    enable

2.    configure terminal

3.    policy-map policy-map-name

4.    class class-map-name

5.    bandwidth {bandwidth-kbps | percent percent

6.    queue-limit number-of-packets

7.    end


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Router# configure terminal

 

Enters global configuration mode.

 
Step 3
policy-map policy-map-name


Example:

Router(config)# policy-map Policy1

 

Specifies the name of the policy map and enters policy-map configuration mode.

  • Enter the policy map name.
 
Step 4
class class-map-name


Example:

Router(config-pmap)# class Class1

 

Assigns the traffic class you specify to the policy map. Enters policy-map class configuration mode.

  • Enter the name of a previously configured class map. This is the traffic class for which you want to enable QoS features.
 
Step 5
bandwidth {bandwidth-kbps | percent percent


Example:

Router(config-pmap-c)# bandwidth 3000

 

Specifies the amount of bandwidth (in kbps or as a percentage of available bandwidth) to be assigned to the class.

  • Enter the amount of bandwidth. The amount of bandwidth configured should be large enough to also accommodate Layer 2 overhead.
 
Step 6
queue-limit number-of-packets


Example:

Router(config-pmap-c)# queue-limit 32



Example:

 

Specifies or modifies the maximum number of packets that the queue can hold for this class.

  • Enter the maximum number of packets as applicable.
 
Step 7
end


Example:

Router(config-pmap-c)# end

 

(Optional) Exits policy-map class mode.

 

Verifying the Depth of the Traffic Class Queue

SUMMARY STEPS

1.    enable

2.    show policy-map interface type number

3.    exit


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
show policy-map interface type number


Example:

Router# show policy-map interface serial4/0/0

 

Displays the packet statistics of all classes that are configured for all service policies either on the specified interface or subinterface or on a specific PVC on the interface.

  • Enter the interface type and number.
 
Step 3
exit


Example:

Router# exit

 

(Optional) Exits privileged EXEC mode.

 

Configuration Examples for Configuring Queue Depth

Example Setting the Queue Size

The following example shows how to create a policy map named Policy1 that contains two classes named Class1 and Class2. The Class1 configuration enable a specific bandwidth allocation and specifies the maximum number of packets that can be queued for the class. Because Class1 limits the number of packets that can be held in the queue to 32, the router uses tail drop to drop packets when that limit is reached. Class2 enables bandwidth allocation only.

Router(config)# policy-map Policy1
Router(config-pmap)# class Class1
Router(config-pmap-c)# bandwidth 3000
Router(config-pmap-c)# queue-limit 32
Router(config-pmap-c)# exit
Router(config-pmap)# class Class2
Router(config-pmap-c)# bandwidth 2000
Router(config-pmap-c)# end

Example Verifying the Queue Size

Use the show policy-map interface command to display traffic statistics for the class maps, policy maps, and traffic queues on your network.

The following is sample output for the show policy-map interface command. In this example, the policy map named Traffic-5-PR is attached to serial interface 1/0/0 and includes three traffic classes. The Voice-5-PR class has a configured queue limit of 32 packets with 0 packets dropped. The Gold-5-PR class also indicates that no packets dropped. The Silver-5-PR class has a configured queue limit of 64 packets with 0 packets dropped.

Router# show policy-map interface serial 1/0/0
 Serial1/0/0 
  Service-policy output: Traffic-Parent (1051)
    Class-map: class-default (match-any) (1068/0)
      2064335 packets, 120273127 bytes
      5 minute offered rate 1000 bps, drop rate 0 bps
      Match: any  (1069)
        126970 packets, 3982597 bytes
        5 minute rate 0 bps
      Shape : 6000 kbps
      Service-policy : Traffic-5-PR (1052)
        Class-map: Voice-5-PR (match-all) (1053/1)
          82310 packets, 4938600 bytes
          5 minute offered rate 0 bps, drop rate 0 bps
          Match: ip precedence 5  (1054)
          Output queue: 0/32; 82310/4938600 packets/bytes output, 0 drops
          Absolute priority
          Queue-limit: 32 packets
          Police:
            304000 bps, 1536 limit, 0 extended limit
            conformed 82312 packets, 4938720 bytes; action: transmit
            exceeded 0 packets, 0 bytes; action: drop
            violated 0 packets, 0 bytes; action: drop
        Class-map: Gold-5-PR (match-any) (1058/2)
          1125476 packets, 67528560 bytes
          5 minute offered rate 0 bps, drop rate 0 bps
          Match: ip precedence 3  4  (1059)
            1125476 packets, 67528560 bytes
            5 minute rate 0 bps
          Output queue: 0/128; 1125503/67530180 packets/bytes output, 0 drops
          Bandwidth : 188 kbps (Weight 3)
        Class-map: Silver-5-PR (match-any) (1061/3)
          697908 packets, 41874480 bytes
          5 minute offered rate 0 bps, drop rate 0 bps
          Match: ip precedence 0  1  2  (1062)
            697908 packets, 41874480 bytes
            5 minute rate 0 bps
          Output queue: 0/64; 697919/41875140 packets/bytes output, 0 drops
          Bandwidth : 71 kbps (Weight 1)
          Random-detect (precedence-based):
            Exponential weight: 9 (1/512)
            Current average queue length: 0 packets
            -------------------------------------------------
                      Min   Max Prob    Rand-Drops Tail-Drops
            -------------------------------------------------
                  0    16    32 1/10             0          0
                  1    18    32 1/10             0          0
                  2    20    32 1/10             0          0
                  3    22    32 1/10             0          0
                  4    24    32 1/10             0          0
                  5    26    32 1/10             0          0
                  6    28    32 1/10             0          0
                  7    30    32 1/10             0          0
          Queue-limit: 64 packets
        Class-map: class-default (match-any) (1066/0)
          158641 packets, 5931487 bytes
          5 minute offered rate 0 bps, drop rate 0 bps
          Match: any  (1067)
            158641 packets, 5931487 bytes
            5 minute rate 0 bps
          Output queue: 0/128; 31672/1695625 packets/bytes output, 0 drops

Additional References

Related Documents

Related Topic

Document Title

QoS commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples

Cisco IOS Quality of Service Solutions Command Reference

Packet classification

"Classifying Network Traffic" module

Creating classes, class maps, and policy maps

"Applying QoS Features Using the MQC" module

Standards

Standard

Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

--

MIBs

MIB

MIBs Link

No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

To locate and download MIBs for selected platforms, Cisco IOS XE Software releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFC

Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

--

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for Configuring Queue Depth

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Table 1 Feature Information for Configuring Queue Depth

Feature Name

Releases

Feature Information

Configurable Queue Depth

Cisco IOS XE Release 2.1

This feature allows you to configure (resize) the depth of the packet queues on your network. That is, you can set the maximum number (the depth) of packets that a class queue can hold, which in turn controls when the router drops packets. Configuring the depth of the packet queues helps alleviate packet queue congestion.

The following command was introduced or modified: queue-limit.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned 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. (1110R)

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.

© 2011 Cisco Systems, Inc. All rights reserved.