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 <ian@beware.dropbear.id.au>
This commit is contained in:
Ian Dall 2023-03-10 17:02:34 +10:30 committed by Hauke Mehrtens
parent cbf120c255
commit ed86454578

View File

@ -557,6 +557,8 @@ dhcp_add() {
config_get leasetime "$cfg" leasetime 12h config_get leasetime "$cfg" leasetime 12h
config_get options "$cfg" options config_get options "$cfg" options
config_get_bool dynamicdhcp "$cfg" dynamicdhcp 1 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 dhcpv4 "$cfg" dhcpv4
config_get dhcpv6 "$cfg" dhcpv6 config_get dhcpv6 "$cfg" dhcpv6
@ -586,12 +588,12 @@ dhcp_add() {
# make sure the DHCP range is not empty # make sure the DHCP range is not empty
if [ "$dhcpv4" != "disabled" ] && eval "$(ipcalc.sh "${subnet%%/*}" "$netmask" "$start" "$limit")" ; then 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}" xappend "--dhcp-range=$tags$nettag$START,$END,$NETMASK,$leasetime${options:+ $options}"
fi fi
if [ "$dynamicdhcp" = "0" ] ; then if [ "$dynamicdhcpv6" = "0" ] ; then
dhcp6range="::,static" dhcp6range="::,static"
else else
dhcp6range="::1000,::ffff" dhcp6range="::1000,::ffff"