summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/mwan3/files/lib/mwan3/mwan3.sh27
1 files changed, 21 insertions, 6 deletions
diff --git a/net/mwan3/files/lib/mwan3/mwan3.sh b/net/mwan3/files/lib/mwan3/mwan3.sh
index 3ce880fd2..652cbfd42 100644
--- a/net/mwan3/files/lib/mwan3/mwan3.sh
+++ b/net/mwan3/files/lib/mwan3/mwan3.sh
@@ -43,13 +43,20 @@ mwan3_rtmon_ipv4()
local ret=1
local tbl=""
- local tid
+ local tid family enabled
mkdir -p /tmp/mwan3rtmon
($IP4 route list table main | grep -v "^default\|linkdown" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv4.main
while uci get mwan3.@interface[$idx] >/dev/null 2>&1 ; do
tid=$((idx+1))
- [ "$(uci get mwan3.@interface[$idx].family)" = "ipv4" ] && {
+
+ family="$(uci -q get mwan3.@interface[$idx].family)"
+ [ -z "$family" ] && family="ipv4"
+
+ enabled="$(uci -q get mwan3.@interface[$idx].enabled)"
+ [ -z "$enabled" ] && enabled="0"
+
+ [ "$family" = "ipv4" ] && {
tbl=$($IP4 route list table $tid 2>/dev/null)
if echo "$tbl" | grep -q ^default; then
(echo "$tbl" | grep -v "^default\|linkdown" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv4.$tid
@@ -61,7 +68,7 @@ mwan3_rtmon_ipv4()
done
fi
}
- if [ "$(uci get mwan3.@interface[$idx].enabled)" = "1" ]; then
+ if [ "$enabled" = "1" ]; then
ret=0
fi
idx=$((idx+1))
@@ -78,13 +85,21 @@ mwan3_rtmon_ipv6()
local ret=1
local tbl=""
- local tid
+ local tid family enabled
mkdir -p /tmp/mwan3rtmon
($IP6 route list table main | grep -v "^default\|^::/0\|^fe80::/64\|^unreachable" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv6.main
while uci get mwan3.@interface[$idx] >/dev/null 2>&1 ; do
tid=$((idx+1))
- [ "$(uci get mwan3.@interface[$idx].family)" = "ipv6" ] && {
+
+ family="$(uci -q get mwan3.@interface[$idx].family)"
+ # Set default family to ipv4 that is no mistake
+ [ -z "$family" ] && family="ipv4"
+
+ enabled="$(uci -q get mwan3.@interface[$idx].enabled)"
+ [ -z "$enabled" ] && enabled="0"
+
+ [ "$family" = "ipv6" ] && {
tbl=$($IP6 route list table $tid 2>/dev/null)
if echo "$tbl" | grep -q "^default\|^::/0"; then
(echo "$tbl" | grep -v "^default\|^::/0\|^unreachable" | sort -n; echo empty fixup) >/tmp/mwan3rtmon/ipv6.$tid
@@ -96,7 +111,7 @@ mwan3_rtmon_ipv6()
done
fi
}
- if [ "$(uci get mwan3.@interface[$idx].enabled)" = "1" ]; then
+ if [ "$enabled" = "1" ]; then
ret=0
fi
idx=$((idx+1))