fwknop: init script improvements
[feed/packages.git] / net / mwan3 / files / usr / sbin / mwan3rtmon
1 #!/bin/sh
2
3 . /lib/functions.sh
4 . /lib/mwan3/mwan3.sh
5
6 LOG="logger -t $(basename "$0")[$$] -p"
7
8 clean_up() {
9 $LOG notice "Stopping mwan3rtmon..."
10 exit 0
11 }
12
13 rtchange() {
14 $LOG info "Detect rtchange event."
15 }
16
17 main() {
18 local rtmon_interval
19 trap clean_up TERM
20 trap rtchange USR1
21
22 config_load mwan3
23 config_get rtmon_interval globals rtmon_interval '5'
24
25 sleep 3
26 while true; do
27 mwan3_lock "service" "mwan3rtmon"
28 mwan3_rtmon_ipv4 || mwan3_rtmon_ipv6
29 ret=$?
30 mwan3_unlock "service" "mwan3rtmon"
31 [ "$ret" = "0" ] || break
32 [ "$rtmon_interval" = "0" ] && break
33 sleep "$rtmon_interval" &
34 wait
35 done
36 }
37
38 main "$@"