I got to thinking that it sure would be nice to add some of this
functionality to LEAF so I did some looking at FreshMeat:
rshaper is a Linux kernel module that limits the incoming bandwidth for
packets aimed at different hosts ("incoming" meaning traffic that enters
the shaping host; if that host is a gateway between target hosts and the
rest of the Internet, all the traffic of the target hosts will be
shapeable). It's useful for ISPs who offer housing and want to
differentiate their offers and for limiting download bandwidth from
students' boxes or similar setups.
http://freshmeat.net/projects/rshaper
The WRR scheduler is an extension to the Linux 2.2 kernels. It is able to
distribute the bandwidth to different machines at a site in a fair way. As
a default every machine will get equally much of the bandwidth if they have
sufficient demand, but it is possible to make machines transferring much
data over a long or short period of time get less bandwidth. A
plug-and-play ready set of scripts setting up such behavior based on a
configuration file is included. The scripts sets up a Linux bridge which
must be placed between the router and the rest of the site.
http://freshmeat.net/projects/wrr
</x-flowed>