bridge: netfilter: Fix dropping packets that moving through bridge interface
authorArtur Molchanov <arturmolchanov@gmail.com>
Fri, 30 Dec 2016 16:46:36 +0000 (19:46 +0300)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 30 Dec 2016 17:22:50 +0000 (18:22 +0100)
Problem:
br_nf_pre_routing_finish() calls itself instead of
br_nf_pre_routing_finish_bridge(). Due to this bug reverse path filter drops
packets that go through bridge interface.

User impact:
Local docker containers with bridge network can not communicate with each
other.

Fixes: c5136b15ea36 ("netfilter: bridge: add and use br_nf_hook_thresh")
Signed-off-by: Artur Molchanov <artur.molchanov@synesis.ru>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/bridge/br_netfilter_hooks.c

index b12501a77f18f6df4f22572ea8885a929d458e0b..135cc8ab813c16bc2e513e0bf81c5da26082553a 100644 (file)
@@ -399,7 +399,7 @@ bridged_dnat:
                                br_nf_hook_thresh(NF_BR_PRE_ROUTING,
                                                  net, sk, skb, skb->dev,
                                                  NULL,
-                                                 br_nf_pre_routing_finish);
+                                                 br_nf_pre_routing_finish_bridge);
                                return 0;
                        }
                        ether_addr_copy(eth_hdr(skb)->h_dest, dev->dev_addr);