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:
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: