summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2018-04-03 17:43:57 +0300
committerGitHub <noreply@github.com>2018-04-03 17:43:57 +0300
commitf5671b420a0a418a217cf55dd4fbee73f336b4de (patch)
tree7204b21644f36af7906b7081f9d3e446b43729c8 /applications
parent46a2b5ebeaad5c1702e95970cc74dfad0690fa6d (diff)
parentdd637e4f46713f4e09e026d7f76bbd8e2614e4a0 (diff)
Merge pull request #1715 from TDT-AG/pr/20180403-luci-app-mwan3-update
luci-app-mwan3: fixes and improvments
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua37
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm5
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm4
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm3
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm5
-rw-r--r--applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm4
6 files changed, 40 insertions, 18 deletions
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua
index 14bf1384f7..556a4f7010 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua
@@ -5,15 +5,15 @@
dsp = require "luci.dispatcher"
-function interfaceWarnings(overview, count)
+function interfaceWarnings(overview, count, iface_max)
local warnings = ""
- if count <= 250 then
+ if count <= iface_max then
warnings = string.format("<strong>%s</strong><br />",
- translatef("There are currently %d of 250 supported interfaces configured", count)
+ translatef("There are currently %d of %d supported interfaces configured", count, iface_max)
)
else
warnings = string.format("<strong>%s</strong><br />",
- translatef("WARNING: %d interfaces are configured exceeding the maximum of 250!", count)
+ translatef("WARNING: %d interfaces are configured exceeding the maximum of %d!", count, iface_max)
)
end
@@ -103,7 +103,34 @@ function configCheck()
end
end
)
- return overview, count
+
+ -- calculate iface_max usage from firewall mmx_mask
+ function bit(p)
+ return 2 ^ (p - 1)
+ end
+ function hasbit(x, p)
+ return x % (p + p) >= p
+ end
+ function setbit(x, p)
+ return hasbit(x, p) and x or x + p
+ end
+
+ local uci = require("uci").cursor(nil, "/var/state")
+ local mmx_mask = uci:get("mwan3", "globals", "mmx_mask") or "0x3F00"
+ local number = tonumber(mmx_mask, 16)
+ local bits = 0
+ local iface_max = 0
+ for i=1,16 do
+ if hasbit(number, bit(i)) then
+ bits = bits + 1
+ iface_max = setbit( iface_max, bit(bits))
+ end
+ end
+
+ -- subtract blackhole, unreachable and default table from iface_max
+ iface_max = iface_max - 3
+
+ return overview, count, iface_max
end
m5 = Map("mwan3", translate("MWAN - Interfaces"),
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm b/applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm
index 4ec0edf049..49d120c1ae 100644
--- a/applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/overview_status_interface.htm
@@ -19,7 +19,7 @@ XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "interface_
switch (status.interfaces[iface].status)
{
case 'online':
- state = '<%:Online (tracking active)%>';
+ state = '<%:Online%>';
css = 'success';
break;
case 'offline':
@@ -69,6 +69,7 @@ XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "interface_
<fieldset id="interface_field" class="cbi-section">
<legend><%:MWAN Interfaces%></legend>
<div id="mwan_status_text">
- <img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /><%:Collecting data...%>
+ <img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
+ <%:Collecting data...%>
</div>
</fieldset>
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm b/applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm
index 70eac72520..bcc23beb31 100644
--- a/applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/status_detail.htm
@@ -18,9 +18,7 @@
XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "detailed_status")%>', null,
function(x)
{
- var legend = document.getElementById('diag-rc-legend');
var output = document.getElementById('diag-rc-output');
- legend.style.display = 'none';
output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
}
);
@@ -32,9 +30,9 @@
<div><strong><%:INFO: MWAN not running%></strong></div>
<%end%>
<fieldset class="cbi-section">
- <legend id="diag-rc-legend"><%:Collecting data...%></legend>
<span id="diag-rc-output">
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align: middle;" />
+ <%:Collecting data...%>
</span>
</fieldset>
</div>
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm b/applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm
index f1c5d8fd98..22f4734ddd 100644
--- a/applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/status_diagnostics.htm
@@ -31,7 +31,6 @@
function update_status(iface, task)
{
- var legend = document.getElementById('diag-rc-legend');
var output = document.getElementById('diag-rc-output');
output.innerHTML =
@@ -45,7 +44,6 @@
stxhr.post('<%=url('admin/status/mwan')%>/diagnostics_display' + '/' + iface + '/' + task, { token: '<%=token%>' },
function(x)
{
- legend.style.display = 'none';
output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
}
);
@@ -86,7 +84,6 @@
</fieldset>
</div>
<fieldset class="cbi-section" style="display:none">
- <legend id="diag-rc-legend"><%:Collecting data...%></legend>
<span id="diag-rc-output"></span>
</fieldset>
</form>
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm b/applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm
index cb476967f9..4518bd6588 100644
--- a/applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/status_interface.htm
@@ -15,6 +15,7 @@
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
-<%+mwan/overview_status_interface%>
-
+<div class="cbi-map">
+ <%+mwan/overview_status_interface%>
+</div>
<%+footer%>
diff --git a/applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm b/applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm
index 77d009231e..f60e0da0aa 100644
--- a/applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm
+++ b/applications/luci-app-mwan3/luasrc/view/mwan/status_troubleshooting.htm
@@ -18,9 +18,7 @@
XHR.poll(15, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "troubleshooting_display")%>', null,
function(x)
{
- var legend = document.getElementById('diag-rc-legend');
var output = document.getElementById('diag-rc-output');
- legend.style.display = 'none';
output.innerHTML = String.format('<pre>%h</pre>', x.responseText);
}
);
@@ -32,9 +30,9 @@
<div><strong><%:INFO: MWAN not running%></strong></div>
<%end%>
<fieldset class="cbi-section">
- <legend id="diag-rc-legend"><%:Collecting data...%></legend>
<span id="diag-rc-output">
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align: middle;" />
+ <%:Collecting data...%>
</span>
</fieldset>
</div>