1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Fix failover

This commit is contained in:
Ycarus 2018-02-20 13:48:12 +01:00
parent def4db4d46
commit 5dc4952622

View file

@ -4,14 +4,17 @@ SETROUTE=false
set_route() { set_route() {
local multipath_config interface_gw interface_if local multipath_config interface_gw interface_if
INTERFACE=$1 INTERFACE=$1
PREVINTERFACE=$2
multipath_config=$(uci -q get "network.$INTERFACE.multipath" || echo "off") multipath_config=$(uci -q get "network.$INTERFACE.multipath" || echo "off")
multipath_current_config=$(multipath $INTERFACE | grep deactivated) multipath_current_config=$(multipath $INTERFACE | grep deactivated)
if [ "$multipath_config" != "off" ] && [ "$SETROUTE" != true ] && [ "$multipath_current_config" = "" ]; then #if [ "$multipath_config" != "off" ] && [ "$SETROUTE" != true ] && [ "$multipath_current_config" = "" ]; then
#if [ "$multipath_config" != "off" ] && [ "$SETROUTE" != true ]; then #if [ "$multipath_config" != "off" ] && [ "$SETROUTE" != true ]; then
if [ "$multipath_config" != "off" ] &&[ "$INTERFACE" != "$PREVINTERFACE" ] && [ "$SETROUTE" != true ]; then
interface_gw=$(uci -q get "network.$INTERFACE.gateway") interface_gw=$(uci -q get "network.$INTERFACE.gateway")
interface_if=$(uci -q get "network.$INTERFACE.ifname") interface_if=$(uci -q get "network.$INTERFACE.ifname")
_log "Replace default route by $interface_gw dev $interface_if" _log "Replace default route by $interface_gw dev $interface_if"
ip route replace default scope global nexthop via $interface_gw dev $interface_if && SETROUTE=true ip route replace default scope global nexthop via $interface_gw dev $interface_if && SETROUTE=true
sleep `expr $RANDOM % 10`
fi fi
} }
@ -34,7 +37,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
multipath "$OMR_TRACKER_DEVICE" off multipath "$OMR_TRACKER_DEVICE" off
if [ "$default_gw" = "$current_interface_gw" ] || [ "$default_gw" = "" ]; then if [ "$default_gw" = "$current_interface_gw" ] || [ "$default_gw" = "" ]; then
config_load network config_load network
config_foreach set_route interface config_foreach set_route interface $OMR_TRACKER_DEVICE
fi fi
exit 0 exit 0
fi fi