All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Ferrieux <alexandre.ferrieux@gmail.com>
To: Jamal Hadi Salim <jhs@mojatatu.com>,
	Alexandre Ferrieux <alexandre.ferrieux@gmail.com>
Cc: edumazet@google.com, xiyou.wangcong@gmail.com, jiri@resnulli.us,
	netdev@vger.kernel.org
Subject: Re: [PATCH net v3] net: sched: cls_u32: Fix u32's systematic failure to free IDR entries for hnodes.
Date: Sat, 9 Nov 2024 19:59:58 +0100	[thread overview]
Message-ID: <ab19689f-c77e-4750-ba8a-b222ba4909d2@orange.com> (raw)
In-Reply-To: <CAM0EoM=yX4yWrSrxU4PxVje9E-Qh1GcXkwWRqLybNmQhLXEaHg@mail.gmail.com>

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 :)



      reply	other threads:[~2024-11-09 19:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-06 14:32 [PATCH net v3] net: sched: cls_u32: Fix u32's systematic failure to free IDR entries for hnodes Alexandre Ferrieux
2024-11-07 14:45 ` Jamal Hadi Salim
2024-11-07 14:47   ` Jamal Hadi Salim
2024-11-07 22:58     ` Alexandre Ferrieux
2024-11-07 23:14       ` Alexandre Ferrieux
2024-11-09 13:07         ` Jamal Hadi Salim
2024-11-09 18:59           ` Alexandre Ferrieux [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ab19689f-c77e-4750-ba8a-b222ba4909d2@orange.com \
    --to=alexandre.ferrieux@gmail.com \
    --cc=edumazet@google.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=netdev@vger.kernel.org \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.