This patch corrects the issue I was running into.
Thank you!
December 27, 2021 10:00 AM, "Florian Obser" <florian@openbsd.org> wrote:
> On 2021-12-26 19:43 UTC, mgraves@brainfat.net 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.
No comments:
Post a Comment