Re: [PATCH net-next v1 0/5] TC: Introduce qevents
From: Petr Machata <hidden>
Date: 2020-06-29 19:18:41
Stephen Hemminger [off-list ref] writes:
On Sat, 27 Jun 2020 01:45:24 +0300 Petr Machata [off-list ref] wrote:quoted
The Spectrum hardware allows execution of one of several actions as a result of queue management decisions: tail-dropping, early-dropping, marking a packet, or passing a configured latency threshold or buffer size. Such packets can be mirrored, trapped, or sampled. Modeling the action to be taken as simply a TC action is very attractive, but it is not obvious where to put these actions. At least with ECN marking one could imagine a tree of qdiscs and classifiers that effectively accomplishes this task, albeit in an impractically complex manner. But there is just no way to match on dropped-ness of a packet, let alone dropped-ness due to a particular reason.Would a BPF based hook be more flexible and reuse more existing infrastructure?
This does reuse the existing infrastructure though: filters, actions, shared blocks, qdiscs invoking blocks, none of that is new. And BPF can still be invoked though classifier and / or action bpf. It looks like you get the best of both worlds here: something symbolic for those of us that use the filter infrastructure, and a well-defined hook for those of us who like the BPF approach.