Configurable Queue Depth


First Published: June 30, 2008
Last Updated: March 23, 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

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 for Configuring Queue Depth" section.

Use Cisco Feature Navigator to find information about platform support and Cisco IOS XE 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

Information About Configuring Queue Depth

How to Configure Queue Depth

Configuration Examples for Configuring Queue Depth

Additional References

Feature Information for Configuring Queue Depth

Information About Configuring Queue Depth

Before configuring queue depth, you should understand the following concept:

Queue Limit

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 (required)

Verifying the Depth of the Traffic Class Queue (optional)

Setting the Depth of a Traffic Class Queue

Prerequisites

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


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

This section provides the following configuration examples:

Example: Setting the Queue Size

Example: Verifying the Queue Size

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

Table 1 lists the release history for this feature.

Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which Cisco IOS XE 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 XE Software release that introduced support for a given feature in a given Cisco IOS XE Software release train. Unless noted otherwise, subsequent releases of that Cisco IOS XE Software release train also support that feature.


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 sections provide information about this feature:

Information About Configuring Queue Depth

How to Configure Queue Depth

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



Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at 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. (1005R)