]> git.karo-electronics.de Git - linux-beck.git/commitdiff
netfilter: bridge: fix IPv6 packets not being bridged with CONFIG_IPV6=n
authorBernhard Thaler <bernhard.thaler@wvnet.at>
Thu, 13 Aug 2015 06:58:15 +0000 (08:58 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 19 Aug 2015 19:21:41 +0000 (21:21 +0200)
230ac490f7fba introduced a dependency to CONFIG_IPV6 which breaks bridging
of IPv6 packets on a bridge with CONFIG_IPV6=n.

Sysctl entry /proc/sys/net/bridge/bridge-nf-call-ip6tables defaults to 1,
for this reason packets are handled by br_nf_pre_routing_ipv6(). When compiled
with CONFIG_IPV6=n this function returns NF_DROP but should return NF_ACCEPT
to let packets through.

Change CONFIG_IPV6=n br_nf_pre_routing_ipv6() return value to NF_ACCEPT.

Tested with a simple bridge with two interfaces and IPv6 packets trying
to pass from host on left side to host on right side of the bridge.

Fixes: 230ac490f7fba ("netfilter: bridge: split ipv6 code into separated file")
Signed-off-by: Bernhard Thaler <bernhard.thaler@wvnet.at>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/br_netfilter.h

index bab824bde92cabccb025a7de9030d033be1ffd7e..d4c6b5f30acd936d863b1a5a5e89ef2443ad3943 100644 (file)
@@ -59,7 +59,7 @@ static inline unsigned int
 br_nf_pre_routing_ipv6(const struct nf_hook_ops *ops, struct sk_buff *skb,
                       const struct nf_hook_state *state)
 {
-       return NF_DROP;
+       return NF_ACCEPT;
 }
 #endif