On 9/14/21 21:12, Geert Stappers via Dnsmasq-discuss wrote:
On Tue, Sep 14, 2021 at 04:58:10PM +0200, Harald Jensas wrote:
Hi,
We are seeing an issue whit network booting over DHCPv6 is failing.
The UEFI firmware is starting two DHCPv6 transactions, with separate IAID's.
Initially one transactions succeeds, while the other transaction fails
because the same address (fd42::200) is advertised.
On error, the client tries to recover by restarting the transaction with a
new SOLICIT, the second address (fd42::201) in the host's range
[fd42::200/126] is advertised by dnsmasq.
Despite requesting the second address, the dnsmasq is refusing the lease:
dnsmasq-dhcp: 14744450 nest size: 16 option: 13 status 1 address in use
dnsmasq-dhcp: 14744450 sent size: 24 option: 13 status 2 no addresses available
Why the /126?
When network booting with DHCPv6 different stages in the boot process
may not use the same IAID. The /126 reseves a range of IPv6 address to
the host, in the case where the previous stage in the chain did not
release it's lease allocating a range ensures there are addresses
available for the subseqent steps. Ref the 2.81 changelog:
version 2.81
Support prefixed ranges of ipv6 addresses in dhcp-host.
This eases problems chain-netbooting, where each link in the
chain requests an address using a different UID. With a single
address, only one gets the "static" address, but with this
fix, enough addresses can be reserved for all the stages of the
boot.
--
Harald Jensås
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss