On 2021-12-26 19:43 UTC, [email protected] wrote:
> So my question is, is this expected behavior? When the router advertisement
> does not have a router and
> thus sets the router lifetime to 0 (as it should), should slaacd ignore
> advertisement? Or should
> it still configure an IP address?
It should still form an autoconf address, this is a bug in slaacd.
This should fix it. The diff only removes if (ra->router_lifetime != 0)
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.