Custom Queueing is a legacy Congestion Management process that can be used to create minimum bandwidth reservation in the output queue of a given interface. Custom Queueing has a total of 16 queues (1 system and 15 user-defined).
CQ handles traffic by specifying the number of packets or bytes to be serviced for each class of traffic. All user-defined queues have the same weight and can dequeue 1500-bytes of traffic. It services the queues by cycling through them in round-robin fashion, sending the portion of allocated bandwidth for each queue before moving to the next queue. If one queue is empty, the router will send packets from the next queue that has packets ready to send.
When CQ is enabled on an interface, the system maintains 17 output queues for that interface. You can specify queues 1 through 16. Associated with each output queue is a configurable byte count, which specifies how many bytes of data the system should deliver from the current queue before it moves on to the next queue.
Queue number 0 is a system queue; it is emptied before any of the queues numbered 1 through 16 are processed. The system queues high priority packets, such as keepalive packets and signalling packets, to this queue. Other traffic cannot be configured to use this queue.
 
For queue numbers 1 through 16, the system cycles through the queues sequentially (in a round-robin fashion), dequeueing the configured byte count from each queue in each cycle, delivering packets in the current queue before moving on to the next one. When a particular queue is being processed, packets are sent until the number of bytes sent exceeds the queue byte count or the queue is empty. Bandwidth used by a particular queue can be indirectly specified only in terms of byte count and queue length.
Defining the Custom Queue List
Router(config)#Â interfaceinterface-type interface-number
Router(config-if)# custom-queue-list list
Specifying the Maximum Size of the Custom Queue
Router(config)# queue-listlist-number queue queue-number limit limit-number
Router(config)# queue-listlist-number queue queue-number byte-count byte-count-number
Assigning Packets to Custom Queue
Router(config)# queue-list list-number protocolprotocol-name queue-number queue-keyword keyword-value
Router(config)# queue-list list-number interfaceinterface-type interface-number queue-number
Router(config)# queue-list list-number defaultqueue-number
Monitoring Custom Queues
Router# show queue interface-type interface-number
Router# show interfaces interface-type interface-number
Lowest-Custom
We can set the lowest number of queue to be treated as Custom Queue by using the queue-list list-number lowest-custom queue-number command. So let’s say we use queue-list 1 lowest custom 2, this will treat queues 0 and 1 as priority queues. We have to be careful with this because this can cause the same issue that we had with PQ, starvation.
Why Use CQ?
You can use the Cisco IOS QoS CQ feature to provide specific traffic guaranteed bandwidth at a potential congestion point, assuring the traffic a fixed portion of available bandwidth and leaving the remaining bandwidth to other traffic. For example, you could reserve half of the bandwidth for SNA data, allowing the remaining half to be used by other protocols.
If a particular type of traffic is not using the bandwidth reserved for it, then unused bandwidth can be dynamically allocated to other traffic types.





Connect with Us