diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
index 319856e73..d18674d36 100644
--- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
+++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua
@@ -968,10 +968,10 @@ function interfaces_status()
if enabled == "0" then return end
local connectivity
-
+ local multipath_state = ""
if ifname ~= "" and ifname ~= nil then
if fs.access("/sys/class/net/" .. ifname) then
- local multipath_state = ut.trim(sys.exec("multipath " .. ifname .. " | grep deactivated"))
+ multipath_state = ut.trim(sys.exec("multipath " .. ifname .. " | grep deactivated"))
if multipath_state == "" then
connectivity = "OK"
else
@@ -1140,6 +1140,7 @@ function interfaces_status()
server_ping = server_ping,
ipv6_discover = ipv6_discover,
multipath_available = multipath_available,
+ multipath_state = multipath_state,
duplicateif = duplicateif,
}
diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
index a0e7fb5f7..e51c2d2d6 100644
--- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
+++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm
@@ -346,6 +346,7 @@
var server_ping = mArray.wans[i].server_ping;
var ipv6_discover = mArray.wans[i].ipv6_discover;
var multipath_available = mArray.wans[i].multipath_available;
+ var multipath_state = mArray.wans[i].multipath_state;
var duplicateif = mArray.wans[i].duplicateif;
// Generate template
if(mArray.openmptcprouter.remote_from_lease == true && mArray.wans.length == 1)
@@ -412,6 +413,11 @@
statusMessage += 'Multipath master already defined
';
statusMessageClass = "error";
}
+ if(multipath !== multipath_state)
+ {
+ statusMessage += 'Multipath current state is ' + multipath_state + '
';
+ statusMessageClass = "error";
+ }
if(duplicateif)
{
statusMessage += 'Network interface duplicated
';
diff --git a/luci-app-openmptcprouter/root/bin/omr-ip-intf b/luci-app-openmptcprouter/root/bin/omr-ip-intf
index 2cd6861bb..985921054 100755
--- a/luci-app-openmptcprouter/root/bin/omr-ip-intf
+++ b/luci-app-openmptcprouter/root/bin/omr-ip-intf
@@ -1,5 +1,8 @@
#!/bin/sh
checkip=$(dig +short A ip.openmptcprouter.com | tr -d "\n")
ipset add ss_rules_dst_bypass_all $checkip > /dev/null 2>&1
-curl -s -4 -m 3 --interface $1 http://ip.openmptcprouter.com
+ip="$(curl -s -4 -m 3 --interface $1 http://ip.openmptcprouter.com)"
ipset del ss_rules_dst_bypass_all $checkip > /dev/null 2>&1
+if expr "$ip" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >/dev/null; then
+ echo $ip
+fi
\ No newline at end of file