Thread (12 messages) 12 messages, 2 authors, 2013-05-10

Re: [Patch net-next v3 2/3] bridge: only expire the mdb entry when query is received

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2013-05-03 04:01:08

On Fri, May 03, 2013 at 11:50:22AM +0800, Cong Wang wrote:
On Thu, 2013-05-02 at 09:59 +0800, Herbert Xu wrote:
quoted
On Tue, Apr 30, 2013 at 03:10:18PM +0800, Cong Wang wrote:
quoted
@@ -1275,7 +1277,7 @@ static void br_multicast_leave_group(struct net_bridge *br,
 		     br->multicast_last_member_interval;
 
 	if (!port) {
-		if (mp->mglist &&
+		if (mp->mglist && mp->timer_armed &&
 		    (timer_pending(&mp->timer) ?
 		     time_after(mp->timer.expires, time) :
 		     try_to_del_timer_sync(&mp->timer) >= 0)) {
This whole section of code should now be removed since we're now
only arming the timer in response to a query to that group.  Of
course if we were the querier and sent out a query here then you'd
need to simulate the reception of a query.
Hmm, this piece of code is checking if bridge itself is in the mdb entry
and if it just receives a leave, which seems still necessary... What am
I missing?
I think I quoted the wrong hunk in the patch, I meant the code
that arms the timer should no longer be in the leave_group function
unless we just sent a query ourselves (and in that case the expiration
should also be adjusted accordingly).

Cheers,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help