Эх сурвалжийг харах

[NETFILTER]: bridge: fix double POSTROUTING hook invocation

Packets routed between bridges have the POST_ROUTING hook invoked
twice since bridging mistakes them for bridged packets because
they have skb->nf_bridge set.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy 17 жил өмнө
parent
commit
81d9ddae85

+ 3 - 0
net/bridge/br_netfilter.c

@@ -766,6 +766,9 @@ static unsigned int br_nf_post_routing(unsigned int hook, struct sk_buff *skb,
 	if (!nf_bridge)
 	if (!nf_bridge)
 		return NF_ACCEPT;
 		return NF_ACCEPT;
 
 
+	if (!(nf_bridge->mask & (BRNF_BRIDGED | BRNF_BRIDGED_DNAT)))
+		return NF_ACCEPT;
+
 	if (!realoutdev)
 	if (!realoutdev)
 		return NF_DROP;
 		return NF_DROP;