On Fri, Jul 22, 2022 at 11:39:49AM +0200, Kumar Kartikeya Dwivedi wrote: > On Fri, 22 Jul 2022 at 11:02, Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> wrote: > > > > Hi, > > > > On Thu, Jul 21, 2022 at 03:42:39PM +0200, Kumar Kartikeya Dwivedi wrote: > > > diff --git a/include/net/netfilter/nf_conntrack_core.h b/include/net/netfilter/nf_conntrack_core.h > > > index 37866c8386e2..83a60c684e6c 100644 > > > --- a/include/net/netfilter/nf_conntrack_core.h > > > +++ b/include/net/netfilter/nf_conntrack_core.h > > > @@ -84,4 +84,19 @@ void nf_conntrack_lock(spinlock_t *lock); > > > > > > extern spinlock_t nf_conntrack_expect_lock; > > > > > > +/* ctnetlink code shared by both ctnetlink and nf_conntrack_bpf */ > > > + > > > +#if (IS_BUILTIN(CONFIG_NF_CONNTRACK) && IS_ENABLED(CONFIG_DEBUG_INFO_BTF)) || \ > > > + (IS_MODULE(CONFIG_NF_CONNTRACK) && IS_ENABLED(CONFIG_DEBUG_INFO_BTF_MODULES) || \ > > > + IS_ENABLED(CONFIG_NF_CT_NETLINK)) > > > > There must be a better way to do this without ifdef pollution? > > > > Could you fix this? > > I can just remove the ifdefs completely. The first part of the ifdef > is the correct way to detect BPF support for nf_conntrack, the second > is for ct netlink. These are the only two users. But it's not a lot of > code, so until it grows too much we can compile it unconditionally. I would suggest to compile in these small functions unconditionally. > Or do you have anything else in mind (like defining a macro for the > bpf one and making the ifdef look less ugly)? it's the ifdef pollution that it would be good to avoid IMO.