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.

Reply via email to