Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > On 8/31/22 7:26 PM, Alexei Starovoitov wrote: > > On Wed, Aug 31, 2022 at 8:53 AM Florian Westphal <fw@xxxxxxxxx> wrote: > > As a minimum we shouldn't step on the same rakes. > > xt_ebpf would be the same dead code as xt_bpf. > > +1, and on top, the user experience will just be horrible. :( Compared to what? > > > If you are open to BPF_PROG_TYPE_NETFILTER I can go that route > > > as well, raw bpf program attachment via NF_HOOK and the bpf dispatcher, > > > but it will take significantly longer to get there. > > > > > > It involves reviving > > > https://lore.kernel.org/netfilter-devel/20211014121046.29329-1-fw@xxxxxxxxx/ > > > > I missed it earlier. What is the end goal ? > > Optimize nft run-time with on the fly generation of bpf byte code ? > > Or rather to provide a pendant to nft given existence of xt_bpf, and the > latter will be removed at some point? (If so, can't we just deprecate the > old xt_bpf?) See my reply to Alexey, immediate goal was to get rid of the indirect calls by providing a tailored/jitted equivalent of nf_hook_slow(). The next step could be to allow implementation of netfilter hooks (i.e., kernel modules that call nf_register_net_hook()) in bpf but AFAIU it requires addition of BPF_PROG_TYPE_NETFILTER etc. After that, yes, one could think about how to jit nft_do_chain() and all the rest of the nft machinery.