summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-ahcp/luasrc/model/cbi
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2018-11-05 11:16:54 +0100
committerJo-Philipp Wich <jo@mein.io>2018-11-05 11:19:52 +0100
commita6d96e0716dd63af9254cf8db850c921459454c6 (patch)
treeb2791be4e72e094e8ec02c8095f84d09b47306d9 /applications/luci-app-ahcp/luasrc/model/cbi
parent58fc7028055a84898eb63a8995abc71105b53f6e (diff)
luci-mod-network: move AHCP protocol model to AHCP application
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'applications/luci-app-ahcp/luasrc/model/cbi')
-rw-r--r--applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua67
1 files changed, 67 insertions, 0 deletions
diff --git a/applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua b/applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua
new file mode 100644
index 000000000..0818199a9
--- /dev/null
+++ b/applications/luci-app-ahcp/luasrc/model/cbi/admin_network/proto_ahcp.lua
@@ -0,0 +1,67 @@
+-- Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local map, section, net = ...
+
+local device, apn, service, pincode, username, password
+local ipv6, maxwait, defaultroute, metric, peerdns, dns,
+ keepalive_failure, keepalive_interval, demand
+
+
+mca = s:taboption("ahcp", Value, "multicast_address", translate("Multicast address"))
+mca.optional = true
+mca.placeholder = "ff02::cca6:c0f9:e182:5359"
+mca.datatype = "ip6addr"
+mca:depends("proto", "ahcp")
+
+port = s:taboption("ahcp", Value, "port", translate("Port"))
+port.optional = true
+port.placeholder = 5359
+port.datatype = "port"
+port:depends("proto", "ahcp")
+
+fam = s:taboption("ahcp", ListValue, "_family", translate("Protocol family"))
+fam:value("", translate("IPv4 and IPv6"))
+fam:value("ipv4", translate("IPv4 only"))
+fam:value("ipv6", translate("IPv6 only"))
+fam:depends("proto", "ahcp")
+
+function fam.cfgvalue(self, section)
+ local v4 = m.uci:get_bool("network", section, "ipv4_only")
+ local v6 = m.uci:get_bool("network", section, "ipv6_only")
+ if v4 then
+ return "ipv4"
+ elseif v6 then
+ return "ipv6"
+ end
+ return ""
+end
+
+function fam.write(self, section, value)
+ if value == "ipv4" then
+ m.uci:set("network", section, "ipv4_only", "true")
+ m.uci:delete("network", section, "ipv6_only")
+ elseif value == "ipv6" then
+ m.uci:set("network", section, "ipv6_only", "true")
+ m.uci:delete("network", section, "ipv4_only")
+ end
+end
+
+function fam.remove(self, section)
+ m.uci:delete("network", section, "ipv4_only")
+ m.uci:delete("network", section, "ipv6_only")
+end
+
+nodns = s:taboption("ahcp", Flag, "no_dns", translate("Disable DNS setup"))
+nodns.optional = true
+nodns.enabled = "true"
+nodns.disabled = "false"
+nodns.default = nodns.disabled
+nodns:depends("proto", "ahcp")
+
+ltime = s:taboption("ahcp", Value, "lease_time", translate("Lease validity time"))
+ltime.optional = true
+ltime.placeholder = 3666
+ltime.datatype = "uinteger"
+ltime:depends("proto", "ahcp")
+