mirror of
https://github.com/openwrt/luci
synced 2025-01-09 04:28:37 +08:00
IPv6 updates
Signed-off-by: Steven Barth <steven@midlink.org>
This commit is contained in:
parent
754ca290e5
commit
f67d39e69a
@ -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
|
||||
|
||||
|
@ -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)"
|
@ -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)"
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user