From: Jonathan Morton <chromatix99@gmail.com>
To: "Carlos R. Pasqualini" <pasqualinic@fcal.uner.edu.ar>
Cc: cerowrt-devel@lists.bufferbloat.net
Subject: Re: [Cerowrt-devel] The next slice of cake
Date: Tue, 17 Mar 2015 23:33:31 +0200 [thread overview]
Message-ID: <CFA16392-AAB3-42A4-A0AA-E45E80E825BB@gmail.com> (raw)
In-Reply-To: <1426624485.8558.63.camel@capibara.fcal.uner.edu.ar>
> On 17 Mar, 2015, at 22:34, Carlos R. Pasqualini <pasqualinic@fcal.uner.edu.ar> wrote:
>
> would you mind to point me to a repository or download area and some
> docs about how to get it working and test it's performance?
>
> in a (too)fast (and lazy) search at google can't find anything
>
> Here, i have only 3 DSL links with 3Mbps bandwidth each, for aprox. 300
> student's computers.
That certainly sounds like a situation where cake could help.
Dave Täht made patches a few months ago, based on linux-net-next, which are available here:
http://snapon.lab.bufferbloat.net/~d/codel_patches/new_codels.tgz
Those include *two* versions of cake, one of which is configured to use a different version of the Codel algorithm than the other. The intent at the time was to compare those two versions against each other, but they also happen to have the most up-to-date version of cake. It really has been a while since I’ve been able to work on it.
You’ll need to build the kernel with “sch_cake” or “sch_cake2” turned on. If you copy over your existing kernel config and run “make oldconfig”, you should get asked about them (as well as other things).
You’ll also need a patched version of the iproute2 utilities to configure cake. Patches here:
http://snapon.lab.bufferbloat.net/~d/codel_patches/iproute_patches.tgz
Then it’s as simple as running:
# tc qdisc replace dev ethX root cake besteffort bandwidth yyyyKbps atm
That will take care of your outbound traffic, if you replace “ethX” and “yyyy” with whatever is appropriate (and “cake2” if you built that version). If you have control of both ends of the link, then you can do the same thing to handle inbound traffic.
If you only have control of one end of the link, you’ll need to use ingress shaping to handle inbound traffic. This is a little bit more complicated to set up (via an Intermediate Functional Block device) than the usual egress shaping, and has a couple of disadvantages, but it does work and does help:
# ifconfig ifb0 up
# tc qdisc replace dev ethX handle ffff: ingress
# tc filter add dev ethX parent ffff: protocol all u32 match u32 0 0 action mirred egress redirect dev ifb0
# tc qdisc replace dev ifb0 root cake besteffort bandwidth zzzzKbps atm
Both yyyy and zzzz should be slightly below your actual link rates, to ensure that cake controls the bottleneck queue. The “atm” flag is there to take account of ATM framing, which ADSL uses. You can experiment with the precise rates without disrupting existing traffic flows:
# tc -s qdisc
(the above is to look up the correct handle figures to use below)
# tc qdisc change dev xxxx handle N:M cake bandwidth ...
Have fun!
- Jonathan Morton
next prev parent reply other threads:[~2015-03-17 21:33 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-17 20:08 Jonathan Morton
[not found] ` <1426624485.8558.63.camel@capibara.fcal.uner.edu.ar>
2015-03-17 21:33 ` Jonathan Morton [this message]
2015-03-17 22:38 ` Dave Taht
2015-03-18 7:28 ` Sebastian Moeller
2015-03-18 7:22 ` [Cerowrt-devel] [Codel] " Sebastian Moeller
2015-03-18 8:41 ` Jonathan Morton
2015-03-18 10:39 ` Sebastian Moeller
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
List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CFA16392-AAB3-42A4-A0AA-E45E80E825BB@gmail.com \
--to=chromatix99@gmail.com \
--cc=cerowrt-devel@lists.bufferbloat.net \
--cc=pasqualinic@fcal.uner.edu.ar \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox