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
|
page.leaf = true
|
||||||
end
|
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.leaf = true
|
||||||
page.subindex = true
|
page.subindex = true
|
||||||
|
|
||||||
|
|
|
@ -13,135 +13,10 @@ You may obtain a copy of the License at
|
||||||
$Id$
|
$Id$
|
||||||
]]--
|
]]--
|
||||||
|
|
||||||
local sys = require "luci.sys"
|
local fs = require "nixio.fs"
|
||||||
local wa = require "luci.tools.webadmin"
|
|
||||||
local fs = require "nixio.fs"
|
|
||||||
|
|
||||||
local netstate = luci.model.uci.cursor_state():get_all("network")
|
|
||||||
m = Map("network", translate("Interfaces"))
|
m = Map("network", translate("Interfaces"))
|
||||||
|
m:section(SimpleSection).template = "admin_network/iface_overview"
|
||||||
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
|
|
||||||
|
|
||||||
-- Show ATM bridge section if we have the capabilities
|
-- Show ATM bridge section if we have the capabilities
|
||||||
if fs.access("/usr/sbin/br2684ctl") then
|
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 = atm:taboption("advanced", ListValue, "payload", translate("Forwarding mode"))
|
||||||
payload:value("bridged", translate("bridged"))
|
payload:value("bridged", translate("bridged"))
|
||||||
payload:value("routed", translate("routed"))
|
payload:value("routed", translate("routed"))
|
||||||
|
else
|
||||||
|
m.pageaction = false
|
||||||
end
|
end
|
||||||
|
|
||||||
return m
|
return m
|
||||||
|
|
|
@ -24,8 +24,6 @@ $Id$
|
||||||
end
|
end
|
||||||
-%>
|
-%>
|
||||||
|
|
||||||
<%+header%>
|
|
||||||
|
|
||||||
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
|
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
|
||||||
<script type="text/javascript"><![CDATA[
|
<script type="text/javascript"><![CDATA[
|
||||||
function iface_shutdown(id, reconnect) {
|
function iface_shutdown(id, reconnect) {
|
||||||
|
@ -170,8 +168,6 @@ $Id$
|
||||||
})();
|
})();
|
||||||
]]></script>
|
]]></script>
|
||||||
|
|
||||||
<h2><a id="content" name="content"><%:Interface Overview%></a></h2>
|
|
||||||
|
|
||||||
<fieldset class="cbi-section" style="display:none">
|
<fieldset class="cbi-section" style="display:none">
|
||||||
<legend><%:Reconnecting interface%></legend>
|
<legend><%:Reconnecting interface%></legend>
|
||||||
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
|
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
|
||||||
|
@ -180,6 +176,8 @@ $Id$
|
||||||
|
|
||||||
<div class="cbi-map">
|
<div class="cbi-map">
|
||||||
<fieldset class="cbi-section">
|
<fieldset class="cbi-section">
|
||||||
|
<legend><%:Interface Overview%></legend>
|
||||||
|
|
||||||
<table class="cbi-section-table" style="margin:10px; empty-cells:hide">
|
<table class="cbi-section-table" style="margin:10px; empty-cells:hide">
|
||||||
<tr class="cbi-section-table-titles">
|
<tr class="cbi-section-table-titles">
|
||||||
<th class="cbi-section-table-cell"> </th>
|
<th class="cbi-section-table-cell"> </th>
|
||||||
|
@ -215,12 +213,9 @@ $Id$
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
</table>
|
</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>
|
</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>
|
</div>
|
||||||
|
|
||||||
<%+footer%>
|
|
||||||
|
|
Loading…
Reference in a new issue