local map, section, net = ...
local ifc = net:get_interface()
-local ipaddr, netmask, gateway, broadcast, accept_ra, send_rs, ip6addr, ip6gw
-local macaddr, mtu, metric
+local ipaddr, netmask, gateway, broadcast, dns, accept_ra, send_rs, ip6addr, ip6gw
+local mtu, metric
ipaddr = section:taboption("general", Value, "ipaddr", translate("IPv4 address"))
broadcast.datatype = "ip4addr"
+dns = section:taboption("general", DynamicList, "dns",
+ translate("Use custom DNS servers"))
+
+dns.datatype = "ipaddr"
+dns.cast = "string"
+
+
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
-macaddr = section:taboption("advanced", Value, "macaddr", translate("Override MAC address"))
-macaddr.placeholder = ifc and ifc:mac() or "00:00:00:00:00:00"
-macaddr.datatype = "macaddr"
+luci.tools.proto.opt_macaddr(section, ifc, translate("Override MAC address"))
mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))