[syslinux] pxelinux doesn't answer ARP requests when it should

H. Peter Anvin hpa at zytor.com
Thu Aug 9 09:42:24 PDT 2007

Petr Kohts wrote:
> Hi there.
> Regarding currently known problem as stated on
> http://syslinux.zytor.com/pxe.php:
> we should probably call the UDP receive function in the keyboard
> entry loop, so that we answer ARP requests.

... which has turned out to be impossible, because too many PXE stacks
are buggy and will wait for a packet when UDP READ is called, despite
the fact that the call is explicitly documented as nonblocking.


> Conclusion:
> 1) pxelinux does not respond to ARP packets not only
> in the keyboard loop but also in tftp send/receive loop
> 2) Linux kernel does not use incoming tftp packets
> as a last resort when checking that the host is alive.

Ironically I heard about this problem first as late as the day before
yesterday.  I'm not sure how to work around it, other than having
PXELINUX carry its own IP stack with it.  THAT is already in the works,
however, since I've been working with the Etherboot team to come up with
a gPXE-PXELINUX integrated solution.  When finalized, this will be a
single "pxelinux.0" image which will contain the gPXE (which contains an
independent IP stack) with it.  It will also make it possible to get
files over HTTP or other TCP protocols.

We successfully demoed this at the Etherboot.org booth at LinuxWorld
this week, but it still needs additional work.


More information about the Syslinux mailing list