[syslinux] Support DHCP sname field in PXELINUX
Chris Adams
cmadams at hiwaay.net
Thu Jun 28 12:08:21 PDT 2007
I have discovered that the JUNOS DHCP server in Juniper J-series routers
doesn't support setting the next-server IP address field (I have filed a
bug report with Juniper and they are working on it). Instead, it puts
the "boot server" in the sname field, which PXELINUX currently ignores.
Here's a simple patch (vs. 3.36) that will take an IP string in the
field. My assembly is pretty rusty, and I couldn't quite figure out how
to use the DNS resolver, so it doesn't handle a hostname. This does
work for me with an IP string.
diff -u syslinux-3.36-dist/pxelinux.asm syslinux-3.36/pxelinux.asm
--- syslinux-3.36-dist/pxelinux.asm 2007-02-10 14:47:08.000000000 -0600
+++ syslinux-3.36/pxelinux.asm 2007-06-28 13:54:15.000000000 -0500
@@ -2056,6 +2056,12 @@
mov cx,64
call parse_dhcp_options
.nosnameoverload:
+ cmp byte [si], 0
+ jz .parsed_sname
+ call parse_dotquad
+ jc .parsed_sname
+ mov [ServerIP], eax
+.parsed_sname:
ret
;
--
Chris Adams <cmadams at hiwaay.net>
Systems and Network Administrator - HiWAAY Internet Services
I don't speak for anybody but myself - that's enough trouble.
More information about the Syslinux
mailing list