1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-13 11:01:50 +00:00
openmptcprouter-feeds/omr-tracker/files/bin/omr-tracker-gre
Ycarus (Yannick Chabanois) cd57425370 Set again gre tunnel if down
2021-03-25 16:36:48 +01:00

49 lines
1 KiB
Bash
Executable file

#!/bin/sh
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
name=$0
basename="$(basename $0)"
_log() {
logger -p daemon.info -t "${basename}" "$@"
}
_ping_server() {
local host=$1
ret=$(ping \
-w "$OMR_TRACKER_TIMEOUT" \
-c 1 \
-q \
"${host}" 2>/dev/null
) && echo "$ret" | grep -sq " 0% packet loss" && {
server_ping=true
}
}
_ping_tunnel() {
local name=$1
config_get gateway $1 gateway
config_get ifname $1 ifname
config_get disabled $1 disabled
[ "$(echo $ifname | grep oip)" != "" ] && [ -n "$gateway" ] && [ "$disabled" != "1" ] && {
_ping_server $gateway
}
}
. /lib/functions.sh
timeout=${OMR_TRACKER_TIMEOUT:-5}
interval=${OMR_TRACKER_INTERVAL:-10}
intervaltries=${OMR_TRACKER_INTERVAL_TRIES:-2}
retry=${OMR_TRACKER_TRIES:-4}
waittest=${OMR_TRACKER_WAIT_TEST:-0}
while true; do
server_ping=false
config_load network
config_foreach _ping_tunnel interface
if [ "$server_ping" = false ]; then
/etc/init.d/openmptcprouter-vps set_gre_tunnel 2>&1 >/dev/null
fi
sleep "${interval}"
done