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

Reply via email to