[Dnsmasq-discuss] DHCPv6 - network booting 'address in use'

Harald Jensas hjensas at redhat.com
Wed Sep 15 06:23:47 UTC 2021

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

Harald Jensås

More information about the Dnsmasq-discuss mailing list