IPv6 updates

Signed-off-by: Steven Barth <steven@midlink.org>
This commit is contained in:
Steven Barth 2015-05-17 10:38:03 +02:00
parent 754ca290e5
commit f67d39e69a
8 changed files with 162 additions and 22 deletions

View File

@ -47,10 +47,11 @@ dialnumber.placeholder = "*99***1#"
if luci.model.network:has_ipv6() then
ipv6 = section:taboption("advanced", Flag, "ipv6",
translate("Enable IPv6 negotiation on the PPP link"))
ipv6.default = ipv6.disabled
ipv6 = section:taboption("advanced", ListValue, "ipv6")
ipv6:value("auto", translate("Automatic"))
ipv6:value("0", translate("Disabled"))
ipv6:value("1", translate("Manual"))
ipv6.default = "auto"
end

View File

@ -0,0 +1,33 @@
-- Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
-- Copyright 2013 Steven Barth <steven@midlink.org>
-- Licensed to the public under the Apache License 2.0.
local map, section, net = ...
local tunlink, defaultroute, metric, mtu
section:taboption("general", Value, "ip6prefix",
translate("NAT64 Prefix"), translate("Leave empty to autodetect"))
tunlink = section:taboption("advanced", DynamicList, "tunlink", translate("Tunnel Link"))
tunlink.template = "cbi/network_netlist"
tunlink.nocreate = true
defaultroute = section:taboption("advanced", Flag, "defaultroute",
translate("Default gateway"),
translate("If unchecked, no default route is configured"))
defaultroute.default = defaultroute.enabled
metric = section:taboption("advanced", Value, "metric",
translate("Use gateway metric"))
metric.placeholder = "0"
metric.datatype = "uinteger"
metric:depends("defaultroute", defaultroute.enabled)
mtu = section:taboption("advanced", Value, "mtu", translate("Use MTU on tunnel interface"))
mtu.placeholder = "1280"
mtu.datatype = "max(9200)"

View File

@ -0,0 +1,88 @@
-- Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
-- Copyright 2013 Steven Barth <steven@midlink.org>
-- Licensed to the public under the Apache License 2.0.
local map, section, net = ...
local peeraddr, ip6addr
local tunlink, defaultroute, metric, ttl, mtu
maptype = section:taboption("general", ListValue, "type", translate("Type"))
maptype:value("map-e", "MAP-E")
maptype:value("map-t", "MAP-T")
maptype:value("lw4o6", "LW4over6")
peeraddr = section:taboption("general", Value, "peeraddr",
translate("BR / DMR / AFTR"))
peeraddr.rmempty = false
peeraddr.datatype = "ip6addr"
ipaddr = section:taboption("general", Value, "ipaddr",
translate("IPv4 prefix"))
ipaddr.datatype = "ip4addr"
ip4prefixlen = s:taboption("general", Value, "ip4prefixlen",
translate("IPv4 prefix length"),
translate("The length of the IPv4 prefix in bits, the remainder is used in the IPv6 addresses."))
ip4prefixlen.placeholder = "32"
ip4prefixlen.datatype = "range(0,32)"
ip6addr = s:taboption("general", Value, "ip6prefix",
translate("IPv6 prefix"),
translate("The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"))
ip6addr.rmempty = false
ip6addr.datatype = "ip6addr"
ip6prefixlen = s:taboption("general", Value, "ip6prefixlen",
translate("IPv6 prefix length"),
translate("The length of the IPv6 prefix in bits"))
ip6prefixlen.placeholder = "16"
ip6prefixlen.datatype = "range(0,64)"
s:taboption("general", Value, "ealen",
translate("EA-bits length")).datatype = "range(0,16)"
s:taboption("general", Value, "psidlen",
translate("PSID-bits length")).datatype = "range(0,16)"
s:taboption("general", Value, "offset",
translate("PSID offset")).datatype = "range(0,16)"
tunlink = section:taboption("advanced", DynamicList, "tunlink", translate("Tunnel Link"))
tunlink.template = "cbi/network_netlist"
tunlink.nocreate = true
defaultroute = section:taboption("advanced", Flag, "defaultroute",
translate("Default gateway"),
translate("If unchecked, no default route is configured"))
defaultroute.default = defaultroute.enabled
metric = section:taboption("advanced", Value, "metric",
translate("Use gateway metric"))
metric.placeholder = "0"
metric.datatype = "uinteger"
metric:depends("defaultroute", defaultroute.enabled)
ttl = section:taboption("advanced", Value, "ttl", translate("Use TTL on tunnel interface"))
ttl.placeholder = "64"
ttl.datatype = "range(1,255)"
mtu = section:taboption("advanced", Value, "mtu", translate("Use MTU on tunnel interface"))
mtu.placeholder = "1280"
mtu.datatype = "max(9200)"

View File

@ -5,13 +5,17 @@
local netmod = luci.model.network
local _, p
for _, p in ipairs({"dslite"}) do
for _, p in ipairs({"dslite", "map", "464xlat"}) do
local proto = netmod:register_protocol(p)
function proto.get_i18n(self)
if p == "dslite" then
return luci.i18n.translate("Dual-Stack Lite (RFC6333)")
elseif p == "map" then
return luci.i18n.translate("MAP / LW4over6")
elseif p == "464xlat" then
return luci.i18n.translate("464XLAT (CLAT)")
end
end
@ -22,6 +26,10 @@ for _, p in ipairs({"dslite"}) do
function proto.opkg_package(self)
if p == "dslite" then
return "ds-lite"
elseif p == "map" then
return "map-t"
elseif p == "464xlat" then
return "464xlat"
end
end
@ -45,5 +53,11 @@ for _, p in ipairs({"dslite"}) do
return (netmod:ifnameof(ifc) == self:ifname())
end
netmod:register_pattern_virtual("^%s-%%w" % p)
if p == "dslite" then
netmod:register_pattern_virtual("^ds-%w")
elseif p == "map" then
netmod:register_pattern_virtual("^map-%w")
elseif p == "464xlat" then
netmod:register_pattern_virtual("^464-%w")
end
end

View File

@ -19,10 +19,11 @@ password.password = true
if luci.model.network:has_ipv6() then
ipv6 = section:taboption("advanced", Flag, "ipv6",
translate("Enable IPv6 negotiation on the PPP link"))
ipv6.default = ipv6.disabled
ipv6 = section:taboption("advanced", ListValue, "ipv6")
ipv6:value("auto", translate("Automatic"))
ipv6:value("0", translate("Disabled"))
ipv6:value("1", translate("Manual"))
ipv6.default = "auto"
end

View File

@ -31,10 +31,11 @@ password.password = true
if luci.model.network:has_ipv6() then
ipv6 = section:taboption("advanced", Flag, "ipv6",
translate("Enable IPv6 negotiation on the PPP link"))
ipv6.default = ipv6.disabled
ipv6 = section:taboption("advanced", ListValue, "ipv6")
ipv6:value("auto", translate("Automatic"))
ipv6:value("0", translate("Disabled"))
ipv6:value("1", translate("Manual"))
ipv6.default = "auto"
end

View File

@ -37,10 +37,11 @@ password.password = true
if luci.model.network:has_ipv6() then
ipv6 = section:taboption("advanced", Flag, "ipv6",
translate("Enable IPv6 negotiation on the PPP link"))
ipv6.default = ipv6.disabled
ipv6 = section:taboption("advanced", ListValue, "ipv6")
ipv6:value("auto", translate("Automatic"))
ipv6:value("0", translate("Disabled"))
ipv6:value("1", translate("Manual"))
ipv6.default = "auto"
end

View File

@ -31,10 +31,11 @@ service.placeholder = translate("auto")
if luci.model.network:has_ipv6() then
ipv6 = section:taboption("advanced", Flag, "ipv6",
translate("Enable IPv6 negotiation on the PPP link"))
ipv6.default = ipv6.disabled
ipv6 = section:taboption("advanced", ListValue, "ipv6")
ipv6:value("auto", translate("Automatic"))
ipv6:value("0", translate("Disabled"))
ipv6:value("1", translate("Manual"))
ipv6.default = "auto"
end