[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
boot.
--
Harald Jensås
More information about the Dnsmasq-discuss
mailing list