- #!/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 "$@"
|