Quality of Service Overview
17-6 Configuring Quality of Service
Preferential Queue Treatment for Packet Forwarding
There are three types of preferential queue treatments for packet forwarding: strict priority,
weighted fair, and hybrid.
Strict Priority Queuing
With Strict Priority Queuing, a higher priority queue must be empty before a lower priority queue
can transmit any packets. Strict priority queuing is illustrated in Figure 17-2. Inbound packets
enter on the upper left and proceed to the appropriate queue, based upon the TxQ configuration
in the CoS. Outbound packets exit the queues on the lower right. At this time only queue 3 packets
are forwarded. This will be true until queue 3 is completely empty. Queue 2 packets will then be
forwarded. Queue 1 packets will only forward if both queue 2 and queue 3 are empty. Queue 0
packets will only forward if all other queues are empty. Strict priority queuing assures that the
highest priority queue with any packets in it will get 100 percent of the bandwidth available. This
is particularly useful for one or more priority levels with low bandwidth and low tolerance for
delay. The problem with strict priority queuing is that should the higher level queues never fully
empty, lower level queues can be starved of bandwidth.
Figure 17-2 Strict Priority Queuing Packet Behavior
Weighted Fair Queuing
With weighted fair queuing, queue access to bandwidth is divided up by percentages of the time
slices available. For example, if 100 percent is divided into 64 time slices, and each queue is
configured for 25 percent, each queue will get 16 time slices, after which the next lowest priority
queue will get the next 16, and so on. Should a queue empty before using its current share of time
slices, the remaining time slices are shared with all remaining queues. Figure 17-3 on page 17-7
depicts how weighted fair queuing works. Inbound packets enter on the upper left of the box and
proceed to the appropriate priority queue. Outbound packets exit the queues on the lower right.
Queue 3 has access to its percentage of time slices so long as there are packets in the queue. Then