[syslinux] syslinux.efi and vendor-class-identifier

H. Peter Anvin hpa at zytor.com
Tue Nov 19 11:50:02 PST 2019

On 2019-10-01 06:08, James Pearson via Syslinux wrote:
> We've been successfully installing Linux using pxelinux to bootstrap our
> Linux (CentOS) installs for many years, but we are about to take
> delivery of hardware that doesn't have legacy BIOS boot support for
> internal drives - so I'm making my first foray into the world of EFI -
> and can _almost_ get it all to work, but hit an issue that I'm not sure
> how to 'fix' ...
> We're using a CentOS 6 server running its native (ISC) dhcpd (v4.1.1)
> and tftpd (v 0.49). I've installed syslinux.efi and ldlinux.e64 from the
> syslinux-6.04-pre2 distro alongside the existing pxelinux.0
> I've updated dhcpd.conf based on info from
> https://wiki.syslinux.org/wiki/index.php?title=PXELINUX#UEFI (and
> elsewhere) to select 'syslinux.efi' as the filename to use etc.
> However, our dhcpd.conf, when switching on the vendor-class-identifier,
> will set 'deny unknown-clients' if there is no match found
> Watching the dhcp/tftp traffic via wireshark, I see the initial DHCP
> Discover, Offer, Request and ACK, followed by the tftp download of
> syslinux.efi - and then the client sends another DHCP Discover request,
> gets no reply - and repeats the DHCP Discover request 3 more times and
> then gives up.
> I believe the issue is that the 2nd set of DHCP Discover requests don't
> include a 'vendor-class-identifier' - so our dhcpd config ignores the
> request?
> I'm guessing this 2nd set of DHCP Discover requests come from the
> downloaded 'syslinux.efi' ? - if so, is it possible to configure
> syslinux.efi to send a vendor-class-identifier in its DHCP Discover
> request?
> I _can_ get it all to work fine - if I remove the 'deny unknown-clients'
> catch-all - but I'm reluctant to do this, unless it is the only way to
> get things working
> Has anyone got any other ideas on how I can solve this?

DHCP is executed by firmware, not Syslinux, so either file a bug report
with your vendor or you have to change your configuration.

>From reading RFC 2131, your configuration is wrong. RFC 2131 explicitly
states the vendor class identifier is optional (table 3, page 28.)


More information about the Syslinux mailing list