[Cake] flow isolation for ISPs

Pete Heist peteheist at gmail.com
Thu Apr 6 07:34:08 EDT 2017


> On Apr 6, 2017, at 12:50 PM, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
> 
> Pete Heist <peteheist at gmail.com <mailto:peteheist at gmail.com>> writes:
> 
>> 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. :)
> 
> Yeah, haven't actually heard of anyone using the feature in production.
> It's basically this section from the 'classful qdiscs' section of 'man
> tc':
> 
>       When a packet enters a classful qdisc it can be classified to one of the classes within. Three criteria are available, although not all qdiscs will use all three:
> 
>       tc filters
>              If tc filters are attached to a class, they are consulted first for relevant instructions. Filters can match on all fields of a packet header, as well as on the firewall mark applied by ipchains or iptables.
> 
> So you can basically use the full capabilities of tc-filter in place of
> the built-in hashing of fq_codel. The tc-u32 man page has some examples,
> which is probably a good starting point.
> 
> If you do try this out and feel like writing up a small
> example/tutorial, I'm happy to add a link (or the whole thing) somewhere
> on bufferbloat.net <http://bufferbloat.net/> :)

Sure, if I get it working I’ll include an example in my paper, but I’m still a little confused. Is fq_codel actually a classful qdisc?

I get the part about matching with tc-filter and the u32 selector (as intuitive as that is :), but am not sure of the action the filter needs to take. However, I do see the example towards the bottom of the tc-u32 man page where a hash table is created and filters move packets into the right buckets. Perhaps it will be eventually decipherable from this… :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20170406/74d0b1c8/attachment.html>


More information about the Cake mailing list