netdev
[Top] [All Lists]

MLDv1 /proc/net/igmp6 timer printing [PATCH]

To: davem@xxxxxxxxxx, netdev@xxxxxxxxxxx
Subject: MLDv1 /proc/net/igmp6 timer printing [PATCH]
From: David Stevens <dlstevens@xxxxxxxxxx>
Date: Tue, 18 Nov 2003 21:55:40 -0700
Importance: Normal
Sender: netdev-bounce@xxxxxxxxxxx
Sensitivity:



Dave,
      This is a bug, but mostly cosmetic, and it appears to have
been there forever. It wasted a couple minutes for me because I
expected the igmp6 file would list the timer correctly when it's
running, but because of this bug, it doesn't. Let me know if I should
hold it until later.
      The problem is the IPv6 multicast address flag
"MAF_TIMER_RUNNING" is set on a join_group, and cleared
by a report, but is never set again (e.g., from a query). The timer
is set and running, but the /proc entry won't show it because it
only reports the time left on the timer if the flag is set.
      Fix is to set the flag when the timer is set.

                        +-DLS

--- linux-2.6.0-test9-bk12/net/ipv6/mcast.c     2003-11-07 14:13:21.000000000 
-0800
+++ linux-2.6.0-test9-bk12F1/net/ipv6/mcast.c   2003-11-18 20:38:00.000000000 
-0800
@@ -978,6 +978,7 @@
      ma->mca_timer.expires = jiffies + delay;
      if (!mod_timer(&ma->mca_timer, jiffies + delay))
            atomic_inc(&ma->mca_refcnt);
+     ma->mca_flags |= MAF_TIMER_RUNNING;
 }

 static void mld_marksources(struct ifmcaddr6 *pmc, int nsrcs,

(See attached file: mldtr.patch)

Attachment: mldtr.patch
Description: Binary data

<Prev in Thread] Current Thread [Next in Thread>