[Cake] Using cake to shape 1000’s of users.

Pete Heist pete at heistp.net
Mon Jul 30 06:55:30 EDT 2018



> On Jul 30, 2018, at 12:09 PM, Sebastian Moeller <moeller0 at gmx.de> wrote:
>>> 
>>> You could assign more than one queue per customer and hash traffic
>>> between them in BPF…
>> 
>> True. There will always be that limit of 1024 (in my case I’ll need 800).
> 
> I believe all you needto do is change the following in scg_cake.c:
> #define CAKE_QUEUES (1024)
> 
> Now I heard reports that above a certain number this breaks, but it might be enough for 32K or even 64k, or ~32 to 64 queues per customer, which might already help to spread out things a bit...

That’s true, I could try it. I could also add to the classifier the ability to spread one subscriber across multiple queues, as Toke suggested. You’d have to specify how many queues you’ve compiled Cake with (defaults to 1024), and it would spread subscribers across the available classids evenly. I suppose the userspace tool is right place to do this even in ISP Cake, as updates can be made pretty easily to a global BPF map without restarting the qdisc, and further customizations are possible for those writing their own eBPF without qdisc changes.

We’ll eventually want to handle changing the number of queues in ISP Cake somehow so people don’t have to change and re-compile. Should become a tc parameter instead of a define? I guess it comes back to the question of “new qdisc or not”…

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20180730/d201b56c/attachment.html>


More information about the Cake mailing list