Browse Source

net/mwan3: use uptime for ubus age info

If the date is changed by ntp the age value of mwan3 on ubus could jitter.
Use instead the uptime value from /proc/uptime which will not change during
system run.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
lilik-openwrt-22.03
Florian Eckert 7 years ago
parent
commit
267c0eeaed
3 changed files with 10 additions and 2 deletions
  1. +6
    -0
      net/mwan3/files/lib/mwan3/common.sh
  2. +2
    -1
      net/mwan3/files/usr/libexec/rpcd/mwan3
  3. +2
    -1
      net/mwan3/files/usr/sbin/mwan3track

+ 6
- 0
net/mwan3/files/lib/mwan3/common.sh View File

@ -0,0 +1,6 @@
#!/bin/sh
get_uptime() {
local uptime=$(cat /proc/uptime)
echo "${uptime%%.*}"
}

+ 2
- 1
net/mwan3/files/usr/libexec/rpcd/mwan3 View File

@ -3,6 +3,7 @@
. /lib/functions.sh
. /lib/functions/network.sh
. /usr/share/libubox/jshn.sh
. /lib/mwan3/common.sh
MWAN3TRACK_STATUS_DIR="/var/run/mwan3track"
@ -47,7 +48,7 @@ get_mwan3_status() {
time_p="$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/TIME")"
[ -z "${time_p}" ] || {
time_n="$(date +'%s')"
time_n="$(get_uptime)"
let age=time_n-time_p
}


+ 2
- 1
net/mwan3/files/usr/sbin/mwan3track View File

@ -1,6 +1,7 @@
#!/bin/sh
. /lib/functions.sh
. /lib/mwan3/common.sh
LOG="logger -t $(basename "$0")[$$] -p"
INTERFACE=""
@ -171,7 +172,7 @@ main() {
echo "${lost}" > /var/run/mwan3track/$1/LOST
echo "${score}" > /var/run/mwan3track/$1/SCORE
echo "${turn}" > /var/run/mwan3track/$1/TURN
echo "$(date +'%s')" > /var/run/mwan3track/$1/TIME
echo "$(get_uptime)" > /var/run/mwan3track/$1/TIME
host_up_count=0
sleep "${sleep_time}" &


Loading…
Cancel
Save