ra...@frontiernet.net wrote:
Ive puged all the history in the interest of brevity:

This should be my final post on using gPXE with dnsmasq

First, the gPXE peop[e claim that there is a bug in dnsmasq that appends an extra chaaracter hex(00) at the end of all dhcp supplied option values.

a snooped dhcpoffer packet with wireshark confirms the asserstion by the gPXE people.

The fact is that a 13 character bootfile name is a legth 14 option in the dhcpoffer packet

I'm not sure if its a bug in dnsmasq or not, as I don't know the RFCs well enough to make a judgement. But the gPXE people seemed convinced that dnsmasq was somehow "wrong" in this.


Ignore my previous post: the "microsoft detector" is irrelevant here; this comment from the code tells all.

  /* See if we can send the boot stuff as options.
     To do this we need a requested option list, BOOTP
     and very old DHCP clients won't have this, we also
     provide an manual option to disable it.
     Some PXE ROMs have bugs (surprise!) and need zero-terminated
     names, so we always send those. */

I think I still own the PXE ROM which demonstrates the bug.

This indicates a possible workaround: use
--dhcp-no-override

which stops dnsmasq from putting the filename is an option and always leaves it in the dedicated filename field, where termination is not an issue.


I'm confused about the bootfilename with a space at the end. They're using space as an end marker? Note that if you want a space at the end of your filename, you'll probably have to use quotes.

dhcp-boot="somename "

The two DHCPdiscover packets you send are indistuishable in any released version of dnsmasq. I'll add a facility to do it and get it to you ASAP, holidays permitting.

Cheers,

Simon.



Reply via email to