2 LuCI - Lua Configuration Interface
4 Copyright 2011 Jo-Philipp Wich <xm@subsignal.org>
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
13 local map, section, net = ...
15 local ipaddr, adv_interface, adv_subnet
16 local adv_valid_lifetime, adv_preferred_lifetime, defaultroute, metric, ttl, mtu
19 ipaddr = section:taboption("general", Value, "ipaddr",
20 translate("Local IPv4 address"),
21 translate("Leave empty to use the current WAN address"))
23 ipaddr.datatype = "ip4addr"
26 adv_interface = section:taboption("general", Value, "adv_interface", translate("Advertise IPv6 on network"))
27 adv_interface.widget = "checkbox"
28 adv_interface.exclude = arg[1]
29 adv_interface.default = "lan"
30 adv_interface.template = "cbi/network_netlist"
31 adv_interface.nocreate = true
32 adv_interface.nobridges = true
33 adv_interface.novirtual = true
35 function adv_interface.remove(self, section)
36 self:write(section, " ")
39 adv_subnet = section:taboption("general", Value, "adv_subnet",
40 translate("Advertised network ID"),
41 translate("Allowed range is 1 to 65535"))
43 adv_subnet.placeholder = "1"
44 adv_subnet.datatype = "range(1,65535)"
46 function adv_subnet.cfgvalue(self, section)
47 local v = Value.cfgvalue(self, section)
48 return v and tonumber(v, 16)
51 function adv_subnet .write(self, section, value)
52 value = tonumber(value) or 1
54 if value > 65535 then value = 65535
55 elseif value < 1 then value = 1 end
57 Value.write(self, section, "%X" % value)
61 adv_valid_lifetime = section:taboption("advanced", Value, "adv_valid_lifetime",
62 translate("Use valid lifetime"),
63 translate("Specifies the advertised valid prefix lifetime in seconds"))
65 adv_valid_lifetime.placeholder = "300"
66 adv_valid_lifetime.datatype = "uinteger"
69 adv_preferred_lifetime = section:taboption("advanced", Value, "adv_preferred_lifetime",
70 translate("Use preferred lifetime"),
71 translate("Specifies the advertised preferred prefix lifetime in seconds"))
73 adv_preferred_lifetime.placeholder = "120"
74 adv_preferred_lifetime.datatype = "uinteger"
78 defaultroute = section:taboption("advanced", Flag, "defaultroute",
79 translate("Use default gateway"),
80 translate("If unchecked, no default route is configured"))
82 defaultroute.default = defaultroute.enabled
85 metric = section:taboption("advanced", Value, "metric",
86 translate("Use gateway metric"))
88 metric.placeholder = "0"
89 metric.datatype = "uinteger"
90 metric:depends("defaultroute", defaultroute.enabled)
93 ttl = section:taboption("advanced", Value, "ttl", translate("Use TTL on tunnel interface"))
94 ttl.placeholder = "64"
95 ttl.datatype = "range(1,255)"
98 mtu = section:taboption("advanced", Value, "mtu", translate("Use MTU on tunnel interface"))
99 mtu.placeholder = "1280"
100 mtu.datatype = "max(1500)"