Previous section   Next section

Recipe 11.5 Using Custom Queues with Priority Queues

11.5.1 Problem

You want to combine Custom Queueing with Priority Queueing on an interface so the highest priority packets are always handled first, and lower priority traffic streams share bandwidth with one another.

11.5.2 Solution

You can split the queues so that some use Priority Queueing and the remainder use Custom Queueing:

Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#access list 101 permit ip any any precedence 7
Router(config)#access list 102 permit ip any any precedence 6
Router(config)#access list 103 permit ip any any precedence 5
Router(config)#access list 104 permit ip any any precedence 4
Router(config)#access list 105 permit ip any any precedence 3
Router(config)#access list 106 permit ip any any precedence 2
Router(config)#access list 107 permit ip any any precedence 1
Router(config)#queue-list 1 protocol ip 1 list 101
Router(config)#queue-list 1 protocol ip 2 list 102
Router(config)#queue-list 1 protocol ip 3 list 103
Router(config)#queue-list 1 protocol ip 4 list 104
Router(config)#queue-list 1 protocol ip 5 list 105
Router(config)#queue-list 1 protocol ip 6 list 106
Router(config)#queue-list 1 protocol ip 7 list 107
Router(config)#queue-list 1 lowest-custom 4
Router(config)#interface HSSI0/0
Router(config-if)#custom-queue-list 1
Router(config-if)#end
Router#

11.5.3 Discussion

This example is similar to Recipe 11.4, which looked at a pure Custom Queueing example. In this case, however, we have added the command:

Router(config)#queue-list 1 lowest-custom 4

This command allows you to mix Custom and Priority Queue types. Note that this command only works with queue-list number 1. It is not available for any other queue lists.

In this example, queue number 4 is the lowest numbered Custom Queue. So, in this example, queues 1, 2 and 3 are all Priority Queues. This means that the router will deliver all of the packets in queue number 1, then all of the packets in queue number 2, then all of the packets in queue number 3. And then, if these high priority queues are all empty, it will use custom queueing to deliver the packets in the lower priority queues.

The main advantage to this sort of configuration is that it gives absolute priority to real-time applications. This is important not because of the bandwidth, but because Priority Queueing the real-time applications minimizes their queueing latency. However, as with the pure Priority Queueing example in Recipe 11.3, you have to be extremely careful to prevent the high priority traffic from starving the other queues.

11.5.4 See Also

Recipe 11.3; Recipe 11.4


  Previous section   Next section
Top