[Dnsmasq-discuss] ProxyDHCP mode is broken for serving ipxe.efi to UEFI pxe clents

Michael Kuron michael-lists at physcip.uni-stuttgart.de
Mon May 9 13:24:59 BST 2016


> - I think that this is just a workaround (because what
>  dnsmasq implements should be working for PXE/UEFI ...)
>  and it may not be needed in the future ..  so kind more 'elegant' to
>  implement it this way (option could be called 'pxe-menu-workaround'
>  perhaps ?

This workaround will be required for at least a decade to come, as many current UEFI implementation still don’t correctly implement menus. So 99% of setups would need to enable the workaround, which means it should be default to avoid confusion.
Also, what’s wrong with disabling the menu if there is only one entry for the architecture, like my patch does? It doesn’t reduce functionality in any way and reduces the number of configuration options needed in the most common scenarios.

> - It gives more flexibility: the workaround can be applied only
>  to predefined <tag> and <CSA> (sorry - patched man page should be
>  improved to state that clearly): so we can use that to implement
>  for example sthg like this:
> 
>   - match on given hwaddr prefix with dhcp-match, then tag
>   - match on tag and client architecture and apply workaround only
>     then.

You can also use tags with my patch and achieve the same thing. For example, if you want clients with tag abcd to display a menu with two entries and all other clients to boot directly to the first entry (which for them is the only entry, thus invoking my workaround), you should be able to use something like
pxe-service=BC_EFI,iPXE,pxelinux
pxe-service=tag:abcd,BC_EFI,iPXE,ipxe

> - setting of sname is indeed because I found 2 clients which did not
>  want to boot without it ..

Ok, then I suggest we add that to my patch.

> - naming convention:
> 
>  <name>.0 vs. <name>.efi

The <name>.0 for X86PC can’t be changed due to backwards compatibility, otherwise everybody would have to update their config files. I’d be ok with not automatically adding an extension for all other architectures though. However, that would be inconsistent and also backwards-incompatible, though I wouldn’t worry too much about the latter as googling for "pxe-service=..." does not yield any meaningful hits for anything but x86PC, IA32_EFI, BC_EFI and X86-64_EFI.

Michael




More information about the Dnsmasq-discuss mailing list