3 <ul class="cbi-tabmenu">
4 <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript")%>"><%:Hotplug Script%></a></li>
5 <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/mwanconfig")%>"><%:MWAN Config%></a></li>
6 <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/networkconfig")%>"><%:Network Config%></a></li>
7 <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/wirelessconfig")%>"><%:Wireless Config%></a></li>
8 <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/diagnostics")%>"><%:Diagnostics%></a></li>
9 <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/network/mwan/advanced/troubleshooting")%>"><%:Troubleshooting%></a></li>
13 local uci = require "luci.model.uci"
16 uci.cursor():foreach("mwan3", "interface",
18 interfaceNames = interfaceNames .. section[".name"] .. " "
23 <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
24 <script type="text/javascript">//<![CDATA[
25 var stxhr = new XHR();
27 function update_status(tool, task)
29 var iface = document.getElementById('mwaniface').value;
30 var output = document.getElementById('diag_output');
32 if (tool == "service")
35 '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="padding: 20px; vertical-align: middle;" /> ' +
36 String.format("<%:Waiting for MWAN to %s...%>", task)
42 '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="padding: 20px; vertical-align: middle;" /> ' +
43 "<%:Waiting for diagnostic results...%>"
47 output.parentNode.style.display = 'block';
48 output.style.display = 'inline';
50 stxhr.get('<%=luci.dispatcher.build_url("admin", "network", "mwan", "advanced")%>/diagnostics_display' + '/' + iface + '/' + tool + '/' + task, null,
53 if (mArray.diagnostics)
55 output.innerHTML = String.format('<pre id="diag_output_css">%h</pre>', mArray.diagnostics[0]);
59 output.innerHTML = '<pre id="diag_output_css"><strong><%:No diagnostic results returned%></strong></pre>';
66 <div id="mwan_diagnostics" class="cbi-map">
67 <fieldset id="diag_select" class="cbi-section">
68 <legend><%:MWAN Interface Diagnostics%></legend>
69 <select id="mwaniface">
70 <% for z in interfaceNames:gmatch("[^ ]+") do -%><option value="<%=z%>"><%=z%></option><%- end %>
73 <input type="button" value="<%:Ping default gateway%>" class="cbi-button cbi-button-apply" onclick="update_status('ping', 'gateway')" />
74 <input type="button" value="<%:Ping tracking IP%>" class="cbi-button cbi-button-apply" onclick="update_status('ping', 'track_ip')" />
75 <input type="button" value="<%:Check IP rules%>" class="cbi-button cbi-button-apply" onclick="update_status('rulechk', null)" />
76 <input type="button" value="<%:Check routing table%>" class="cbi-button cbi-button-apply" onclick="update_status('routechk', null)" />
77 <input type="button" value="<%:Hotplug ifup%>" class="cbi-button cbi-button-apply" onclick="update_status('hotplug', 'ifup')" />
78 <input type="button" value="<%:Hotplug ifdown%>" class="cbi-button cbi-button-apply" onclick="update_status('hotplug', 'ifdown')" />
81 <fieldset id="diag_select" class="cbi-section">
82 <legend><%:MWAN Service Control%></legend>
84 <input type="button" value="<%:Restart MWAN%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'restart')" />
85 <input type="button" value="<%:Stop MWAN%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'stop')" />
86 <input type="button" value="<%:Start MWAN%>" class="cbi-button cbi-button-apply" onclick="update_status('service', 'start')" />
89 <fieldset class="cbi-section" style="display:none">
90 <legend><%:Diagnostic Results%></legend>
91 <div id="diag_output"></div>
95 <style type="text/css">
98 margin: 8px 20px 0px 0px;
106 margin: 8px 20px 0px 0px;