<%+cbi/valueheader%> <script type="text/javascript">//<![CDATA[ var iwxhr = new XHR(); function iface_shutdown(id, reconnect) { if (!reconnect && !confirm(String.format('<%_Really shutdown network ?\nYou might lose access to this router if you are connected via this interface.%>', id))) return; var a = document.getElementById(id + '-ifc-addrs'); if (a) { a.innerHTML = reconnect ? '<em><%:Interface is reconnecting...%></em>' : '<em><%:Interface is shutting down...%></em>'; } var s = document.getElementById('ifc-rc-status'); if (s) { s.parentNode.style.display = 'block'; s.innerHTML = '<%:Waiting for router...%>'; } var rcxhr = new XHR(); rcxhr.get('<%=luci.dispatcher.build_url("admin", "network")%>/iface_' + (reconnect ? 'reconnect' : 'shutdown') + '/' + id, null, function(x) { if (s) { s.innerHTML = reconnect ? '<%:Interface reconnected%>' : '<%:Interface shut down%>'; window.setTimeout(function() { s.parentNode.style.display = 'none'; }, 1000); } } ); } (function() { var func = arguments.callee; iwxhr.get('<%=luci.dispatcher.build_url("admin", "network", "iface_status", self.network)%>', null, function(x, ifc) { if (ifc && (ifc = ifc[0])) { var html = ''; 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>', String.format(icon, ifc.type), ifc.ifname ? ifc.ifname : '?' ); var d = document.getElementById('<%=self.option%>-ifc-description'); if (d && ifc.ifname && ifc.macaddr != '00:00:00:00:00:00') { if (ifc.is_up) { html += String.format('<strong><%:Uptime%>:</strong> %t<br />', ifc.uptime); } if (ifc.type != 'tunnel') { html += String.format('<strong><%:MAC Address%>:</strong> %s<br />', ifc.macaddr); } html += String.format( '<strong><%:RX%></strong>: %.2mB (%d <%:Pkts.%>)<br />' + '<strong><%:TX%></strong>: %.2mB (%d <%:Pkts.%>)<br />', ifc.rx_bytes, ifc.rx_packets, ifc.tx_bytes, ifc.tx_packets ); if (ifc.ipaddrs && ifc.ipaddrs.length) { html += '<strong><%:IPv4%>: </strong>'; for (var i = 0; i < ifc.ipaddrs.length; i++) html += String.format( '%s%s/%d', i ? ', ' : '', ifc.ipaddrs[i].addr, ifc.ipaddrs[i].prefix ); html += '<br />'; } if (ifc.ip6addrs && ifc.ip6addrs.length) { html += '<strong><%:IPv6%>: </strong>'; for (var i = 0; i < ifc.ip6addrs.length; i++) html += String.format( '%s%s/%d', i ? ', ' : '', ifc.ip6addrs[i].addr.toUpperCase(), ifc.ip6addrs[i].prefix ); html += '<br />'; } d.innerHTML = html; } else if (d) { d.innerHTML = '<em><%:Interface not present or not connected yet.%></em>'; } } window.setTimeout(func, 5000); } ) })(); //]]></script> <table> <tr class="cbi-section-table"> <td></td> <td class="cbi-value-field" style="min-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%>