Merge pull request #1715 from TDT-AG/pr/20180403-luci-app-mwan3-update

luci-app-mwan3: fixes and improvments
This commit is contained in:
Hannu Nyman 2018-04-03 17:43:57 +03:00 committed by GitHub
commit f5671b420a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 40 additions and 18 deletions

View file

@ -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"),

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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%>

View file

@ -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>