[LARTC] for testing/examiniation: updated esfq patch for 2.6.4
Corey Hickey
bugfood-ml@fatooh.org
Fri, 12 Mar 2004 01:54:30 -0800
This is a multi-part message in MIME format.
--------------040505080401030201060207
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
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
--------------040505080401030201060207
Content-Type: application/x-vnd.mozilla.guess-from-ext;
name="esfq-2.6.4.tar.bz2"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="esfq-2.6.4.tar.bz2"
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
KcKEh/c3bMg=
--------------040505080401030201060207--