On Wed, Sep 21, 2016 at 01:23:25PM +0100, Stuart Henderson wrote: > There's a problem with this: we lose the exponential backoff for the > quick timer. Say you have v6 at home and enable autoconf on your laptop > then move to a network without v6 - this results in you spamming the > network with a multicast frame every second, which does not make you > a good network citizen especially if that's on a wireless lan. > [...] > I think the current state is quite a lot worse than the previous one > (even though it's better on networks that *do* have v6), so I'm wondering > if it might be better to revert if it's complicated to fix here (there > was a different plan for sending RS in the future anyway wasn't there?)
does this help? If not, I guess we should back it out diff --git nd6_rtr.c nd6_rtr.c index a7529c9..3c23365 100644 --- nd6_rtr.c +++ nd6_rtr.c @@ -328,7 +328,8 @@ nd6_rs_output_timo(void *ignored_arg) t = nd6_rs_next_pltime_timo(ifp); if (t == ND6_INFINITE_LIFETIME || t < ND6_RS_OUTPUT_INTERVAL) { - timeout = ND6_RS_OUTPUT_QUICK_INTERVAL; + if (t == ND6_INFINITE_LIFETIME) + timeout = ND6_RS_OUTPUT_QUICK_INTERVAL; ia6 = in6ifa_ifpforlinklocal(ifp, IN6_IFF_TENTATIVE); if (ia6 != NULL) -- I'm not entirely sure you are real.