dnsmasq: support tftp_unique_root in /etc/config/dhcp
authorW. Michael Petullo <mike@flyn.org>
Thu, 24 Sep 2020 02:42:00 +0000 (21:42 -0500)
committerHans Dedecker <dedeckeh@gmail.com>
Thu, 24 Sep 2020 20:38:37 +0000 (22:38 +0200)
The TFTP server provided by dnsmasq supports serving a select boot image
based on the client's MAC or IP address. This allows an administrator
to activate this feature in /etc/config/dhcp. Here is an example
/etc/config/dhcp that configures dnsmasq with --tftp-unique-root=mac:

...

config dnsmasq
option enable_tftp 1
option tftp_root /usr/libexec/tftpboot
option tftp_unique_root mac

config boot router
option serveraddress 192.168.1.1
option servername tftp.example.com
option filename openwrt-initramfs-kernel.bin

...

With this configuration, dnsmasq will serve
/usr/libexec/tftpboot/00-11-22-33-44-55/openwrt-initramfs-kernel.bin to
the client with MAC address 00:11:22:33:44:55.

Signed-off-by: W. Michael Petullo <mike@flyn.org>
package/network/services/dnsmasq/Makefile
package/network/services/dnsmasq/files/dnsmasq.init

index ab3f4fd8d08a2a34518a632a5e50f46ba9f056fb..b5f2e78fd2c2acb8af3d4f2c6b86e165ea1ceb95 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=dnsmasq
 PKG_UPSTREAM_VERSION:=2.82
 PKG_VERSION:=$(subst test,~~test,$(subst rc,~rc,$(PKG_UPSTREAM_VERSION)))
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_UPSTREAM_VERSION).tar.xz
 PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
index 2d72bc6a28f983c2fada33eff122ed51e3ca449e..d387c902855a8bb9167ba7d6f9e6a646861e4d67 100644 (file)
@@ -904,6 +904,7 @@ dnsmasq_start()
        append_parm "$cfg" "min_cache_ttl" "--min-cache-ttl"
        append_parm "$cfg" "max_cache_ttl" "--max-cache-ttl"
        append_parm "$cfg" "pxe_prompt" "--pxe-prompt"
+       append_parm "$cfg" "tftp_unique_root" "--tftp-unique-root"
        config_list_foreach "$cfg" "pxe_service" append_pxe_service
        config_get DOMAIN "$cfg" domain