[ipxe-devel] iPXE ipv6 autoconf with multiple Router Advertisements

Michael Brown mcb30 at ipxe.org
Wed Aug 28 15:02:59 UTC 2024


On 28/08/2024 16:29, Sven Wiltink wrote:
> Thanks for the quick response. I think it can be well defined when ipv6 conf
> has been completed, but I'm lacking the C programming skills to implement it.
> 
> We should be able to define ipv6conf as finished when the following statements are true:
> 1) an RA has been received that pushed a prefix with slaac enabled
> 2) an RA has been received that advertises itself as default router (lifetime > 0)
> 
> Once both are true, which can be achieved by the same packet, within the autoconf timeout we are done.
> There is a problem however, the RA packet could trigger dhcpv6 if the O flag is set. In that case
> autoconf is currently terminated when dhcp6 finished. In the new situation that isn't always true as dhcp6
> could still be running before the other RA packet arrives. To prevent this both the processing of the RA
> packets and the ending of dhcp6 should check if all the other parts of autoconf have been completed.
> This means we could define it as finished when:
> 
> 1) an RA has been received that pushed a prefix with slaac enabled
> 2) an RA has been received that advertises itself as default router (lifetime > 0)
> 3) dhcpv6 was triggered and completed successfully
> 
> I'm not sure how this would work in the code or where to add the state, would like to hear
> your thoughts.

It looks as though you are conceptualising those as AND conditions. 
Unfortunately, it's entirely possible that the network is configured 
without any SLAAC-enabled prefixes, so your suggested conditions would 
cause ipv6conf to never terminate on those networks.

Looking forward to your v2 idea.  :)

Thanks,

Michael



More information about the ipxe-devel mailing list