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