[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230307201156.GF13059@breakpoint.cc>
Date: Tue, 7 Mar 2023 21:11:56 +0100
From: Florian Westphal <fw@...len.de>
To: Daniel Xu <dxu@...uu.xyz>
Cc: Alexei Starovoitov <alexei.starovoitov@...il.com>,
bpf <bpf@...r.kernel.org>,
"open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@...r.kernel.org>,
Network Development <netdev@...r.kernel.org>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>, pablo@...filter.org,
kadlec@...filter.org, fw@...len.de, daniel@...earbox.net
Subject: Re: [PATCH bpf-next v2 0/8] Support defragmenting IPv(4|6) packets
in BPF
Daniel Xu <dxu@...uu.xyz> wrote:
> From my reading (I'll run some tests later) it looks like netfilter
> will defrag all ipv4/ipv6 packets in any netns with conntrack enabled.
> It appears to do so in NF_INET_PRE_ROUTING.
Yes, and output.
> One thing we would need though are (probably kfunc) wrappers around
> nf_defrag_ipv4_enable() and nf_defrag_ipv6_enable() to ensure BPF progs
> are not transitively depending on defrag support from other netfilter
> modules.
>
> The exact mechanism would probably need some thinking, as the above
> functions kinda rely on module_init() and module_exit() semantics. We
> cannot make the prog bump the refcnt every time it runs -- it would
> overflow. And it would be nice to automatically free the refcnt when
> prog is unloaded.
Probably add a flag attribute that is evaluated at BPF_LINK time, so
progs can say they need defrag enabled. Same could be used to request
conntrack enablement.
Will need some glue on netfilter side to handle DEFRAG=m, but we already
have plenty of those.
Powered by blists - more mailing lists