[Cake] Running Cake at long RTTs

Toke Høiland-Jørgensen toke at toke.dk
Wed Oct 28 12:34:07 EDT 2015

Sebastian Moeller <moeller0 at gmx.de> writes:

> Hi Toke,
> On Oct 28, 2015, at 16:36 , Toke Høiland-Jørgensen <toke at toke.dk> wrote:
>> Sebastian Moeller <moeller0 at gmx.de> writes:
>>> Except I requested rtf 120 ms and got 122.7, which admittedly is
>>> close. I know I repeat myself, but on of the is one things that
>>> irritate me in software is if software silently pretends to know
>>> better… Now 122.7 versus 120 might be in the noise, but look at that:
>> I don't remember from where, but I suspect there's something wrong with
>> the 'change' logic in Cake. Can you try removing the qdisc completely,
>> then re-adding it, rather than doing a straight replace?
> Good point:
> moeller at happy-horse:~/CODE/sch_cake> sudo tc-toke qdisc replace dev eth0 root pfifo_fast
> moeller at happy-horse:~/CODE/sch_cake> sudo tc-toke qdisc replace dev eth0 root cake bandwidth 1Mbit besteffort rtt 100ms ; sudo tc-toke -s qdisc

Right, so there's definitely a bug in the 'change' logic.

> Just 95 is not equal to 100 either…

That's also a bug as far as I'm concerned.

> At least in full automatic mode I would have assumed cake would also
> increase the interval according to the available bandwidth in the
> different Tins...

What has the interval got to do with the bandwidth? There's definitely
some value in capping the target to be at least the time it takes to
transmit one MTU's worth of data.

> All the additional parameters are there to tweak and experiment. So I
> argue exposing knobs is not making it difficult to configure as long
> as nobody needs to touch these (I also volunteer to make the tc help
> more specific in that regard…)

If no one needs to touch them, why are they there? At best that will
just make things break when they bitrot.

I can see how getting around the need for the encapsulation variables is
going to be hard; but for the target, I am not sure I see the value in
exposing this for "experimentation". If we are sure that the relation
between target and interval should be fixed (and I'm not entirely
convinced of that yet, but will think about it some more), then exposing
target is just going to enable invalid configurations.


More information about the Cake mailing list