libs/cbi: Added magic ;-)
[project/luci.git] / modules / admin-full / luasrc / model / cbi / admin_network / ifaces.lua
index b8a7dd3..bea425d 100644 (file)
@@ -14,8 +14,14 @@ $Id$
 m = Map("network", translate("interfaces"), translate("a_n_ifaces1"))
 
 s = m:section(TypedSection, "interface", "")
-s.addremove = true
-s:exclude("loopback")
+function s.filter(section)
+       return section ~= "loopback" and (not arg or #arg == 0 or
+        luci.util.contains(arg, section))
+end
+
+if not arg or #arg == 0 then
+       s.addremove = true
+end
 s:depends("proto", "static")
 s:depends("proto", "dhcp")
 
@@ -36,9 +42,12 @@ for i,d in ipairs(luci.sys.net.devices()) do
        end
 end
 
-s:option(Value, "ipaddr", translate("ipaddress"))
+ipaddr = s:option(Value, "ipaddr", translate("ipaddress"))
+ipaddr.rmempty = true
+ipaddr:depends("proto", "static")
 
 nm = s:option(Value, "netmask", translate("netmask"))
+nm.rmempty = true
 nm:depends("proto", "static")
 nm:value("255.255.255.0")
 nm:value("255.255.0.0")
@@ -48,6 +57,14 @@ gw = s:option(Value, "gateway", translate("gateway"))
 gw:depends("proto", "static")
 gw.rmempty = true
 
+ip6addr = s:option(Value, "ip6addr", translate("ip6address"), translate("cidr6"))
+ip6addr.rmempty = true
+ip6addr:depends("proto", "static")
+
+ip6gw = s:option(Value, "ip6gw", translate("gateway6"))
+ip6gw:depends("proto", "static")
+ip6gw.rmempty = true
+
 dns = s:option(Value, "dns", translate("dnsserver"))
 dns:depends("proto", "static")
 dns.optional = true