packages/net/mwan3/files/usr/sbin/mwan3rtmon

39 lines
656 B
Text
Raw Normal View History

#!/bin/sh
. /lib/functions.sh
. /lib/mwan3/mwan3.sh
LOG="logger -t $(basename "$0")[$$] -p"
clean_up() {
$LOG notice "Stopping mwan3rtmon..."
exit 0
}
rtchange() {
$LOG info "Detect rtchange event."
}
main() {
local rtmon_interval
trap clean_up TERM
trap rtchange USR1
config_load mwan3
config_get rtmon_interval globals rtmon_interval '5'
sleep 3
while true; do
mwan3_lock "service" "mwan3rtmon"
[ mwan3_remon_ipv4 = "1" ] || \
[ mwan3_rtmon_ipv6 = "1" ] && break
mwan3_unlock "service" "mwan3rtmon"
[ "$rtmon_interval" = "0" ] && break
sleep "$rtmon_interval" &
wait
done
mwan3_unlock "service" "mwan3rtmon"
}
main "$@"