All of lore.kernel.org
 help / color / mirror / Atom feed
From: Corey Hickey <bugfood-ml@fatooh.org>
To: lartc@vger.kernel.org
Subject: [LARTC] for testing/examiniation: updated esfq patch for 2.6.4
Date: Fri, 12 Mar 2004 09:54:30 +0000	[thread overview]
Message-ID: <405188D6.9000901@fatooh.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 2559 bytes --]

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 #2: esfq-2.6.4.tar.bz2 --]
[-- Type: application/x-vnd.mozilla.guess-from-ext, Size: 6920 bytes --]

                 reply	other threads:[~2004-03-12  9:54 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=405188D6.9000901@fatooh.org \
    --to=bugfood-ml@fatooh.org \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.