[Cake] overhead and mpu

Ryan Mounce ryan at mounce.com.au
Tue Sep 5 10:37:49 EDT 2017

On 5 September 2017 at 18:28, Sebastian Moeller <moeller0 at gmx.de> wrote:
> Hi Kevin,
>> On Sep 5, 2017, at 10:35, Kevin Darbyshire-Bryant <kevin at darbyshire-bryant.me.uk> wrote:
>> On 05/09/17 09:01, Sebastian Moeller wrote:
>> <snip>
>>>      I believe this is used internally so cake can deduce the size of the automatically added overhead (the linux kernel will add 14 bytes on ethernet interfaces automatically, which while certainly justifiable are not the ideal value for an ethernet shaper); with this cake allows the user to specify absolute overhead (so if you specify overhead 18, cake will give you 14 - 14 + 18 = 18, while tc's stab method will give you 14 + 18  = 32). So cake is doing the right thing here (the only thing it could do even better is to report the size of the automatically corrected in-kernel hard_header_len, but then the audience for that information is probably to small to justify this feature).
>> Actually for the sake of a one line change in the tc code it is an extremely useful confidence boost and info source as to just what linux thinks the overhead actually is:
>>               // This is actually the *amount* of automatic compensation, but we only report
>>               // its presence as a boolean for now.
>>               if (ethernet)
>> -                      fprintf(f, "via-ethernet ");
>> +                      fprintf(f, "via-ethernet(%d) ", ethernet);
>> I've run that in a local patch to tc on LEDE for AGES.  Very useful.
>         That sounds like it would be a great addition, since the information is already collected... For what it is worth I would vote for adding this... (to the version that should be upstreamed ;) )


It would also be nice for tc to know whether the overhead has been
explicitly configured and report appropriately. In my case I use cake
on a VLAN sub-interface that happens to have a hard_header_len of 18
after the 802.1q tag, and then use the docsis keyword to more
explicitly configure the overhead in case I move to an untagged
interface in the future. tc -s qdisc can't tell the difference and
reports 'raw mpu 64' rather than 'overhead 18 mpu 64'.

> Best Regards
>         Sebastian
>> Kevin
>> _______________________________________________
>> Cake mailing list
>> Cake at lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cake
> _______________________________________________
> Cake mailing list
> Cake at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake

More information about the Cake mailing list