Prefix life time is independent from router life time.
Form an IPv6 address even if the router announcing the prefix isn't a
default router.
Problem reported by mgraves AT brainfat.net on misc

OK?

diff --git engine.c engine.c
index 81a06cc5528..7a2c11e1bc2 100644
--- engine.c
+++ engine.c
@@ -1749,14 +1749,13 @@ void update_iface_ra(struct slaacd_iface *iface, struct 
radv *ra)
 
        update_iface_ra_dfr(iface, ra);
 
-       if (ra->router_lifetime != 0)
-               LIST_FOREACH(prefix, &ra->prefixes, entries) {
-                       if (!prefix->autonomous || prefix->vltime == 0 ||
-                           prefix->pltime > prefix->vltime ||
-                           IN6_IS_ADDR_LINKLOCAL(&prefix->prefix))
-                               continue;
-                       update_iface_ra_prefix(iface, ra, prefix);
-               }
+       LIST_FOREACH(prefix, &ra->prefixes, entries) {
+               if (!prefix->autonomous || prefix->vltime == 0 ||
+                   prefix->pltime > prefix->vltime ||
+                   IN6_IS_ADDR_LINKLOCAL(&prefix->prefix))
+                       continue;
+               update_iface_ra_prefix(iface, ra, prefix);
+       }
 
        update_iface_ra_rdns(iface, ra);
 }

-- 
I'm not entirely sure you are real.

Reply via email to