Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.2
Configuring Custom Queueing
Downloads: This chapterpdf (PDF - 144.0KB) | Feedback

Configuring Custom Queueing

Table Of Contents

Configuring Custom Queueing

Custom Queueing Configuration Task List

Defining the Custom Queue List

Specifying the Maximum Size of the Custom Queues

Assigning Packets to Custom Queues

Monitoring Custom Queue Lists

Custom Queueing Configuration Examples

Custom Queue List Defined Example

Maximum Specified Size of the Custom Queues Examples

Packets Assigned to Custom Queues Examples

Protocol Type

Interface Type

Default Queue


Configuring Custom Queueing


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

For complete conceptual information, see the section "Low Latency Queueing for Frame Relay" in the chapter "Congestion Management Overview" in this book.

For a complete description of the CQ commands in this chapter, refer to the Cisco IOS Quality of Service Solutions Command Reference. To locate documentation of other commands that appear in this chapter, use the command reference master index or search online.

To identify the hardware platform or software image information associated with a feature, use the Feature Navigator on Cisco.com to search for information about the feature or refer to the software release notes for a specific release. For more information, see the "Identifying Supported Platforms" section in the "Using Cisco IOS Software" chapter in this book.


Note CQ is not supported on any tunnels.


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.

To configure CQ, perform the tasks described in the following sections. The tasks in first and third sections are required; the tasks in the remaining sections are optional.

Defining the Custom Queue List (Required)

Specifying the Maximum Size of the Custom Queues (Optional)

Assigning Packets to Custom Queues (Required)

Monitoring Custom Queue Lists (Optional)

See the end of this chapter for the section "Custom Queueing Configuration Examples."

Defining the Custom Queue List

To assign a custom queue list to an interface, use the following commands beginning in global configuration mode:

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


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.

Specifying the Maximum Size of the Custom Queues

You can specify the maximum number of packets allowed in each of the custom queues. The default is 20 entries.

You can also specify the approximate number of bytes to be forwarded from each queue during its turn in the cycle. The number is used as an average number, because whole packets must be forwarded.

To specify the approximate number of bytes to be forwarded from each queue during its turn in the cycle, use the following commands in global configuration mode, as needed:

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-number argument specifies the number of packets that can be queued at any one time. The range is from 0 to 32767.

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

You can assign packets to custom queues based on the protocol type or interface where the packets enter the router. Additionally, you can set the default queue for packets that do not match other assignment rules. You can also specify multiple rules.

To define the CQ lists, use the following commands in global configuration mode, as needed:

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.

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.


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. Refer to the queue-list protocol command syntax description in the Cisco IOS Quality of Service Solutions Command Reference.

When you use multiple rules, remember that the system reads the queue-list commands in order of appearance. When classifying a packet, the system searches the list of rules specified by queue-list commands for a matching protocol or interface type. When a match is found, the packet is assigned to the appropriate queue. The list is searched in the order it is specified, and the first matching rule terminates the search.

Monitoring Custom Queue Lists

To display information about the input and output queues when CQ is enabled on an interface, use the following commands in EXEC mode, as needed:

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

The following sections provide custom queueing examples:

Custom Queue List Defined Example

Maximum Specified Size of the Custom Queues Examples

Packets Assigned to Custom Queues Examples

For information on how to configure CQ, see the section "Custom Queueing Configuration Task List" in this chapter.

Custom Queue List Defined Example

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

interface serial 0
custom-queue-list 3

Maximum Specified Size of the Custom Queues Examples

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.

Packets Assigned to Custom Queues Examples

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