> On Apr 6, 2017, at 11:33 AM, Toke Høiland-Jørgensen wrote: > > Once upon a time I implemented something like this; it was basically a > PHP script that would generate an HTB bucket (with sfq as leaf qdisc; > this was pre-fq_codel) per subscriber ID and use tc filter to map the > list of IPs registered to that customer into the right bucket. The HTB > shaper was used to enforce the bandwidth each customer was paying for. > > Did it work? Yup, mostly. Was it ugly? Oh boy, yes! Oh my, ok, so it is possible. It can take a while to apply many qdiscs and filters on lower end devices, so I picture some delay while modifying the list or restarting the routers, but I’m just exploring options now, so it is one. > The fq_codel qdisc does have support for arbitrary tc filters to replace > the default hashing, BTW. If you don't need the cake shaper, that might > be a solution? I see, I found mention of it in Chapter 6 of a draft RFC that it looks like you wrote, actually (https://tools.ietf.org/html/draft-ietf-aqm-fq-codel-06#section-6 ). :) To try it out, am I heading the right direction by looking at tc filter’s skbedit action, or is that just for MQ devices? (http://man7.org/linux/man-pages/man8/tc-skbedit.8.html ) I also saw this mention of “We are not aware of any deployments utilising the custom classification feature" https://tools.ietf.org/html/draft-ietf-aqm-fq-codel-02#section-5.1.1 , so not sure how often this has been tried. :) Cake is not a requirement yet. I like it for several of its attributes (good performance with high numbers of flows, and also when “over-limiting”, which I’ll explain more in my next round of point-to-point WiFi results).