This patch allows to store obtained DHCP options per interface in netifd.

Signed-off-by: Lukas Macura <lukas.mac...@cesnet.cz>
Tested-by: Jiri Slachta <slac...@cesnet.cz>
---
 .../config/netifd/files/lib/netifd/dhcp.script     | 23 +++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/package/network/config/netifd/files/lib/netifd/dhcp.script 
b/package/network/config/netifd/files/lib/netifd/dhcp.script
index 948c3cd..30bbfd5 100755
--- a/package/network/config/netifd/files/lib/netifd/dhcp.script
+++ b/package/network/config/netifd/files/lib/netifd/dhcp.script
@@ -4,6 +4,11 @@
 . /lib/functions.sh
 . /lib/netifd/netifd-proto.sh
 
+
+change_network_state() {
+       ubus call "network.interface.$1" set_data "{ \"$2\": \"$3\" }"
+}
+
 set_classless_routes() {
        local max=128
        local type
@@ -60,11 +65,19 @@ setup_interface () {
                ubus call network add_dynamic "$(json_dump)"
        fi
 
-       # TODO
-       # [ -n "$ntpsrv" ] &&   change_state network "$ifc" lease_ntpsrv 
"$ntpsrv"
-       # [ -n "$timesvr" ] &&  change_state network "$ifc" lease_timesrv 
"$timesvr"
-       # [ -n "$hostname" ] && change_state network "$ifc" lease_hostname 
"$hostname"
-       # [ -n "$timezone" ] &&         change_state network "$ifc" 
lease_timezone "$timezone"
+       [ -n "$ntpsrv" ]   &&   change_network_state "$INTERFACE" lease_ntpsrv 
"$ntpsrv"
+       [ -n "$hostname" ] &&   change_network_state "$INTERFACE" 
lease_hostname "$hostname"
+       [ -n "$search" ]   &&   change_network_state "$INTERFACE" lease_domain 
"$search"
+       [ -n "$dns" ]      &&   change_network_state "$INTERFACE" lease_dns 
"$dns"
+       [ -n "$timezone" ] &&   change_network_state "$INTERFACE" 
lease_timezone "$timezone"
+       [ -n "$boot_file" ] &&  change_network_state "$INTERFACE" 
lease_bootfile "$boot_file"
+       [ -n "$serverid" ]  &&  change_network_state "$INTERFACE" lease_tftp 
"$serverid"
+       [ -n "$tftp" ]     &&   change_network_state "$INTERFACE" lease_tftp 
"$tftp"
+       [ -n "$siaddr" ]   &&   change_network_state "$INTERFACE" lease_siaddr 
"$siaddr"
+       [ -n "$sname" ]    &&   change_network_state "$INTERFACE" lease_sname 
"$sname"
+       [ -n "$logsvr" ]   &&   change_network_state "$INTERFACE" lease_logsvr 
"$logsvr"
+       [ -n "$lprsvr" ]   &&   change_network_state "$INTERFACE" lease_lprsvr 
"$lprsvr"
+
 }
 
 deconfig_interface() {
-- 
1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to