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:
parent
428d043a9f
commit
8451494161
1 changed files with 18 additions and 12 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue