Florian Westphal
2019-Sep-03 19:48 UTC
[Bridge] [PATCH v4 1/2] netfilter: Terminate rule eval if protocol=IPv6 and ipv6 module is disabled
Pablo Neira Ayuso <pablo at netfilter.org> wrote:> > > I was expecting we could find a way to handle this from br_netfilter > > > alone itself. > > > > We can't because we support ipv6 fib lookups from the netdev family > > as well. > > > > Alternative is to auto-accept ipv6 packets from the nf_tables eval loop, > > but I think its worse. > > Could we add a restriction for nf_tables + br_netfilter + !ipv6. I > mean, if this is an IPv6 packet, nf_tables is on and IPv6 module if > off, then drop this packet?We could do that from nft_do_chain_netdev().
Pablo Neira Ayuso
2019-Sep-03 20:19 UTC
[Bridge] [PATCH v4 1/2] netfilter: Terminate rule eval if protocol=IPv6 and ipv6 module is disabled
On Tue, Sep 03, 2019 at 09:48:09PM +0200, Florian Westphal wrote:> Pablo Neira Ayuso <pablo at netfilter.org> wrote: > > > > I was expecting we could find a way to handle this from br_netfilter > > > > alone itself. > > > > > > We can't because we support ipv6 fib lookups from the netdev family > > > as well. > > > > > > Alternative is to auto-accept ipv6 packets from the nf_tables eval loop, > > > but I think its worse. > > > > Could we add a restriction for nf_tables + br_netfilter + !ipv6. I > > mean, if this is an IPv6 packet, nf_tables is on and IPv6 module if > > off, then drop this packet? > > We could do that from nft_do_chain_netdev().Indeed, this is all about the netdev case. Probably add something similar to nf_ip6_route() to deal with ip6_route_lookup() case? This is the one trigering the problem, right? BTW, how does nft_fib_ipv6 module kicks in if ipv6 module is not loaded? The symbol dependency would pull in the IPv6 module anyway.