Commit 911fb28e authored by Satish Ashok's avatar Satish Ashok Committed by Luis Henriques

bridge: multicast: restore router configuration on port link down/up

commit 754bc547 upstream.

When a port goes through a link down/up the multicast router configuration
is not restored.
Signed-off-by: default avatarSatish Ashok <sashok@cumulusnetworks.com>
Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Fixes: 0909e117 ("bridge: Add multicast_router sysfs entries")
Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
parent cbd7c774
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
static void br_multicast_start_querier(struct net_bridge *br, static void br_multicast_start_querier(struct net_bridge *br,
struct bridge_mcast_own_query *query); struct bridge_mcast_own_query *query);
static void br_multicast_add_router(struct net_bridge *br,
struct net_bridge_port *port);
unsigned int br_mdb_rehash_seq; unsigned int br_mdb_rehash_seq;
static inline int br_ip_equal(const struct br_ip *a, const struct br_ip *b) static inline int br_ip_equal(const struct br_ip *a, const struct br_ip *b)
...@@ -935,6 +937,8 @@ void br_multicast_enable_port(struct net_bridge_port *port) ...@@ -935,6 +937,8 @@ void br_multicast_enable_port(struct net_bridge_port *port)
#if IS_ENABLED(CONFIG_IPV6) #if IS_ENABLED(CONFIG_IPV6)
br_multicast_enable(&port->ip6_own_query); br_multicast_enable(&port->ip6_own_query);
#endif #endif
if (port->multicast_router == 2 && hlist_unhashed(&port->rlist))
br_multicast_add_router(br, port);
out: out:
spin_unlock(&br->multicast_lock); spin_unlock(&br->multicast_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment