<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p><span style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Hello all,</span><br>
</p>
<div style="color: rgb(0, 0, 0);">
<div>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p><br>
</p>
<p>I've noticed what seems to be a bug with the NBP suffix for BIOS clients in version 2.77 for dnsmasq, which was working fine in 2.76.</p>
<p>I have not confirmed if the issue occurs within a normal DHCP/PXE environment, only for proxyDHCP.</p>
<p><br>
</p>
<p>Along with my DHCP server, the following configuration allows proper booting for my BIOS and UEFI clients.</p>
<p><br>
</p>
<p><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px">pxelinux options 209, 210 have been hardcoded into the NBP files, as I could
not for the life of me find a way to send these options using the --pxe-service fields.</span><br>
</p>
<p><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px">209 = /pxeboot/</span></p>
<p><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px">210 = bios.cfg</span></p>
<p><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px">210 = efi64.cfg (for syslinux.e64, likewise for syslinux.e32)</span></p>
<p><br>
</p>
<p>Relevant lines within dnsmasq.conf:</p>
<p><span>dhcp-no-override</span><br>
</p>
<p><span>dhcp-range=10.0.60.200,proxy,255.255.255.0</span></p>
<p></p>
<div>
<div>pxe-service=x86PC,"Boot BIOS PXE",lpxelinux</div>
<div>pxe-service=IA32_EFI,"Boot UEFI-32bit PXE",syslinux.e32</div>
<div>pxe-service=BC_EFI,"Boot UEFI-BC PXE",syslinux.e64</div>
<div>pxe-service=X86-64_EFI,"Boot UEFI-64bit PXE",syslinux.e64</div>
</div>
<div><br>
</div>
<div>Using dnsmasq 2.76, the above configuration successfully finds and boots the "/pxeboot/lpxelinux.0" NBP file.</div>
<div><br>
</div>
<div>Change over to 2.77, and I see the following within dnsmasq logs:</div>
<div><span><span>dnsmasq-tftp[732]: file /pxeboot/lpxelinux not found</span></span><br>
</div>
<div><br>
</div>
<div>Interestingly, if I add the suffix to the config, so that dnsmasq.conf now shows:</div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px">pxe-service=x86PC,"Boot BIOS PXE",lpxelinux.0</span><br>
</div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><br>
</span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px">I now receive the following within dnsmasq logs:</span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><span>dnsmasq-tftp[772]: file /pxeboot/lpxelinux.0.0 not found</span><br>
</span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><span><br>
</span></span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><span><br>
</span></span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><span>The simple workaround is to just remove the suffix from the "lpxelinux" file,
then it all flows normally.</span></span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><span>Please disregard me if I am wrong, but this behaviour seems to be
the complete reverse of what is described on the man page, under "--pxe-service".</span></span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><span><br>
</span></span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><span>Regards,</span></span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><span>Aaron</span></span></div>
<p></p>
<p></p>
</div>
</div>
</div>
</div>
</body>
</html>