mwan3: add online and uptime to detail output
authorFlorian Eckert <fe@dev.tdt.de>
Fri, 28 Jun 2019 11:55:29 +0000 (13:55 +0200)
committerFlorian Eckert <fe@dev.tdt.de>
Mon, 20 Jul 2020 06:13:34 +0000 (08:13 +0200)
Add also online time value and uptime time value from netifd to the
detail output view.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
net/mwan3/files/lib/mwan3/mwan3.sh

index 105aafa0c5979391efd89228447f19ec1c17368e..2ec760f9a9ba99299498eceff422c40618c39c65 100644 (file)
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+. /usr/share/libubox/jshn.sh
+
 IP4="ip -4"
 IP6="ip -6"
 IPS="ipset"
@@ -1066,7 +1068,18 @@ mwan3_report_iface_status()
                [ -n "$($IP rule | awk '$1 == "'$(($id+2000)):'"')" ] && \
                [ -n "$($IPT -S mwan3_iface_in_$1 2> /dev/null)" ] && \
                [ -n "$($IP route list table $id default dev $device 2> /dev/null)" ]; then
-               result="$(mwan3_get_iface_hotplug_state $1)"
+               json_init
+               json_add_string section interfaces
+               json_add_string interface "$1"
+               json_load "$(ubus call mwan3 status "$(json_dump)")"
+               json_select "interfaces"
+               json_select "$1"
+               json_get_vars online uptime
+               json_select ..
+               json_select ..
+               online="$(printf '%02dh:%02dm:%02ds\n' $(($online/3600)) $(($online%3600/60)) $(($online%60)))"
+               uptime="$(printf '%02dh:%02dm:%02ds\n' $(($uptime/3600)) $(($uptime%3600/60)) $(($uptime%60)))"
+               result="$(mwan3_get_iface_hotplug_state $1) $online, uptime $uptime"
        elif [ -n "$($IP rule | awk '$1 == "'$(($id+1000)):'"')" ] || \
                [ -n "$($IP rule | awk '$1 == "'$(($id+2000)):'"')" ] || \
                [ -n "$($IPT -S mwan3_iface_in_$1 2> /dev/null)" ] || \