From: Ian Dall Date: Fri, 10 Mar 2023 06:32:34 +0000 (+1030) Subject: dnsmasq: configure dynamic dhcp6 and dhcp4 independently X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=ed86454578efa1ae9e0ea522c8612e2b7c36b6dd;p=openwrt%2Fstaging%2Fblocktrron.git dnsmasq: configure dynamic dhcp6 and dhcp4 independently Given ipv6 has SLAAC it is quite plausible to wish to use dynamic dhcp4 but static dhcp6. This patch keeps dynamicdhcp as the default option for both, but is overridden by dynamicdhcpv6 or dynamicdhcpv4 Signed-off-by: Ian Dall --- diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 608ef013f1..2a3327b0c6 100755 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -557,6 +557,8 @@ dhcp_add() { config_get leasetime "$cfg" leasetime 12h config_get options "$cfg" options config_get_bool dynamicdhcp "$cfg" dynamicdhcp 1 + config_get_bool dynamicdhcpv4 "$cfg" dynamicdhcpv4 $dynamicdhcp + config_get_bool dynamicdhcpv6 "$cfg" dynamicdhcpv6 $dynamicdhcp config_get dhcpv4 "$cfg" dhcpv4 config_get dhcpv6 "$cfg" dhcpv6 @@ -586,12 +588,12 @@ dhcp_add() { # make sure the DHCP range is not empty if [ "$dhcpv4" != "disabled" ] && eval "$(ipcalc.sh "${subnet%%/*}" "$netmask" "$start" "$limit")" ; then - [ "$dynamicdhcp" = "0" ] && END="static" + [ "$dynamicdhcpv4" = "0" ] && END="static" xappend "--dhcp-range=$tags$nettag$START,$END,$NETMASK,$leasetime${options:+ $options}" fi - if [ "$dynamicdhcp" = "0" ] ; then + if [ "$dynamicdhcpv6" = "0" ] ; then dhcp6range="::,static" else dhcp6range="::1000,::ffff"