Configuring Custom Queueing

This module describes the tasks for configuring QoS custom queueing (CQ) on a router.


Note

CQ is not supported on any tunnels.


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 https://cfnng.cisco.com/. An account on Cisco.com is not required.

Custom Queueing Configuration Task List

You must follow certain required, basic steps to enable CQ for your network. In addition, you can choose to assign packets to custom queues based on protocol type, interface where the packets enter the router, or other criteria you specify.

CQ allows a fairness not provided with priority queueing (PQ). With CQ, you can control the available bandwidth on an interface when it is unable to accommodate the aggregate traffic enqueued. Associated with each output queue is a configurable byte count, which specifies how many bytes of data should be delivered from the current queue by the system before the system moves on to the next queue. When a particular queue is being processed, packets are sent until the number of bytes sent exceeds the queue byte count defined by the queue-list queue byte-count command (see the following section Specifying the Maximum Size of the Custom Queues), or until the queue is empty.

To configure CQ, perform the tasks described in the following sections.

Specifying the Maximum Size of the Custom Queues

Command

Purpose


Router(config)# queue-list  list-number queue  queue-number limit  limit-number

Specifies the maximum number of packets allowed in each of the custom queues. The limit-numbe r argument specifies the number of packets that can be queued at any one time. The range is from 0 to 32767. The default is 20.


Router(config)# queue-list  list-number queue  queue-number byte-count  byte-count-number

Designates the average number of bytes forwarded per queue. The byte-count-number argument specifies the average number of bytes the system allows to be delivered from a given queue during a particular cycle.

Assigning Packets to Custom Queues

Command

Purpose


Router(config)# queue-list  list-number protocol  protocol-name queue-number queue-keyword keyword-value

Establishes queueing priorities based on the protocol type.

Note 

All protocols supported by Cisco are allowed. The queue-keyword variable provides additional options, including byte count, TCP service and port number assignments, and AppleTalk, IP, IPX, VINES, or XNS access list assignments.

Note 

When you use multiple rules, remember that the system reads the queue-list commands in order of appearance.


Router(config)# queue-list  list-number interface  interface-type interface-number queue-number

Establishes CQ based on packets entering from a given interface.


Router(config)# queue-list  list-number default  queue-number

Assigns a queue number for those packets that do not match any other rule in the custom queue list.

Defining the Custom Queue List

SUMMARY STEPS

  1. Router(config)# interface interface-type interface-number
  2. Router(config-if)# custom-queue-list list

DETAILED STEPS

  Command or Action Purpose
Step 1

Router(config)# interface interface-type interface-number

Specifies the interface, and then enters interface configuration mode.

Step 2

Router(config-if)# custom-queue-list list

Assigns a custom queue list to the interface. The list argument is any number from 1 to 16. There is no default assignment.

Note 

Use the custom-queue-list command in place of the priority-list command. Only one queue list can be assigned per interface.

Monitoring Custom Queue Lists

Command

Purpose


Router# show queue  interface-type interface-number

Displays the contents of packets inside a queue for a particular interface or virtual circuit (VC).


Router# show queueing custom 

Displays the status of the CQ lists.


Router# show interfaces  interface-type interface-number

Displays the current status of the custom output queues when CQ is enabled.

Custom Queueing Configuration Examples

Example Custom Queue List Defined

The following example illustrates how to assign custom queue list number 3 to serial interface 0:


interface serial 0
custom-queue-list 3

Examples Maximum Specified Size of the Custom Queues

The following example specifies the maximum number of packets allowed in each custom queue. The queue length of queue 10 is increased from the default 20 packets to 40 packets.


queue-list 3 queue 10 limit 40

The queue length limit is the maximum number of packets that can be enqueued at any time, with the range being from 0 to 32767 queue entries.

The following example decreases queue list 9 from the default byte count of 1500 to 1400 for queue number 10:


queue-list 9 queue 10 byte-count 1400

The byte count establishes the lowest number of bytes the system allows to be delivered from a given queue during a particular cycle.

Examples Packets Assigned to Custom Queues

The following examples assign packets to custom queues by either protocol type or interface type, and the default assignment for unmatched packets.

Protocol Type

The following example assigns traffic that matches IP access list 10 to queue number 1:


queue-list 1 protocol ip 1 list 10

The following example assigns Telnet packets to queue number 2:


queue-list 4 protocol ip 2 tcp 23

The following example assigns User Datagram Protocol (UDP) Domain Name Service (DNS) packets to queue number 3:


queue-list 4 protocol ip 3 udp 53

Interface Type

In this example, queue list 4 establishes queueing priorities for packets entering on serial interface 0. The queue number assigned is 10.


queue-list 4 interface serial 0 10

Default Queue

You can specify a default queue for packets that do not match other assignment rules. In this example, the default queue for list 10 is set to queue number 2:


queue-list 10 default 2