summaryrefslogtreecommitdiffhomepage
path: root/modules/niu/luasrc/view
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2009-11-13 18:26:06 +0000
committerSteven Barth <steven@midlink.org>2009-11-13 18:26:06 +0000
commit0784b7b9d512602f519aa7c0e826f97ef5ca25ff (patch)
tree39f1f7e23d231cbcd1ba79001ebc070c554e8175 /modules/niu/luasrc/view
parent43820b99ecac96b1f5c3abe44eb446cdea5d41b4 (diff)
NIU:
WAN Ehternet / DSL complete. Custom Routes complete. Conntrack introduced. Overall minor fixes.
Diffstat (limited to 'modules/niu/luasrc/view')
-rw-r--r--modules/niu/luasrc/view/niu/network/conntrack.htm75
-rw-r--r--modules/niu/luasrc/view/niu/network/rtable.htm111
2 files changed, 186 insertions, 0 deletions
diff --git a/modules/niu/luasrc/view/niu/network/conntrack.htm b/modules/niu/luasrc/view/niu/network/conntrack.htm
new file mode 100644
index 0000000000..09b1d6b1cf
--- /dev/null
+++ b/modules/niu/luasrc/view/niu/network/conntrack.htm
@@ -0,0 +1,75 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008-2009 Steven Barth <steven@midlink.org>
+Copyright 2008-2009 Jo-Philipp Wich <xm@subsignal.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+
+<%-
+ local sys = require "luci.sys"
+ local style = true
+-%>
+
+<%+header%>
+
+<div class="cbi-map" id="cbi-conntrack">
+ <h2><a id="content" name="content"><%:Active Connections%></a></h2>
+ <div class="cbi-map-descr"><%:This page gives an overview over currently active network connections.%></div>
+
+ <fieldset class="cbi-section" id="cbi-table-table">
+ <legend>ARP</legend>
+ <div class="cbi-section-node">
+ <table class="cbi-section-table">
+ <tr class="cbi-section-table-titles">
+ <th class="cbi-section-table-cell"><%_<abbr title="Internet Protocol Version 4">IPv4</abbr>-Address%></th>
+ <th class="cbi-section-table-cell"><%_<abbr title="Media Access Control">MAC</abbr>-Address%></th>
+ <th class="cbi-section-table-cell"><%:Interface%></th>
+ </tr>
+
+ <% sys.net.arptable(function(e) %>
+ <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <td class="cbi-value-field"><%=e["IP address"]%></td>
+ <td class="cbi-value-field"><%=e["HW address"]%></td>
+ <td class="cbi-value-field"><%=e["Device"]%></td>
+ </tr>
+ <% style = not style; end) %>
+ </table>
+ </div>
+ </fieldset>
+ <br />
+
+ <fieldset class="cbi-section" id="cbi-table-table">
+ <legend><%:Active Connections%></legend>
+ <div class="cbi-section-node">
+ <table class="cbi-section-table">
+ <tr class="cbi-section-table-titles">
+ <th class="cbi-section-table-cell"><%:Network%></th>
+ <th class="cbi-section-table-cell"><%:Protocol%></th>
+ <th class="cbi-section-table-cell"><%:Source%></th>
+ <th class="cbi-section-table-cell"><%:Destination%></th>
+ </tr>
+
+ <% style = true; sys.net.conntrack(function(c) %>
+ <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <td class="cbi-value-field"><%=c.layer3:upper()%></td>
+ <td class="cbi-value-field"><%=c.layer4:upper()%></td>
+ <td class="cbi-value-field"><%=c.src%></td>
+ <td class="cbi-value-field"><%=c.dst%></td>
+ </tr>
+ <% style = not style; end) %>
+ </table>
+ </div>
+ </fieldset>
+ <br />
+</div>
+
+<%+footer%>
+
diff --git a/modules/niu/luasrc/view/niu/network/rtable.htm b/modules/niu/luasrc/view/niu/network/rtable.htm
new file mode 100644
index 0000000000..4452a87dbc
--- /dev/null
+++ b/modules/niu/luasrc/view/niu/network/rtable.htm
@@ -0,0 +1,111 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008-2009 Steven Barth <steven@midlink.org>
+Copyright 2008-2009 Jo-Philipp Wich <xm@subsignal.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+
+<%-
+ local fs = require "nixio.fs"
+ local bit = require "nixio".bit
+ local sys = require "luci.sys"
+ local uci = require "luci.model.uci"
+ local inst = uci.inst
+ local state = uci.inst_state
+ local http = require "luci.http"
+ local style = true
+
+
+ local ifc = {__index = function(self, key)
+ local net = key
+ state:foreach("network", "interface", function(s)
+ if s.ifname == key then
+ net = s[".name"]
+ end
+ end)
+ rawset(self, key, net)
+ return net
+ end}
+ setmetatable(ifc, ifc)
+
+ if http.formvalue("toggle_rtable") then
+ local cursor = uci.cursor()
+ local rt = cursor:get("network", "lan", "_showrtable") or "1"
+ cursor:set("network", "lan", "_showrtable", rt == "1" and "0" or "1")
+ cursor:save("network")
+ cursor:unload("network")
+ end
+-%>
+
+<div><a href="?toggle_rtable=1"> &gt; <%:Toggle display of Routing Information%> &lt; </a></div>
+<br />
+
+<% if inst:get("network", "lan", "_showrtable") ~= "0" then %>
+<div class="cbi-map" id="x-cbi-network">
+
+ <fieldset class="cbi-section" id="x-cbi-table-table">
+ <legend><%_Active <abbr title="Internet Protocol Version 4">IPv4</abbr>-Routes%></legend>
+
+ <div class="cbi-section-node">
+ <table class="cbi-section-table">
+ <tr class="cbi-section-table-titles">
+ <th class="cbi-section-table-cell"><%:Network%></th>
+ <th class="cbi-section-table-cell"><%:Target%></th>
+ <th class="cbi-section-table-cell"><%_<abbr title="Internet Protocol Version 4">IPv4</abbr>-Netmask%></th>
+ <th class="cbi-section-table-cell"><%_<abbr title="Internet Protocol Version 4">IPv4</abbr>-Gateway%></th>
+ <th class="cbi-section-table-cell"><%:Metric%></th>
+ </tr>
+ <% luci.sys.net.routes(function(rt) %>
+ <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <td class="cbi-value-field"><%=ifc[rt.device]%></td>
+ <td class="cbi-value-field"><%=rt.dest:network():string()%></td>
+ <td class="cbi-value-field"><%=rt.dest:mask():string()%></td>
+ <td class="cbi-value-field"><%=rt.gateway:string()%></td>
+ <td class="cbi-value-field"><%=rt.metric%></td>
+ </tr>
+ <% style = not style; end) %>
+ </table>
+ </div>
+ </fieldset>
+ <br />
+
+ <% if fs.access("/proc/net/ipv6_route") then style = true %>
+ <fieldset class="cbi-section" id="x-cbi-table-table-2">
+ <legend><%_Active <abbr title="Internet Protocol Version 6">IPv6</abbr>-Routes%></legend>
+
+ <div class="cbi-section-node">
+ <table class="cbi-section-table">
+ <tr class="cbi-section-table-titles">
+ <th class="cbi-section-table-cell"><%:Network%></th>
+ <th class="cbi-section-table-cell"><%:Target%></th>
+ <th class="cbi-section-table-cell"><%_<abbr title="Internet Protocol Version 6">IPv6</abbr>-Gateway%></th>
+ <th class="cbi-section-table-cell"><%:Metric%></th>
+ </tr>
+ <% luci.sys.net.routes6(function(rt) %>
+ <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
+ <td class="cbi-value-field"><%=ifc[rt.device]%></td>
+ <td class="cbi-value-field"><%=rt.dest:string()%></td>
+ <td class="cbi-value-field"><%=rt.source:string()%></td>
+ <td class="cbi-value-field"><%-
+ local metr = rt.metric
+ local lower = bit.band(metr, 0xffff)
+ local higher = bit.rshift(bit.band(metr, 0xffff0000), 16)
+ write(string.format("%04X%04X", higher, lower))
+ -%></td>
+ </tr>
+ <% style = not style; end) %>
+ </table>
+ </div>
+ </fieldset>
+ <br />
+ <% end %>
+</div>
+<% end %>