diff options
author | Grégoire Delattre <gregoire.delattre@gmail.com> | 2017-06-20 11:45:49 +0200 |
---|---|---|
committer | Hans Dedecker <dedeckeh@gmail.com> | 2017-06-20 22:33:41 +0200 |
commit | 680a5c5d3e4737d6d96fc1b34aba93d04d2390b3 (patch) | |
tree | 2ca5e80fa4dcb5853e22784d2abf627fbc847be2 /package | |
parent | e3d09e78980ee1954e536f9fccd2804f5f681973 (diff) | |
download | upstream-680a5c5d3e4737d6d96fc1b34aba93d04d2390b3.tar.gz upstream-680a5c5d3e4737d6d96fc1b34aba93d04d2390b3.tar.bz2 upstream-680a5c5d3e4737d6d96fc1b34aba93d04d2390b3.zip |
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@gmail.com>
Diffstat (limited to 'package')
-rw-r--r-- | package/network/services/dnsmasq/Makefile | 2 | ||||
-rw-r--r-- | 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 f9ab13aef0..35ac6b2891 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 d5177ecb0c..065d1fd8c2 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 |