1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-14 19:41:51 +00:00

Fix post tracking script

This commit is contained in:
Ycarus 2018-03-22 15:51:32 +01:00
parent 428d043a9f
commit 8451494161

View file

@ -29,7 +29,7 @@ set_ss_route() {
local server_ip
config_get server_ip $1 server
if [ "$server_ip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE | grep $server_ip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ]; then
_log "Set server route via $OMR_TRACKER_DEVICE"
_log "Set server $server_ip route via $OMR_TRACKER_DEVICE"
ip route replace $server_ip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE
fi
}
@ -38,7 +38,7 @@ del_ss_route() {
local server_ip
config_get server_ip $1 server
if [ "$server_ip" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE | grep $server_ip)" != "" ]; then
_log "Remove server route via $OMR_TRACKER_DEVICE"
_log "Remove server $server_ip route via $OMR_TRACKER_DEVICE"
ip route delete $server_ip dev $OMR_TRACKER_DEVICE
fi
}
@ -47,26 +47,32 @@ sleep `expr $RANDOM % 10`
# Get the current multipath status
multipath_status="off"
case "$(multipath "$OMR_TRACKER_DEVICE")" in
*default*) multipath_status="on" ;;
*backup*) multipath_status="backup" ;;
*handover*) multipath_status="handover" ;;
esac
if [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
case "$(multipath "$OMR_TRACKER_DEVICE")" in
*default*) multipath_status="on" ;;
*backup*) multipath_status="backup" ;;
*handover*) multipath_status="handover" ;;
esac
fi
default_gw=$(ip route show default | grep -v metric | awk '/default/ {print $3}')
#current_interface_gw=$(uci -q get "network.$OMR_TRACKER_INTERFACE.gateway")
# An interface in error will never be used in MPTCP
if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
#[ "$multipath_status" = "off" ] && exit 0
#_log "$OMR_TRACKER_DEVICE switched off"
multipath "$OMR_TRACKER_DEVICE" off
if [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
#[ "$multipath_status" = "off" ] && exit 0
#_log "$OMR_TRACKER_DEVICE switched off"
multipath "$OMR_TRACKER_DEVICE" off
fi
if [ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; then
config_load network
config_foreach set_route interface $OMR_TRACKER_INTERFACE
fi
config_load shadowsocks-libev
config_foreach del_ss_route server
if [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
config_load shadowsocks-libev
config_foreach del_ss_route server
fi
exit 0
fi