X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Fniu%2Fluasrc%2Fmodel%2Fcbi%2Fniu%2Fnetwork%2Flan1.lua;fp=modules%2Fniu%2Fluasrc%2Fmodel%2Fcbi%2Fniu%2Fnetwork%2Flan1.lua;h=e4005bbcff27cce5ce1ff4e0d7944d186c505c0a;hp=7b810b8f441ad53db56b2e9b61dbf0a6e4bc31ab;hb=952836d1ef0b2e78a6c6909a87d33644941b638c;hpb=840d8c89b582e89824982d5388af761062e8e7b3
diff --git a/modules/niu/luasrc/model/cbi/niu/network/lan1.lua b/modules/niu/luasrc/model/cbi/niu/network/lan1.lua
index 7b810b8f4..e4005bbcf 100644
--- a/modules/niu/luasrc/model/cbi/niu/network/lan1.lua
+++ b/modules/niu/luasrc/model/cbi/niu/network/lan1.lua
@@ -13,31 +13,38 @@ You may obtain a copy of the License at
$Id$
]]--
-local nw = require "luci.model.network"
-
-local has_ipv6 = nw:has_ipv6()
+local niulib = require "luci.niulib"
+local fs = require "nixio.fs"
+local has_ipv6 = fs.access("/proc/net/ipv6_route")
m = Map("network", "Configure Local Network", "These settings affect the devices in your local network. "..
"Usually you do not need to change anything here for your router to work correctly.")
-nw.init(m.uci)
-
s = m:section(NamedSection, "lan", "interface", "Network Settings")
s.addremove = false
s:tab("general", translate("General Settings"))
ipaddr = s:taboption("general", Value, "ipaddr", translate("IPv4-Address"))
+ipaddr.default = "192.168.0.1"
+ipaddr:depends("proto", "static")
nm = s:taboption("general", Value, "netmask", translate("IPv4-Netmask"))
+nm.default = "255.255.255.0"
nm:value("255.255.255.0")
nm:value("255.255.0.0")
nm:value("255.0.0.0")
+nm:depends("proto", "static")
s:tab("expert", translate("Expert Settings"))
+p = s:taboption("expert", ListValue, "proto", translate("Connection Protocol"))
+p.default = "static"
+p:value("dhcp", "DHCP")
+p:value("static", translate("Static Ethernet"))
+
mac = s:taboption("expert", Value, "macaddr", translate("MAC-Address"))
mtu = s:taboption("expert", Value, "mtu", "MTU")
@@ -48,37 +55,33 @@ dns:depends("peerdns", "")
gw = s:taboption("expert", Value, "gateway", translate("IPv4-Gateway"))
+gw:depends("proto", "static")
+
bcast = s:taboption("expert", Value, "bcast", translate("IPv4-Broadcast"))
+bcast:depends("proto", "static")
if has_ipv6 then
ip6addr = s:taboption("expert", Value, "ip6addr", translate("IPv6-Address"), translate("CIDR-Notation: address/prefix"))
+ ip6addr:depends("proto", "static")
ip6gw = s:taboption("expert", Value, "ip6gw", translate("IPv6-Gateway"))
+ ip6gw:depends("proto", "static")
end
+emerg = s:taboption("expert", Value, "_emergv4", translate("Emergency Access Address"))
+emerg:depends("proto", "dhcp")
+emerg.default = "169.254.255.169"
+
stp = s:taboption("expert", Flag, "stp", translate("Enable STP"),
translate("Enables the Spanning Tree Protocol on this bridge"))
-ifname_multi = s:taboption("expert", MultiValue, "ifname_multi", translate("Interface"))
-ifname_multi.template = "cbi/network_ifacelist"
-ifname_multi.nobridges = true
+ifname_multi = s:taboption("expert", MultiValue, "ifname", translate("Interface"))
ifname_multi.widget = "checkbox"
-
-function ifname_multi.cfgvalue(self, s)
- return self.map.uci:get("network", s, "ifname")
+for _, eth in ipairs(niulib.eth_get_available("lan")) do
+ ifname_multi:value(eth, translate("Ethernet-Adapter (%s)") % eth)
end
-function ifname_multi.write(self, s, val)
- local n = nw:get_network(s)
- if n then n:ifname(val) end
-end
-
-for _, d in ipairs(nw:get_interfaces()) do
- if not d:is_bridge() then
- ifname_multi:value(d:name())
- end
-end
m2 = Map("dhcp")
@@ -93,17 +96,24 @@ s:tab("general", translate("General Settings"))
s:depends("interface", "lan")
enable = s:taboption("general", ListValue, "ignore", "Automatic address assignment for network devices", "")
-enable:value(0, translate("enable"))
+enable:value(0, translate("enable"), {["network.lan.proto"] = "static"})
enable:value(1, translate("disable"))
s:tab("expert", translate("Expert Settings"))
start = s:taboption("expert", Value, "start", translate("First leased address"))
+start:depends("ignore", "0")
+
limit = s:taboption("expert", Value, "limit", translate("Number of leased addresses"), "")
+limit:depends("ignore", "0")
+
time = s:taboption("expert", Value, "leasetime", "Lease Time")
+time:depends("ignore", "0")
+
local dd = s:taboption("expert", Flag, "dynamicdhcp", "Also generate addresses for unknown devices")
dd.rmempty = false
dd.default = "1"
+dd:depends("ignore", "0")
return m, m2