[Cake] issue with Cake and bpf filter

Toke Høiland-Jørgensen toke at toke.dk
Wed Aug 22 05:37:09 EDT 2018


Pete Heist <pete at heistp.net> writes:

>> On Aug 22, 2018, at 8:17 AM, Jonathan Morton <chromatix99 at gmail.com> wrote:
>> 
>>> On 22 Aug, 2018, at 12:06 am, Pete Heist <pete at heistp.net> wrote:
>>> 
>>> when fq_codel is the qdisc, the eBPF action is only called "once in a while”
>> 
>> One difference between fq_codel and Cake is that the former - which
>> has no shaper - will "bypass" packets when it's empty and there's no
>> back-pressure filling it. In that case no packet classification
>> occurs and filters will not be called. Or at least, that's how it
>> used to be set up; I haven't looked at it recently. Cake does not
>> rely on the same set of assumptions, so will always call the filter.
>
> Aha, that sounds likely, I’ll try with htb and a rate limit. Testing
> with fq_codel was challenging as I had to “do stuff” until my printk’s
> were eventually called, but it’s easier now that I can use cake. I
> suppose in my case fq_codel’s behavior would be ok in production,
> because if there’s no queue then there’s no need to classify. Maybe in
> some other cases (like gathering stats), it could be problematic.

fq_codel turns off the bypass capability if you attach a tc filter to
it, though, so if the issue you're seeing is that you filter function is
not being called, that sounds... strange...

How do you check if the function is being called?

-Toke


More information about the Cake mailing list