Skip to content

Commit

Permalink
bridge: mdb: allow the user to delete mdb entry if there's a querier
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Satish Ashok authored and davem330 committed Jul 11, 2015
1 parent 7234e03 commit 51ed7f3
Showing 1 changed file with 2 additions and 9 deletions.
11 changes: 2 additions & 9 deletions net/bridge/br_mdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 51ed7f3

Please sign in to comment.