diff options
-rw-r--r-- | net/bridge/br_forward.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c index 6bfac29318f2..902af6ba481c 100644 --- a/net/bridge/br_forward.c +++ b/net/bridge/br_forward.c | |||
@@ -186,8 +186,9 @@ void br_flood(struct net_bridge *br, struct sk_buff *skb, | |||
186 | /* Do not flood unicast traffic to ports that turn it off */ | 186 | /* Do not flood unicast traffic to ports that turn it off */ |
187 | if (pkt_type == BR_PKT_UNICAST && !(p->flags & BR_FLOOD)) | 187 | if (pkt_type == BR_PKT_UNICAST && !(p->flags & BR_FLOOD)) |
188 | continue; | 188 | continue; |
189 | /* Do not flood if mc off, except for traffic we originate */ | ||
189 | if (pkt_type == BR_PKT_MULTICAST && | 190 | if (pkt_type == BR_PKT_MULTICAST && |
190 | !(p->flags & BR_MCAST_FLOOD)) | 191 | !(p->flags & BR_MCAST_FLOOD) && skb->dev != br->dev) |
191 | continue; | 192 | continue; |
192 | 193 | ||
193 | /* Do not flood to ports that enable proxy ARP */ | 194 | /* Do not flood to ports that enable proxy ARP */ |