[source] dnsmasq: add dhcp-range tags configuration

LEDE Commits lede-commits at lists.infradead.org
Tue Jun 20 13:34:05 PDT 2017


dedeckeh pushed a commit to source.git, branch master:
https://git.lede-project.org/680a5c5d3e4737d6d96fc1b34aba93d04d2390b3

commit 680a5c5d3e4737d6d96fc1b34aba93d04d2390b3
Author: Grégoire Delattre <gregoire.delattre at gmail.com>
AuthorDate: Tue Jun 20 11:45:49 2017 +0200

    dnsmasq: add dhcp-range tags configuration
    
    dnsmasq can match tags in its dhcp-range configuration, this commit adds
    the option to configure it in the dhcp section
    
    uci configuration:
    config dhcp 'lan'
            option interface 'lan'
            list tag 'blue'
            list tag '!red'
            option start '10'
            option limit '150'
            option leasetime '12h'
    
    generated dnsmasq configuration:
    dhcp-range=tag:blue,tag:!red,set:lan,192.168.1.10,192.168.1.159,255.255.255.0,12h
    
    Signed-off-by: Grégoire Delattre <gregoire.delattre at gmail.com>
---
 package/network/services/dnsmasq/Makefile           | 2 +-
 package/network/services/dnsmasq/files/dnsmasq.init | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile
index f9ab13a..35ac6b2 100644
--- a/package/network/services/dnsmasq/Makefile
+++ b/package/network/services/dnsmasq/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnsmasq
 PKG_VERSION:=2.77
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq/
diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init
index d5177ec..065d1fd 100644
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -440,6 +440,7 @@ dhcp_add() {
 	local cfg="$1"
 	local dhcp6range="::"
 	local nettag
+	local tags
 
 	config_get net "$cfg" interface
 	[ -n "$net" ] || return 0
@@ -491,6 +492,12 @@ dhcp_add() {
 	dhcp_this_host_add "$net" "$ifname" "$ADD_LOCAL_FQDN"
 
 	start="$( dhcp_calc "$start" )"
+
+	add_tag() {
+		tags="${tags}tag:$1,"
+	}
+	config_list_foreach "$cfg" tag add_tag
+
 	nettag="${networkid:+set:${networkid},}"
 
 	if [ "$limit" -gt 0 ] ; then
@@ -508,7 +515,7 @@ dhcp_add() {
 
 
 	if [ "$dhcpv4" != "disabled" ] ; then
-		xappend "--dhcp-range=$nettag$START,$END,$NETMASK,$leasetime${options:+ $options}"
+		xappend "--dhcp-range=$tags$nettag$START,$END,$NETMASK,$leasetime${options:+ $options}"
 	fi
 
 



More information about the lede-commits mailing list