#!/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_rtmon_ipv4 || mwan3_rtmon_ipv6
|
|
ret=$?
|
|
mwan3_unlock "service" "mwan3rtmon"
|
|
[ "$ret" = "0" ] || break
|
|
[ "$rtmon_interval" = "0" ] && break
|
|
sleep "$rtmon_interval" &
|
|
wait
|
|
done
|
|
}
|
|
|
|
main "$@"
|