Bekijk de volledige versie : Adding IMQ to firmware?

29-01-2007, 10:29
IMQ is the Linux Intermediate Queueing Device (http://www.linuximq.net/). It consists of a kernel patch (or module) and an iptables patch.

What this does it make it possible to combine shaping classes on different interfaces and shape their bandwidth together, as opposed to the "regular" shaping in the stock kernel, which only allows shaping on separate interfaces.

How would this help? With regular shaping, on a router, all you can shape is mainly two things: the stuff going out the public interface (vlan1 upload) and the stuff coming in the private interface (br0 download). Separately! This is ok if all you want to do is shape the LAN clients against each other and say stuff like "voip gets higher priority" or "suzy gets 32k bandwidth and john only 16k".

BUT if you want to combine the traffic done by the router itself with traffic done by the LAN clients, you're out of luck. This is where IMQ comes in and makes it possible to aggregate this traffic and shape it together. We'd then be able to make shaping rules that say that whenever the LAN clients need bandwidth they'd get higher priority than what the router downloads (via torrent), and leave the router to download only when nobody in the LAN needs the bandwidth.

Sure, you can achieve a sort of the same effect by limiting for instance transmission.conf to a download and upload limit lower than the maximum available bandwidth, but it does not compare to dynamic shaping.