mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
Fix post tracking script
This commit is contained in:
parent
428d043a9f
commit
8451494161
1 changed files with 18 additions and 12 deletions
|
@ -29,7 +29,7 @@ set_ss_route() {
|
||||||
local server_ip
|
local server_ip
|
||||||
config_get server_ip $1 server
|
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
|
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
|
ip route replace $server_ip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ del_ss_route() {
|
||||||
local server_ip
|
local server_ip
|
||||||
config_get server_ip $1 server
|
config_get server_ip $1 server
|
||||||
if [ "$server_ip" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE | grep $server_ip)" != "" ]; then
|
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
|
ip route delete $server_ip dev $OMR_TRACKER_DEVICE
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -47,26 +47,32 @@ sleep `expr $RANDOM % 10`
|
||||||
|
|
||||||
# Get the current multipath status
|
# Get the current multipath status
|
||||||
multipath_status="off"
|
multipath_status="off"
|
||||||
case "$(multipath "$OMR_TRACKER_DEVICE")" in
|
if [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
|
||||||
*default*) multipath_status="on" ;;
|
case "$(multipath "$OMR_TRACKER_DEVICE")" in
|
||||||
*backup*) multipath_status="backup" ;;
|
*default*) multipath_status="on" ;;
|
||||||
*handover*) multipath_status="handover" ;;
|
*backup*) multipath_status="backup" ;;
|
||||||
esac
|
*handover*) multipath_status="handover" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
default_gw=$(ip route show default | grep -v metric | awk '/default/ {print $3}')
|
default_gw=$(ip route show default | grep -v metric | awk '/default/ {print $3}')
|
||||||
#current_interface_gw=$(uci -q get "network.$OMR_TRACKER_INTERFACE.gateway")
|
#current_interface_gw=$(uci -q get "network.$OMR_TRACKER_INTERFACE.gateway")
|
||||||
|
|
||||||
# An interface in error will never be used in MPTCP
|
# An interface in error will never be used in MPTCP
|
||||||
if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
|
if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
|
||||||
#[ "$multipath_status" = "off" ] && exit 0
|
if [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
|
||||||
#_log "$OMR_TRACKER_DEVICE switched off"
|
#[ "$multipath_status" = "off" ] && exit 0
|
||||||
multipath "$OMR_TRACKER_DEVICE" off
|
#_log "$OMR_TRACKER_DEVICE switched off"
|
||||||
|
multipath "$OMR_TRACKER_DEVICE" off
|
||||||
|
fi
|
||||||
if [ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; then
|
if [ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; then
|
||||||
config_load network
|
config_load network
|
||||||
config_foreach set_route interface $OMR_TRACKER_INTERFACE
|
config_foreach set_route interface $OMR_TRACKER_INTERFACE
|
||||||
fi
|
fi
|
||||||
config_load shadowsocks-libev
|
if [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
|
||||||
config_foreach del_ss_route server
|
config_load shadowsocks-libev
|
||||||
|
config_foreach del_ss_route server
|
||||||
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue