[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ab19689f-c77e-4750-ba8a-b222ba4909d2@orange.com>
Date: Sat, 9 Nov 2024 19:59:58 +0100
From: Alexandre Ferrieux <alexandre.ferrieux@...il.com>
To: Jamal Hadi Salim <jhs@...atatu.com>,
Alexandre Ferrieux <alexandre.ferrieux@...il.com>
Cc: edumazet@...gle.com, xiyou.wangcong@...il.com, jiri@...nulli.us,
netdev@...r.kernel.org
Subject: Re: [PATCH net v3] net: sched: cls_u32: Fix u32's systematic failure
to free IDR entries for hnodes.
On 09/11/2024 14:07, Jamal Hadi Salim wrote:
>
> BTW, what is your interest in u32? I am always curious about use
> cases. I gave a talk here:
> https://netdevconf.info/0x13/session.html?talk-tc-u-classifier
In first approximation, my motivation for u32 is very akin to your humorous
depiction pitting flower-for-humans against u32-for-machines... more seriously,
genericity is my primary concern, and I'm instantly convinced by the notion of a
scriptable mechanism that is really universal, as in "parse my custom protocol
without writing a kernel module".
Now today there is also nftables in raw payload mode, and with its hashing
features it might be possible to emulate a full u32 graph of hnodes/knodes. Not
sure about the perf though. And of course, in case of hardware offload, u32 wins.
I am also aware of tc-bpf. For trivial things without hash, directly writing the
cBPF assembly by hand is a serious contender. But if a hash is needed you must
go eBPF, with its heavier infrastructure.
Overall, it seems to me u32 still sits at a "sweet spot" of the
flexibility-performance tradeoff. Its actual usability by mortals is another
story, as Tom hinted at in the QA session of your talk :)
Powered by blists - more mailing lists