Since I admin the gateway for a network of bandwidth-greedy machines, I figured that esfq with "hash src" would be a more fair allocation of bandwidth than sfq. Unfortunately, there didn't seem to be a recent patch for 2.6, so I endeavored to build one. The three patches I made (described below) are available within the attached tar.bz2 or at: http://fatooh.org/esfq-2.6/ 1. I downloaded the combined esfq + imq patch from Jim diGriz's QoS Script, at: http://www.digriz.org.uk/jdg-qos-script/ 2. I don't know anything about IMQ, so I extracted the parts that relate to esfq and madified the patch to apply cleanly to 2.6.4. The resulting file is esfq-2.6.patch.old, which seems to work but is marked unsafe upon insmod due to use of deprecated MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT. 3. There have been several updates to sfq since esfq was forked, viewable at: http://linux.bkbits.net:8080/linux-2.5/hist/net/sched/sch_sfq.c?nav=index.html|src/|src/net|src/net/sched I did my best to apply revisions 1.5 - 1.13 to the esfq patch, and the result is esfq-2.6.patch. I made an incremental patch between esfq-2.6.patch.old and esfq-2.6.patch: esfq-2.6.patch.incr In order to use this, you'll need: 1. Some Linux kernel source similar to 2.6.4. 2. esfq-2.6.patch from the attachment or: http://fatooh.org/esfq-2.6/ Patch your source, compile, install. Note that this may prevent tc from using egular sfq until you patch your iproute. 3. Iproute2 source. I used the debianized source from: http://packages.debian.org/testing/net/iproute ...but the vanilla source should work fine. For some reason I can't find a working download right now. 4. The esfq 0.2 patch from: http://www.ssi.bg/~alex/esfq/ Extract the tar.gz and use iproute2-2.2.4-now-ss001007-esfq.diff to patch your iproute2 source. Beware that this may not compile if your distro uses its own headers in /usr/include, and iproute2 needs to reference the patched pkt_sched.h. I don't know what the best way around this is. Please note that I don't really know what I'm doing. The process seemed straightforward enough and so loading and using the new sch_esfq module hasn't caused my computer to crash, complain, melt, or walk away. Actually, it seems to work as expected; however, don't blame me if you use the patch and something starts setting the evil bit on all your packets. I'm posting this partly because I hope somebody who knows about this stuff can fix any problems in the patch that may exist... :) Thanks, Corey
Attachment:
esfq-2.6.4.tar.bz2
Description: application/vnd.mozilla.guess-from-ext