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.