local ifc = net:get_interface()
local hostname, accept_ra, send_rs
-local bcast, no_gw, metric, clientid, vendorclass
+local bcast, no_gw, no_dns, dns, metric, clientid, vendorclass
hostname = section:taboption("general", Value, "hostname",
end
+no_dns = section:taboption("advanced", Flag, "_no_dns",
+ translate("Use DNS servers advertised by peer"),
+ translate("If unchecked, the advertised DNS server addresses are ignored"))
+
+no_dns.default = no_dns.enabled
+
+function no_dns.cfgvalue(self, section)
+ local addr
+ for addr in luci.util.imatch(m:get(section, "dns")) do
+ return self.disabled
+ end
+ return self.enabled
+end
+
+function no_dns.remove(self, section)
+ return m:del(section, "dns")
+end
+
+function no_dns.write() end
+
+
+dns = section:taboption("advanced", DynamicList, "dns",
+ translate("Use custom DNS servers"))
+
+dns:depends("_no_dns", "")
+dns.datatype = "ipaddr"
+
+
metric = section:taboption("advanced", Value, "metric",
translate("Use gateway metric"))
local map, section, net = ...
local ifc = net:get_interface()
-local ipaddr, netmask, gateway, broadcast, accept_ra, send_rs, ip6addr, ip6gw
+local ipaddr, netmask, gateway, broadcast, dns, accept_ra, send_rs, ip6addr, ip6gw
local macaddr, mtu, metric
broadcast.datatype = "ip4addr"
+dns = section:taboption("general", DynamicList, "dns",
+ translate("Use custom DNS servers"))
+
+dns.datatype = "ipaddr"
+
+
if luci.model.network:has_ipv6() then
accept_ra = s:taboption("general", Flag, "accept_ra", translate("Accept router advertisements"))
ip6gw = section:taboption("general", Value, "ip6gw", translate("IPv6 gateway"))
ip6gw.datatype = "ip6addr"
ip6gw:depends("accept_ra", "")
-
+
end