When using isc dhcpd 3.0.3 with an etherboot 5.4.0
image the client does not boot correctly.
Error message: "No IP address"
Since this works with older isc dhcpd as well as with
isc 3.0.3 and other dhcp clients i dumped the dhcp
process. Doing so i found differences in DHCPOFFER
offset 0x14. Since isc dhcpd 3.0.3 the siaddr field is
filled with 0x00 instead of the dhcp servers ip address.
This lead me to the changelog of isc dhcpd 3.0.3:
| Changes since 3.0.2
|
| - The siaddr field was being improperly set to the
server-|identifier when
| responding to DHCP messages. RFC2131 clarified
the siaddr field as
| meaning the "next server in the bootstrap
process", eg a tftp server.
| The siaddr field is now left zeroed unless
next-server is
configured.
So I tried to set "next server" and all worked well
with isc dhcpd 3.0.3 and etherboot 5.4.0.
If I understand RFC2131 correctly, siaddr should point
to the tftp server and should not be used in the dhcp
process.
dumps (ips and macs modified for privacy reasons)