Configurable Queue Depth

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 caveats and feature information, see Bug Search Tool and 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.

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