diff options
author | Mike Manning <mmanning@brocade.com> | 2017-03-01 04:55:28 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-22 07:43:32 -0400 |
commit | fa7c48fb3ad1744dab7a9a2783ae589bd87b732b (patch) | |
tree | 97dbdd94ff7d991c12f9a968d16668567d127604 | |
parent | bbaeb9b73fa890dd7a6fa379a7e4822687643a4e (diff) |
net: bridge: allow IPv6 when multicast flood is disabled
[ Upstream commit 8953de2f02ad7b15e4964c82f9afd60f128e4e98 ]
Even with multicast flooding turned off, IPv6 ND should still work so
that IPv6 connectivity is provided. Allow this by continuing to flood
multicast traffic originated by us.
Fixes: b6cb5ac8331b ("net: bridge: add per-port multicast flood flag")
Cc: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: Mike Manning <mmanning@brocade.com>
Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-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 7cb41aee4c82..8498e3503605 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 */ |