modules/admin-full: remove status -> interfaces
This commit is contained in:
parent
2321cd2afe
commit
831654f504
2 changed files with 2 additions and 314 deletions
|
@ -18,8 +18,8 @@ function index()
|
|||
luci.i18n.loadc("base")
|
||||
local i18n = luci.i18n.translate
|
||||
|
||||
entry({"admin", "status"}, template("admin_status/index"), i18n("Status"), 20).index = true
|
||||
entry({"admin", "status", "interfaces"}, template("admin_status/interfaces"), i18n("Interfaces"), 1)
|
||||
entry({"admin", "status"}, alias("admin", "status", "interfaces"), i18n("Status"), 20).index = true
|
||||
entry({"admin", "status", "interfaces"}, template("admin_status/index"), i18n("Overview"), 1)
|
||||
entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("Firewall"), 2).leaf = true
|
||||
entry({"admin", "status", "conntrack"}, template("admin_status/conntrack"), i18n("Active Connections"), 3)
|
||||
entry({"admin", "status", "routes"}, template("admin_status/routes"), i18n("Routes"), 4)
|
||||
|
|
|
@ -1,312 +0,0 @@
|
|||
<%#
|
||||
LuCI - Lua Configuration Interface
|
||||
Copyright 2008-2009 Steven Barth <steven@midlink.org>
|
||||
Copyright 2008-2009 Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
||||
|
||||
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 wba = require "luci.tools.webadmin"
|
||||
local uci = require "luci.model.uci".cursor_state()
|
||||
local fs = require "nixio.fs"
|
||||
|
||||
local bridge_ifs = { }
|
||||
local single_ifs = { }
|
||||
local wifi_ifs = { }
|
||||
local devinfo = sys.net.deviceinfo()
|
||||
|
||||
uci:foreach("network", "interface",
|
||||
function(s)
|
||||
if s['.name'] ~= "loopback" then
|
||||
if s.type == "bridge" then
|
||||
bridge_ifs[#bridge_ifs+1] = s
|
||||
else
|
||||
single_ifs[#single_ifs+1] = s
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
uci:foreach("wireless", "wifi-iface",
|
||||
function(s)
|
||||
wifi_ifs[s.network or s.device] = true
|
||||
end)
|
||||
|
||||
function is_wifi(i)
|
||||
return wifi_ifs[i]
|
||||
or i:match("^wl%d+")
|
||||
or i:match("^ath%d+")
|
||||
or i:match("^wlan%d+")
|
||||
end
|
||||
|
||||
function get_ifname(s)
|
||||
return s.ifname and s.ifname:match("%S+")
|
||||
end
|
||||
|
||||
function get_ifnames(s)
|
||||
local l = { }
|
||||
if s.ifname then
|
||||
for n in s.ifname:gmatch("%S+") do
|
||||
l[#l+1] = n
|
||||
end
|
||||
end
|
||||
return l
|
||||
end
|
||||
|
||||
function get_vlan(i)
|
||||
return i and i:match("^%w+%.(%d+)$")
|
||||
end
|
||||
|
||||
function get_vlan_ports(i)
|
||||
local x = get_vlan(i)
|
||||
local d = i:match("(%d+)%.%d+$")
|
||||
local p = { }
|
||||
|
||||
uci:foreach("network", "switch",
|
||||
function(s)
|
||||
local d2 = s['.name']:match("%d+$")
|
||||
if d2 == d and s["vlan"..x] then
|
||||
for pt in s["vlan"..x]:gmatch("%S+") do
|
||||
p[#p+1] = pt
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
return p
|
||||
end
|
||||
|
||||
function get_switch_driver(i)
|
||||
local n, d = i:match("([a-z]+)(%d+)%.%d+$")
|
||||
local hw = fs.readfile("/proc/switch/%s%s/driver" %{ n, d })
|
||||
or fs.readfile("/proc/switch/%s/driver" % d )
|
||||
|
||||
return hw and hw:match("%S+")
|
||||
end
|
||||
|
||||
function get_mac(i)
|
||||
for l in luci.util.execi("ifconfig %q" % i) do
|
||||
if l:find("HWaddr ") then
|
||||
return l:match("HWaddr (%S+)")
|
||||
end
|
||||
end
|
||||
return "00:00:00:00:00:00"
|
||||
end
|
||||
|
||||
function get_aliases(s)
|
||||
local a = { }
|
||||
uci:foreach("network", "alias",
|
||||
function(s2)
|
||||
if s2.interface == s['.name'] then
|
||||
a[#a+1] = s2
|
||||
end
|
||||
end)
|
||||
return a
|
||||
end
|
||||
|
||||
function get_iwinfo(i)
|
||||
local w = { }
|
||||
uci:foreach("wireless", "wifi-iface",
|
||||
function(s)
|
||||
if s.ifname == i then
|
||||
w.type = uci:get("wireless", s.device, "type")
|
||||
w.channel = uci:get("wireless", s.device, "channel")
|
||||
w.mode = ( s.wds == "1" ) and s.mode .. "wds" or s.mode
|
||||
w.ssid = s.ssid
|
||||
w.type = w.type and w.type:gsub("^([a-z])", string.upper)
|
||||
end
|
||||
end)
|
||||
return w
|
||||
end
|
||||
|
||||
function get_iwmode(w)
|
||||
local m = {
|
||||
ap = translate("Master"),
|
||||
sta = translate("Client"),
|
||||
wds = translate("WDS"),
|
||||
stawds = translate("Client + WDS"),
|
||||
apwds = translate("Master + WDS"),
|
||||
adhoc = translate("Ad-Hoc"),
|
||||
ahdemo = translate("Pseudo Ad-Hoc")
|
||||
}
|
||||
|
||||
return m[w.mode] or w.mode
|
||||
end
|
||||
|
||||
function get_brinfo(s)
|
||||
local b = { }
|
||||
local m = false
|
||||
for l in luci.util.execi("brctl show") do
|
||||
if not l:match("STP") then
|
||||
if m and l:match("^[a-z]") then
|
||||
break
|
||||
elseif m or l:match("^br%%-%s" % s['.name']) then
|
||||
m = true
|
||||
local r = luci.util.split(l, "%s+", nil, true)
|
||||
if #r > 2 then
|
||||
b.name = r[1]
|
||||
b.id = r[2]
|
||||
b.stp = r[3] == "yes"
|
||||
b.ifnames = { r[4] }
|
||||
else
|
||||
b.ifnames[#b.ifnames+1] = r[2]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return b
|
||||
end
|
||||
|
||||
-%>
|
||||
|
||||
<%+header%>
|
||||
|
||||
<h2><a id="content" name="content"><%:Interface Status%></a></h2>
|
||||
|
||||
<form method="post" action="<%=REQUEST_URI%>">
|
||||
<div class="cbi-map">
|
||||
<fieldset class="cbi-section">
|
||||
<% for _, i in ipairs(single_ifs) do
|
||||
dev = get_ifname(i)
|
||||
vlan = get_vlan(dev)
|
||||
|
||||
if dev and devinfo and devinfo[dev] then
|
||||
%>
|
||||
<h3><%:Interface%> <%=i['.name']%></h3>
|
||||
<p style="font-size:90%;padding-left:1em">
|
||||
|
||||
<strong><%:Device%>:</strong>
|
||||
<%=dev%> (<%:MAC%> <%=get_mac(dev)%>)<br />
|
||||
|
||||
<strong><%:Type%>:</strong>
|
||||
<% if is_wifi(dev) then iw = get_iwinfo(dev) -%>
|
||||
<%:Wireless Adapter%> (<%=iw.type%>)<br />
|
||||
<% if iw then %>
|
||||
└ <strong><%:Mode%>:</strong> <%=get_iwmode(iw)%><br />
|
||||
└ <strong><%:SSID%>:</strong> <%=iw.ssid%><br />
|
||||
└ <strong><%:Channel%>:</strong> <%=iw.channel%>
|
||||
<% end %>
|
||||
<% else -%>
|
||||
<% if vlan then %>
|
||||
<%:Ethernet Switch%> (<%=get_switch_driver(dev)%>)<br />
|
||||
└ <strong><%:VLAN%>:</strong> <%=get_vlan(dev)%> (<%:Ports%> <%=table.concat(get_vlan_ports(dev), ", ")%>)
|
||||
<% else %>
|
||||
<%:Ethernet Adapter%>
|
||||
<% end %>
|
||||
<% end -%><br />
|
||||
|
||||
<strong><%:Transfer%></strong><br />
|
||||
└ <strong><%:RX%>:</strong> <%=devinfo[dev][2]%> <%:Pkts.%> (<%=wba.byte_format(tonumber(devinfo[dev][1]))%>)<br />
|
||||
└ <strong><%:TX%>:</strong> <%=devinfo[dev][10]%> <%:Pkts.%> (<%=wba.byte_format(tonumber(devinfo[dev][9]))%>)<br />
|
||||
|
||||
<%- if ( i.ipaddr and #i.ipaddr > 0 ) or ( i.ip6addr and #i.ip6addr > 0 ) then -%>
|
||||
<strong><%:IP Configuration%></strong><br />
|
||||
└ <strong><%:Primary%>:</strong>
|
||||
<% if i.ipaddr and #i.ipaddr > 0 then %>
|
||||
<%=i.ipaddr%>/<%=i.netmask%>
|
||||
<% if i.proto == "dhcp" then -%>
|
||||
(<%:DHCP assigned%>)
|
||||
<%- end %>
|
||||
<% else %>
|
||||
<em><%:Not configured%></em>
|
||||
<% end %><br />
|
||||
|
||||
<% for i, a in ipairs(get_aliases(i)) do %>
|
||||
└ <strong><%:Alias%> #<%=i%>:</strong>
|
||||
<%=a.ipaddr%>/<%=a.netmask%> (<%:Device%> <%=dev%>:<%=i%>) <br />
|
||||
<% end %>
|
||||
|
||||
<% if i.ip6addr and #i.ip6addr > 0 then %>
|
||||
└ <strong><%:IPv6%>:</strong> <%=i.ip6addr%><br />
|
||||
<% end %>
|
||||
<%- end -%>
|
||||
<br /></p>
|
||||
<% end end %>
|
||||
|
||||
|
||||
<% for _, b in ipairs(bridge_ifs) do
|
||||
br = get_brinfo(b)
|
||||
dev = br and br.name
|
||||
|
||||
if br and devinfo and devinfo[dev] then
|
||||
%>
|
||||
<h3><%:Bridge%> <%=br.name%></h3>
|
||||
<p style="font-size:90%;padding-left:1em">
|
||||
|
||||
<strong><%:Device%>:</strong>
|
||||
<%=dev%> (<%:MAC%> <%=get_mac(dev)%>)<br />
|
||||
|
||||
<strong><%:Type%>:</strong>
|
||||
<%:Ethernet Bridge%><br />
|
||||
|
||||
└ <strong><%:ID%>:</strong> <%=br.id%><br />
|
||||
└ <strong><%:STP%>:</strong> <%=br.stp and "enabled" or "disabled"%><br />
|
||||
|
||||
<strong><%:Transfer%></strong><br />
|
||||
└ <strong><%:RX%>:</strong> <%=devinfo[dev][2]%> Pkts. (<%=wba.byte_format(tonumber(devinfo[dev][1]))%>)<br />
|
||||
└ <strong><%:TX%>:</strong> <%=devinfo[dev][10]%> Pkts. (<%=wba.byte_format(tonumber(devinfo[dev][9]))%>)<br />
|
||||
|
||||
<%- if ( b.ipaddr and #b.ipaddr > 0 ) or ( b.ip6addr and #b.ip6addr > 0 ) then -%>
|
||||
<strong><%:IP Configuration%></strong><br />
|
||||
└ <strong><%:Primary%>:</strong>
|
||||
<% if b.ipaddr and #b.ipaddr > 0 then %>
|
||||
<%=b.ipaddr%>/<%=b.netmask%>
|
||||
<% if b.proto == "dhcp" then -%>
|
||||
(<%:DHCP assigned%>)
|
||||
<%- end %>
|
||||
<% else %>
|
||||
<em><%:Not configured%></em>
|
||||
<% end %><br />
|
||||
|
||||
<% for i, a in ipairs(get_aliases(b)) do %>
|
||||
└ <strong><%:Alias%> #<%=i%>:</strong>
|
||||
<%=a.ipaddr%>/<%=a.netmask%> (<%:Device%> <%=dev%>:<%=i%>) <br />
|
||||
<% end %>
|
||||
|
||||
<% if b.ip6addr and #b.ip6addr > 0 then %>
|
||||
└ <strong><%:IPv6%>:</strong> <%=b.ip6addr%><br />
|
||||
<% end %>
|
||||
<%- end -%>
|
||||
|
||||
<% for n, i in ipairs(br.ifnames) do
|
||||
dev = i
|
||||
vlan = get_vlan(dev)
|
||||
%>
|
||||
<strong><%:Bridge Port%> <%=n%></strong><br />
|
||||
|
||||
└ <strong><%:Device%>:</strong>
|
||||
<%=dev%> (<%:MAC%> <%=get_mac(dev)%>)<br />
|
||||
|
||||
└ <strong><%:Type%>:</strong>
|
||||
<% if is_wifi(dev) then iw = get_iwinfo(dev) -%>
|
||||
<%:Wireless Adapter%> (<%=iw.type%>)<br />
|
||||
<% if iw then %>
|
||||
└ <strong><%:Mode%>:</strong> <%=get_iwmode(iw)%><br />
|
||||
└ <strong><%:SSID%>:</strong> <%=iw.ssid%><br />
|
||||
└ <strong><%:Channel%>:</strong> <%=iw.channel%>
|
||||
<% end %>
|
||||
<% else -%>
|
||||
<% if vlan then %>
|
||||
<%:Ethernet Switch%> (<%=get_switch_driver(dev)%>)<br />
|
||||
└ <strong><%:VLAN%>:</strong>
|
||||
<%=get_vlan(dev)%> (<%:Ports%> <%=table.concat(get_vlan_ports(dev), ", ")%>)
|
||||
<% else %>
|
||||
<%:Ethernet Adapter%>
|
||||
<% end %>
|
||||
<% end -%><br />
|
||||
<% end %>
|
||||
<br /></p>
|
||||
<% end end %>
|
||||
</fieldset>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<%+footer%>
|
Loading…
Reference in a new issue