modules/admin-full: readd atm bridge config
This commit is contained in:
parent
125eb141de
commit
3386d649ea
3 changed files with 11 additions and 139 deletions
|
@ -61,7 +61,7 @@ function index()
|
|||
page.leaf = true
|
||||
end
|
||||
|
||||
page = entry({"admin", "network", "network"}, arcombine(template("admin_network/iface_overview"), cbi("admin_network/ifaces")), i18n("Interfaces"), 10)
|
||||
page = entry({"admin", "network", "network"}, arcombine(cbi("admin_network/network"), cbi("admin_network/ifaces")), i18n("Interfaces"), 10)
|
||||
page.leaf = true
|
||||
page.subindex = true
|
||||
|
||||
|
|
|
@ -13,135 +13,10 @@ You may obtain a copy of the License at
|
|||
$Id$
|
||||
]]--
|
||||
|
||||
local sys = require "luci.sys"
|
||||
local wa = require "luci.tools.webadmin"
|
||||
local fs = require "nixio.fs"
|
||||
local fs = require "nixio.fs"
|
||||
|
||||
local netstate = luci.model.uci.cursor_state():get_all("network")
|
||||
m = Map("network", translate("Interfaces"))
|
||||
|
||||
local created
|
||||
local netstat = sys.net.deviceinfo()
|
||||
|
||||
s = m:section(TypedSection, "interface", "")
|
||||
s.addremove = true
|
||||
s.anonymous = false
|
||||
s.extedit = luci.dispatcher.build_url("admin", "network", "network") .. "/%s"
|
||||
s.template = "cbi/tblsection"
|
||||
s.override_scheme = true
|
||||
|
||||
function s.filter(self, section)
|
||||
return section ~= "loopback" and section
|
||||
end
|
||||
|
||||
function s.create(self, section)
|
||||
if TypedSection.create(self, section) then
|
||||
created = section
|
||||
else
|
||||
self.invalid_cts = true
|
||||
end
|
||||
end
|
||||
|
||||
function s.parse(self, ...)
|
||||
TypedSection.parse(self, ...)
|
||||
if created then
|
||||
m.uci:save("network")
|
||||
luci.http.redirect(luci.dispatcher.build_url("admin", "network", "network")
|
||||
.. "/" .. created)
|
||||
end
|
||||
end
|
||||
|
||||
up = s:option(Flag, "up")
|
||||
function up.cfgvalue(self, section)
|
||||
return netstate[section] and netstate[section].up or "0"
|
||||
end
|
||||
|
||||
function up.write(self, section, value)
|
||||
local call
|
||||
if value == "1" then
|
||||
call = "ifup"
|
||||
elseif value == "0" then
|
||||
call = "ifdown"
|
||||
end
|
||||
os.execute(call .. " " .. section .. " >/dev/null 2>&1")
|
||||
end
|
||||
|
||||
ifname = s:option(DummyValue, "ifname", translate("Device"))
|
||||
function ifname.cfgvalue(self, section)
|
||||
return netstate[section] and netstate[section].ifname
|
||||
end
|
||||
|
||||
ifname.titleref = luci.dispatcher.build_url("admin", "network", "vlan")
|
||||
|
||||
|
||||
if luci.model.uci.cursor():load("firewall") then
|
||||
zone = s:option(DummyValue, "_zone", translate("Zone"))
|
||||
zone.titleref = luci.dispatcher.build_url("admin", "network", "firewall", "zones")
|
||||
|
||||
function zone.cfgvalue(self, section)
|
||||
return table.concat(wa.network_get_zones(section) or { "-" }, ", ")
|
||||
end
|
||||
end
|
||||
|
||||
hwaddr = s:option(DummyValue, "_hwaddr",
|
||||
translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"),
|
||||
translate("Hardware Address"))
|
||||
|
||||
function hwaddr.cfgvalue(self, section)
|
||||
local ix = self.map:get(section, "ifname") or ""
|
||||
ix = (type(ix) == "table") and ix[1] or ix
|
||||
|
||||
local mac = fs.readfile("/sys/class/net/" .. ix .. "/address")
|
||||
|
||||
if not mac then
|
||||
mac = luci.util.exec("ifconfig " .. ix)
|
||||
mac = mac and mac:match(" ([A-F0-9:]+)%s*\n")
|
||||
end
|
||||
|
||||
if mac and #mac > 0 then
|
||||
return mac:upper()
|
||||
end
|
||||
|
||||
return "?"
|
||||
end
|
||||
|
||||
|
||||
ipaddr = s:option(DummyValue, "ipaddr",
|
||||
translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>" ..
|
||||
"-Address"))
|
||||
function ipaddr.cfgvalue(self, section)
|
||||
return table.concat(wa.network_get_addresses(section), ", ")
|
||||
end
|
||||
|
||||
txrx = s:option(DummyValue, "_txrx", translate("Traffic"),
|
||||
translate("transmitted / received"))
|
||||
|
||||
function txrx.cfgvalue(self, section)
|
||||
local ix = self.map:get(section, "ifname")
|
||||
|
||||
local rx = netstat and netstat[ix] and netstat[ix][1]
|
||||
rx = rx and wa.byte_format(tonumber(rx)) or "-"
|
||||
|
||||
local tx = netstat and netstat[ix] and netstat[ix][9]
|
||||
tx = tx and wa.byte_format(tonumber(tx)) or "-"
|
||||
|
||||
return string.format("%s / %s", tx, rx)
|
||||
end
|
||||
|
||||
errors = s:option(DummyValue, "_err", translate("Errors"),
|
||||
translate("TX / RX"))
|
||||
|
||||
function errors.cfgvalue(self, section)
|
||||
local ix = self.map:get(section, "ifname")
|
||||
|
||||
local rx = netstat and netstat[ix] and netstat[ix][3]
|
||||
local tx = netstat and netstat[ix] and netstat[ix][11]
|
||||
|
||||
rx = rx and tostring(rx) or "-"
|
||||
tx = tx and tostring(tx) or "-"
|
||||
|
||||
return string.format("%s / %s", tx, rx)
|
||||
end
|
||||
m:section(SimpleSection).template = "admin_network/iface_overview"
|
||||
|
||||
-- Show ATM bridge section if we have the capabilities
|
||||
if fs.access("/usr/sbin/br2684ctl") then
|
||||
|
@ -190,6 +65,8 @@ if fs.access("/usr/sbin/br2684ctl") then
|
|||
payload = atm:taboption("advanced", ListValue, "payload", translate("Forwarding mode"))
|
||||
payload:value("bridged", translate("bridged"))
|
||||
payload:value("routed", translate("routed"))
|
||||
else
|
||||
m.pageaction = false
|
||||
end
|
||||
|
||||
return m
|
||||
|
|
|
@ -24,8 +24,6 @@ $Id$
|
|||
end
|
||||
-%>
|
||||
|
||||
<%+header%>
|
||||
|
||||
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
|
||||
<script type="text/javascript"><![CDATA[
|
||||
function iface_shutdown(id, reconnect) {
|
||||
|
@ -170,8 +168,6 @@ $Id$
|
|||
})();
|
||||
]]></script>
|
||||
|
||||
<h2><a id="content" name="content"><%:Interface Overview%></a></h2>
|
||||
|
||||
<fieldset class="cbi-section" style="display:none">
|
||||
<legend><%:Reconnecting interface%></legend>
|
||||
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
|
||||
|
@ -180,6 +176,8 @@ $Id$
|
|||
|
||||
<div class="cbi-map">
|
||||
<fieldset class="cbi-section">
|
||||
<legend><%:Interface Overview%></legend>
|
||||
|
||||
<table class="cbi-section-table" style="margin:10px; empty-cells:hide">
|
||||
<tr class="cbi-section-table-titles">
|
||||
<th class="cbi-section-table-cell"> </th>
|
||||
|
@ -215,12 +213,9 @@ $Id$
|
|||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
||||
<form action="<%=luci.dispatcher.build_url("admin/network/iface_add")%>" method="post">
|
||||
<input type="submit" class="cbi-button cbi-button-add" value="<%:Add new interface...%>" />
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
<form action="<%=luci.dispatcher.build_url("admin/network/iface_add")%>" method="post">
|
||||
<br />
|
||||
<input type="submit" class="cbi-button cbi-button-apply" value="<%:Add new interface...%>" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<%+footer%>
|
||||
|
|
Loading…
Reference in a new issue