if statements not working?

David F. df7729 at gmail.com
Fri Sep 20 17:24:36 UTC 2019


Hello,

I have the following class section.  PXE boot from an dell xps400
(BIOS mode), and it tries to load junk.efi.   I looked in syslog and
my debug output is "0".  So it seems like the if statement should have
caught it but it didn't.  Is there something wrong with the code
below?  This is on Ubuntu 9.04 using ISC DHCP Server 3.1.1.

option architecture-type code 93 = unsigned integer 16;
class "pxeclients" {
  match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
  log(debug, "debug info here");
  log(debug, binary-to-ascii(10,16, ".", option architecture-type));
  if option architecture-type = 0 {
      filename "/tftpboot/pxelinux.0";
  } elsif option architecture-type = 9 {
      filename "/tftpboot/efi64/syslinux.efi";
  } elsif option architecture-type = 7 {
      filename "/tftpboot/efi64/syslinux.efi";
  } elsif option architecture-type = 6 {
      filename "/tftpboot/efi32/syslinux.efi";
  } else {
      filename "/tftpboot/junk.efi";
  }
}

TIA!!


More information about the dhcp-users mailing list