14.8. Weighted Round Robin (WRR)
This qdisc is not included in the standard kernels but can be downloaded from
�.
Currently the qdisc is only tested with Linux 2.2 kernels but it will
probably work with 2.4/2.5 kernels too.
The WRR qdisc distributes bandwidth between its classes using the weighted
round robin scheme. That is, like the CBQ qdisc it contains classes
into which arbitrary qdiscs can be plugged. All classes which have sufficient
demand will get bandwidth proportional to the weights associated with the classes.
The weights can be set manually using the tc program. But they
can also be made automatically decreasing for classes transferring much data.
The qdisc has a built-in classifier which assigns packets coming from or
sent to different machines to different classes. Either the MAC or IP and
either source or destination addresses can be used. The MAC address can only
be used when the Linux box is acting as an ethernet bridge, however. The
classes are automatically assigned to machines based on the packets seen.
The qdisc can be very useful at sites such as dorms where a lot of unrelated
individuals share an Internet connection. A set of scripts setting up a
relevant behavior for such a site is a central part of the WRR distribution.