dnsmasq: add DHCP Unique Identifier for DHCPv6
[openwrt/staging/wigyori.git] / package / network / services / dnsmasq / files / dnsmasq.init
index 67808d5593569f0b5be0b028ae8b272d08aeef8d..45fc29e2a64c7dabb48151f0990ac2bff14b5258 100644 (file)
@@ -278,6 +278,7 @@ dhcp_host_add() {
        config_get tag "$cfg" tag
 
        if [ "$DHCPv6CAPABLE" -eq 1 ]; then
+               config_get duid "$cfg" duid
                config_get hostid "$cfg" hostid
                if [ -n "$hostid" ]; then
                        hex_to_hostid hostid "$hostid"
@@ -289,7 +290,7 @@ dhcp_host_add() {
 
        config_get leasetime "$cfg" leasetime
 
-       xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip${hostid:+,[::$hostid]}}${name:+,$name}${leasetime:+,$leasetime}"
+       xappend "--dhcp-host=$macs${duid:+,id:$duid}${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip${hostid:+,[::$hostid]}}${name:+,$name}${leasetime:+,$leasetime}"
 }
 
 dhcp_tag_add() {
@@ -573,6 +574,7 @@ dnsmasq_start()
        append_bool "$cfg" allservers "--all-servers"
        append_bool "$cfg" noping "--no-ping"
 
+       append_parm "$cfg" logfacility "--log-facility"
        append_parm "$cfg" dhcpscript "--dhcp-script"
        append_parm "$cfg" cachesize "--cache-size"
        append_parm "$cfg" dnsforwardmax "--dns-forward-max"
@@ -785,7 +787,7 @@ dnsmasq_stop()
 
 service_triggers()
 {
-       procd_add_reload_trigger "dhcp" "system"
+       procd_add_reload_trigger "dhcp"
        procd_add_raw_trigger "interface.*" 2000 /etc/init.d/dnsmasq reload
 }
 
@@ -825,7 +827,6 @@ start_service() {
 
 reload_service() {
        rc_procd start_service "$@"
-       killall -HUP dnsmasq
        return 0
 }