96 lines
2.8 KiB
HTML
96 lines
2.8 KiB
HTML
<%+cbi/valueheader%>
|
|
|
|
<script type="text/javascript"><![CDATA[
|
|
var iwxhr = new XHR();
|
|
var update_status = function() {
|
|
iwxhr.get('<%=luci.dispatcher.build_url("admin", "network", "iface_status", self.network)%>', null,
|
|
function(x, ifc)
|
|
{
|
|
if (ifc && (ifc = ifc[0]))
|
|
{
|
|
var is_up = (ifc.flags && ifc.flags.up);
|
|
var rxb = ifc.stats ? (ifc.stats["rx_bytes"] / 1024) : 0;
|
|
var txb = ifc.stats ? (ifc.stats["tx_bytes"] / 1024) : 0;
|
|
var rxp = ifc.stats ? ifc.stats["rx_packets"] : 0;
|
|
var txp = ifc.stats ? ifc.stats["tx_packets"] : 0;
|
|
var mac = ifc.macaddr ? ifc.macaddr : '00:00:00:00:00:00';
|
|
|
|
var icon;
|
|
if (is_up)
|
|
icon = "<%=resource%>/icons/ethernet.png";
|
|
else
|
|
icon = "<%=resource%>/icons/ethernet_disabled.png";
|
|
|
|
var s = document.getElementById('<%=self.option%>-ifc-signal');
|
|
if (s)
|
|
s.innerHTML = String.format(
|
|
'<img src="%s" style="width:16px; height:16px" /><br />' +
|
|
'<small>%s</small>', icon, ifc.ifname ? ifc.ifname : '?'
|
|
);
|
|
|
|
var d = document.getElementById('<%=self.option%>-ifc-description');
|
|
if (d && ifc.ifname)
|
|
{
|
|
d.innerHTML = String.format(
|
|
'<strong><%:MAC Address%>:</strong> %s<br />' +
|
|
'<strong><%:RX%></strong>: %.2f <%:KB%> (%d <%:Pkts.%>)<br />' +
|
|
'<strong><%:TX%></strong>: %.2f <%:KB%> (%d <%:Pkts.%>)<br />',
|
|
mac, rxb, rxp, txb, txp
|
|
);
|
|
|
|
if (ifc.ipaddrs && ifc.ipaddrs.length)
|
|
{
|
|
d.innerHTML += '<strong><%:IPv4%>: </strong>';
|
|
|
|
for (var i = 0; i < ifc.ipaddrs.length; i++)
|
|
d.innerHTML += String.format(
|
|
'%s%s/%d',
|
|
i ? ', ' : '',
|
|
ifc.ipaddrs[i].addr,
|
|
ifc.ipaddrs[i].prefix
|
|
);
|
|
|
|
d.innerHTML += '<br />';
|
|
}
|
|
|
|
if (ifc.ip6addrs && ifc.ip6addrs.length)
|
|
{
|
|
d.innerHTML += '<strong><%:IPv6%>: </strong>';
|
|
|
|
for (var i = 0; i < ifc.ip6addrs.length; i++)
|
|
d.innerHTML += String.format(
|
|
'%s%s/%d',
|
|
i ? ', ' : '',
|
|
ifc.ip6addrs[i].addr.toUpperCase(),
|
|
ifc.ip6addrs[i].prefix
|
|
);
|
|
|
|
d.innerHTML += '<br />';
|
|
}
|
|
}
|
|
else if (d)
|
|
d.innerHTML = '<%:Interface not present or not connected yet.%>';
|
|
}
|
|
|
|
window.setTimeout(update_status, 5000);
|
|
}
|
|
)
|
|
};
|
|
|
|
update_status();
|
|
]]></script>
|
|
|
|
<table>
|
|
<tr class="cbi-section-table">
|
|
<td></td>
|
|
<td class="cbi-value-field" style="width:16px; padding:3px; text-align:center" id="<%=self.option%>-ifc-signal">
|
|
<img src="<%=resource%>/icons/ethernet_disabled.png" style="width:16px; height:16px" /><br />
|
|
<small>?</small>
|
|
</td>
|
|
<td class="cbi-value-field" style="vertical-align:middle; text-align:left; padding:3px" id="<%=self.option%>-ifc-description">
|
|
<em><%:Collecting data...%></em>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<%+cbi/valuefooter%>
|