diff options
| author | Satish Ashok <sashok@cumulusnetworks.com> | 2015-07-09 04:12:45 -0700 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2015-07-10 18:18:00 -0700 | 
| commit | 51ed7f3e7d33824820837ad784801973f147c51a (patch) | |
| tree | 61af19d93fa33f1a86ca86b8c867c47c70ec5d55 /net | |
| parent | 7234e030194ccc27c48d3bde1ad66e1729c55a7d (diff) | |
| download | linux-51ed7f3e7d33824820837ad784801973f147c51a.tar.bz2 | |
bridge: mdb: allow the user to delete mdb entry if there's a querier
Until now when a querier was present static entries couldn't be deleted.
Fix this and allow the user to manipulate the mdb with or without a
querier.
Signed-off-by: Satish Ashok <sashok@cumulusnetworks.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
| -rw-r--r-- | net/bridge/br_mdb.c | 11 | 
1 files changed, 2 insertions, 9 deletions
| diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c index 60868c212679..c11cf2611db0 100644 --- a/net/bridge/br_mdb.c +++ b/net/bridge/br_mdb.c @@ -423,19 +423,12 @@ static int __br_mdb_del(struct net_bridge *br, struct br_mdb_entry *entry)  	memset(&ip, 0, sizeof(ip));  	ip.proto = entry->addr.proto; -	if (ip.proto == htons(ETH_P_IP)) { -		if (timer_pending(&br->ip4_other_query.timer)) -			return -EBUSY; - +	if (ip.proto == htons(ETH_P_IP))  		ip.u.ip4 = entry->addr.u.ip4;  #if IS_ENABLED(CONFIG_IPV6) -	} else { -		if (timer_pending(&br->ip6_other_query.timer)) -			return -EBUSY; - +	else  		ip.u.ip6 = entry->addr.u.ip6;  #endif -	}  	spin_lock_bh(&br->multicast_lock);  	mdb = mlock_dereference(br->mdb, br); |