diff options
Diffstat (limited to 'package/network/services/dnsmasq/files/dnsmasq.init')
-rw-r--r-- | package/network/services/dnsmasq/files/dnsmasq.init | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 30fec7a..5221db4 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -470,6 +470,7 @@ dhcp_add() { config_get ra "$cfg" ra config_get ra_management "$cfg" ra_management config_get ra_preference "$cfg" ra_preference + config_get dns "$cfg" dns config_list_foreach "$cfg" "interface_name" append_interface_name "$ifname" @@ -539,6 +540,15 @@ dhcp_add() { xappend "--dhcp-range=$nettag$dhcp6range,constructor:$ifname,slaac,ra-names,$leasetime" ;; esac + + if [ -n "$dns" ]; then + dnss="" + for d in $dns; do append dnss "[$d]" ","; done + else + dnss="[::]" + fi + + dhcp_option_append "option6:dns-server,$dnss" "$networkid" fi dhcp_option_add "$cfg" "$networkid" |