[syslinux] pxelinux tries to load ldlinux.c32 from DHCP server, instead of next-server
Geert Stappers
stappers at stappers.nl
Sun Sep 13 12:46:58 PDT 2015
On Sat, Sep 12, 2015 at 06:56:04PM -0400, Gene Cumm via Syslinux wrote:
> On Sat, Sep 12, 2015 at 6:37 PM, Gene Cumm wrote:
> > On Sat, Sep 12, 2015 at 10:23 AM, Geert Stappers wrote:
> >> diff --git a/core/fs/pxe/dhcp_option.c b/core/fs/pxe/dhcp_option.c
> >> index 8d93a6a..b82e944 100644
> >> --- a/core/fs/pxe/dhcp_option.c
> >> +++ b/core/fs/pxe/dhcp_option.c
> >> @@ -252,4 +252,6 @@ void parse_dhcp(const void *pkt, size_t pkt_len, int pkt_type)
> >>
> >> if (over_load & 2)
> >> parse_dhcp_options(dhcp->sname, 64, 0);
> >> +
> >> + /* What about option 66, tftserver_name ? FIXME */
> >> }
> >
> > Something like this would be preferable except it's not quite so
> > simple. We'd need to not store BOOTP siaddr before parsing. Store a
> > pointer to the string during parsing if serverip is unset. After all
> > parsing, if the pointer is set, attempt to resolve then set serverip.
> > Last, if serverip is not set, copy siaddr to serverip.
>
> Perhaps a more important question is if ANY PXE implementation uses
> DHCP option 66 over BOOTP field siaddr.
Quoting the spec ( I used http://www.pix.net/software/pxeboot/archive/pxespec.pdf )
sname, 64 bytes, Can be overloaded if using Opt 66
Hope this helps
Groeten
Geert Stappers
--
Leven en laten leven
More information about the Syslinux
mailing list