Stephen Hemminger <step...@networkplumber.org> writes:
> On Sat, 27 Jun 2020 01:45:24 +0300 > Petr Machata <pe...@mellanox.com> wrote: > >> 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.