mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 15:38:40 +01:00
mwan3: revert add online_metric for local_source none
This is not necessary.
This reverts commit be91e71805.
This commit is contained in:
@@ -1,98 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
. /lib/functions.sh
|
|
||||||
. /lib/functions/network.sh
|
|
||||||
. /lib/mwan3/mwan3.sh
|
|
||||||
|
|
||||||
LOG="logger -t mwan3[$$] -p"
|
|
||||||
|
|
||||||
[ "$ACTION" = "connected" -o "$ACTION" = "disconnected" ] || exit 1
|
|
||||||
[ -n "$INTERFACE" ] || exit 2
|
|
||||||
|
|
||||||
if [ "$ACTION" = "connected" ]; then
|
|
||||||
[ -n "$DEVICE" ] || exit 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
config_load mwan3
|
|
||||||
config_get_bool enabled globals 'enabled' '0'
|
|
||||||
config_get local_source globals 'local_source' 'none'
|
|
||||||
[ ${enabled} = "1" ] || exit 0
|
|
||||||
[ ${local_source} = "none" ] || exit 0
|
|
||||||
|
|
||||||
config_get enabled $INTERFACE enabled 0
|
|
||||||
config_get online_metric $INTERFACE online_metric 0
|
|
||||||
[ "$enabled" == "1" ] || exit 0
|
|
||||||
|
|
||||||
if [ "$online_metric" = 0 ]; then
|
|
||||||
$LOG notice "No online metric for interface "$INTERFACE" found"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
mwan3_add_failover_metric() {
|
|
||||||
local iface="$1"
|
|
||||||
local device="$2"
|
|
||||||
local metric="$3"
|
|
||||||
|
|
||||||
local route_args
|
|
||||||
|
|
||||||
config_get family $iface family ipv4
|
|
||||||
|
|
||||||
if [ "$family" == "ipv4" ]; then
|
|
||||||
if ubus call network.interface.${iface}_4 status 1>/dev/null 2>&1; then
|
|
||||||
network_get_gateway route_args ${iface}_4
|
|
||||||
else
|
|
||||||
network_get_gateway route_args $iface
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$route_args" -a "$route_args" != "0.0.0.0" ]; then
|
|
||||||
route_args="via $route_args"
|
|
||||||
else
|
|
||||||
route_args=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
$IP4 route add default $route_args dev $device proto static metric $metric 1>/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$family" == "ipv6" ]; then
|
|
||||||
if ubus call network.interface.${iface}_6 status 1>/dev/null 2>&1; then
|
|
||||||
network_get_gateway6 route_args ${iface}_6
|
|
||||||
else
|
|
||||||
network_get_gateway6 route_args $iface
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$route_args" -a "$route_args" != "::" ]; then
|
|
||||||
route_args="via $route_args"
|
|
||||||
else
|
|
||||||
route_args=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
$IP6 route add default $route_args dev $device proto static metric $metric 1>/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
mwan3_del_failover_metric() {
|
|
||||||
local iface="$1"
|
|
||||||
local device="$2"
|
|
||||||
local metric="$3"
|
|
||||||
|
|
||||||
config_get family $iface family ipv4
|
|
||||||
|
|
||||||
if [ "$family" == "ipv4" ]; then
|
|
||||||
$IP4 route del default dev $device proto static metric $metric 1>/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$family" == "ipv6" ]; then
|
|
||||||
$IP6 route del default dev $device proto static metric $metric 1>/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$ACTION" in
|
|
||||||
connected)
|
|
||||||
mwan3_add_failover_metric "$INTERFACE" "$DEVICE" "$online_metric"
|
|
||||||
;;
|
|
||||||
disconnected)
|
|
||||||
mwan3_del_failover_metric "$INTERFACE" "$DEVICE" "$online_metric"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
@@ -1219,25 +1219,3 @@ mwan3_track_clean()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mwan3_online_metric_clean() {
|
|
||||||
local iface="$1"
|
|
||||||
|
|
||||||
local online_metric ifname
|
|
||||||
|
|
||||||
config_get family $iface family ipv4
|
|
||||||
config_get online_metric $iface online_metric ""
|
|
||||||
ifname=$(uci_get_state network $iface ifname)
|
|
||||||
|
|
||||||
if [ "$family" == "ipv4" ] \
|
|
||||||
&& [ "$online_metric" != "" ] \
|
|
||||||
&& [ "$ifname" != "" ]; then
|
|
||||||
$IP4 route del default dev $ifname proto static metric $online_metric 1>/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$family" == "ipv6" ] \
|
|
||||||
&& [ "$online_metric" != "" ] \
|
|
||||||
&& [ "$ifname" != "" ]; then
|
|
||||||
$IP6 route del default dev $ifname proto static metric $online_metric 1>/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -175,7 +175,6 @@ stop()
|
|||||||
|
|
||||||
config_load mwan3
|
config_load mwan3
|
||||||
config_foreach mwan3_track_clean interface
|
config_foreach mwan3_track_clean interface
|
||||||
config_foreach mwan3_online_metric_clean interface
|
|
||||||
|
|
||||||
for IP in "$IP4" "$IP6"; do
|
for IP in "$IP4" "$IP6"; do
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user