-- Licensed to the public under the Apache License 2.0.
local ipc = require "luci.ip"
+local sys = require "luci.sys"
local o
require "luci.util"
s:taboption("advanced", Value, "serversfile",
translate("Additional servers file"),
translate("This file may contain lines like 'server=/domain/1.2.3.4' or 'server=1.2.3.4' for"..
- "domain-specific or full upstream <abbr title=\"Domain Name System\">DNS</abbr> servers."))
+ "domain-specific or full upstream <abbr title=\"Domain Name System\">DNS</abbr> servers."))
s:taboption("advanced", Flag, "strictorder",
translate("Strict order"),
cq.datatype = "uinteger"
cq.placeholder = 150
+cs = s:taboption("advanced", Value, "cachesize",
+ translate("Size of DNS query cache"),
+ translate("Maximum number of cached DNS entries"))
+cs.optional = true
+cs.datatype = "uinteger"
+cs.placeholder = 150
s:taboption("tftp", Flag, "enable_tftp",
translate("Enable TFTP server")).optional = true
s.template = "cbi/tblsection"
name = s:option(Value, "name", translate("Hostname"))
-name.datatype = "hostname"
+name.datatype = "hostname('strict')"
name.rmempty = true
function name.write(self, section, value)
ip.datatype = "or(ip4addr,'ignore')"
time = s:option(Value, "leasetime", translate("Lease time"))
-time.rmempty = true
+time.rmempty = true
duid = s:option(Value, "duid", translate("<abbr title=\"The DHCP Unique Identifier\">DUID</abbr>"))
duid.datatype = "and(rangelength(20,36),hexstring)"
hostid = s:option(Value, "hostid", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Suffix (hex)"))
-ipc.neighbors({ family = 4 }, function(n)
- if n.mac and n.dest then
- ip:value(n.dest:string())
- mac:value(n.mac, "%s (%s)" %{ n.mac, n.dest:string() })
+sys.net.host_hints(function(m, v4, v6, name)
+ if m and v4 then
+ ip:value(v4)
+ mac:value(m, "%s (%s)" %{ m, name or v4 })
end
end)