Browse Source

dnsmasq: add support for RA option 31

The option 31 in the RA specifies the DNS search list, the support
to configure this via UCI is missing in case dnsmasq-dhcpv6 is used.

This commit uses the uci option domain (same as is done by odhcpd) to
read and pass the DNS search list to dnsmasq, which is then used by RA.

Hence, with this commit, we are able to configure DNS search list for the
RA messages via the uci config when dnsmsaq-dhcpv6 is used.

Signed-off-by: Rahul Thakur <[email protected]>
Rahul Thakur 2 years ago
parent
commit
002f180a97
1 changed files with 8 additions and 0 deletions
  1. 8 0
      package/network/services/dnsmasq/files/dnsmasq.init

+ 8 - 0
package/network/services/dnsmasq/files/dnsmasq.init

@@ -568,6 +568,7 @@ dhcp_add() {
 	config_get ra_management "$cfg" ra_management
 	config_get ra_management "$cfg" ra_management
 	config_get ra_preference "$cfg" ra_preference
 	config_get ra_preference "$cfg" ra_preference
 	config_get dns "$cfg" dns
 	config_get dns "$cfg" dns
+	config_get dns_sl "$cfg" domain
 
 
 	config_list_foreach "$cfg" "interface_name" append_interface_name "$ifname"
 	config_list_foreach "$cfg" "interface_name" append_interface_name "$ifname"
 
 
@@ -647,6 +648,13 @@ dhcp_add() {
 		fi
 		fi
 
 
 		dhcp_option_append "option6:dns-server,$dnss" "$networkid"
 		dhcp_option_append "option6:dns-server,$dnss" "$networkid"
+
+		if [ -n "$dns_sl" ]; then
+			ddssl=""
+			for dd in $dns_sl; do append ddssl "$dd" ","; done
+		fi
+
+		dhcp_option_append "option6:domain-search,$ddssl" "$networkid"
 	fi
 	fi
 
 
 	dhcp_option_add "$cfg" "$networkid" 0
 	dhcp_option_add "$cfg" "$networkid" 0