luci-base: support ip6ifaceid option for proto_static
authorHannu Nyman <hannu.nyman@iki.fi>
Sun, 21 May 2017 19:02:46 +0000 (22:02 +0300)
committerHannu Nyman <hannu.nyman@iki.fi>
Sun, 21 May 2017 19:08:38 +0000 (22:08 +0300)
Add support for 'ip6ifaceid' option for proto_static in LuCI.

Information about the option:
 The option is optional and defaults to '::1'.
 Allowed values: 'eui64', 'random', fixed value like '::1' or '::1:2'

 When IPv6 prefix (like 'a:b:c:d::') is received from a delegating
 server, the ip6ifaceid suffix (like '::1') is used to form
 the IPv6 address ('a:b:c:d::1') for the interface.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
modules/luci-base/luasrc/model/cbi/admin_network/proto_static.lua

index f49fed4a56a5d3a03bb7f2e090f4be158f4384d4..3f8b091cf3038052c60c5f02b6c190d99d81c287 100644 (file)
@@ -63,6 +63,15 @@ if luci.model.network:has_ipv6() then
        ip6prefix.datatype = "ip6addr"
        ip6prefix:depends("ip6assign", "")
 
+       local ip6ifaceid = s:taboption("general", Value, "ip6ifaceid", translate("IPv6 suffix"),
+               translate("Optional. Allowed values: 'eui64', 'random', fixed value like '::1' " ..
+                       "or '::1:2'. When IPv6 prefix (like 'a:b:c:d::') is received from a " ..
+                       "delegating server, use the suffix (like '::1') to form the IPv6 address " ..
+                       "('a:b:c:d::1') for the interface."))
+       ip6ifaceid.datatype = "ip6hostid"
+       ip6ifaceid.placeholder = "::1"
+       ip6ifaceid.rmempty = true
+
 end