I've recently been trying to use dnsmasq IPv6 to network boot, after a number of hurdles the last problem I've been having is that during the boot process (after dnsmasq initially hands out an IP address as part of PXE boot), it starts responding with "no addresses available".
The problem I'm hitting is that the IAID and the ClientID in the dhcp request changes during the process, - the IAID being used in PXE generated by the OVMF UEFI firmware is a function including a time based seed[1] - this chain loads(in my case) to an iPXE image that is using a crc of the mac address to generate the IAID[2], - dhclient on the OS then uses the last 4 octets of the MAC address for the IAID[3] I have similar problems with ClientID but I havn't looked into them in as much detail check_address in dnsmasq/src/rfc3315.c is asserting that the ID's can't change, and the only way I've gotten the boot process to work locally is to comment out the checks in check_address As best I can see RFC 3315 does say that the IAID MUST remain consistent across restarts of the DHCP client, but then recognizes that "There may be no way for a client to maintain consistency of the IAIDs if it does not have non-volatile storage and the client's hardware configuration changes" Is there a way to allow these IDs to change? and if not should this check be in dnsmasq? or would a patch to optionally disable the check be acceptable? thanks, Derek. [1] - https://github.com/tianocore/edk2/blob/418373a1cd97abc0c0e3557f7a00105291829e6f/MdeModulePkg/Library/DxeNetLib/DxeNetLib.c#L866 [2] - https://github.com/qemu/ipxe/blob/c34d151/src/net/udp/dhcpv6.c#L972 [3] - https://source.isc.org/cgi-bin/gitweb.cgi?p=dhcp.git;a=blob;f=client/dhc6.c;h=be604ac988a983b2829f76fe2bff6a5f036d8019;hb=HEAD#l1716 _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss