From a00b558210c84cb592349216a40318261e693cc2 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 21 Jun 2012 15:28:39 +0000 Subject: [PATCH] 6rd configuration support. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphan Kochen --- contrib/package/luci/Makefile | 2 +- .../model/cbi/admin_network/proto_6rd.lua | 81 +++++++++++++++++++ .../6x4/luasrc/model/network/proto_6x4.lua | 8 +- 3 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 protocols/6x4/luasrc/model/cbi/admin_network/proto_6rd.lua diff --git a/contrib/package/luci/Makefile b/contrib/package/luci/Makefile index d7286b536..9a6124ff2 100644 --- a/contrib/package/luci/Makefile +++ b/contrib/package/luci/Makefile @@ -213,7 +213,7 @@ endef $(eval $(call protocol,core,Support for static/dhcp/none)) $(eval $(call protocol,ppp,Support for PPP/PPPoE/PPPoA/PPtP)) -$(eval $(call protocol,6x4,Support for 6in4/6to4,+PACKAGE_luci-proto-6x4:6in4 +PACKAGE_luci-proto-6x4:6to4)) +$(eval $(call protocol,6x4,Support for 6in4/6to4/6rd,+PACKAGE_luci-proto-6x4:6in4 +PACKAGE_luci-proto-6x4:6to4 +PACKAGE_luci-proto-6x4:6rd)) $(eval $(call protocol,3g,Support for 3G,+PACKAGE_luci-proto-3g:comgt)) $(eval $(call protocol,relay,Support for relayd pseudo bridges,+PACKAGE_luci-proto-relay:relayd)) diff --git a/protocols/6x4/luasrc/model/cbi/admin_network/proto_6rd.lua b/protocols/6x4/luasrc/model/cbi/admin_network/proto_6rd.lua new file mode 100644 index 000000000..a4b50efa2 --- /dev/null +++ b/protocols/6x4/luasrc/model/cbi/admin_network/proto_6rd.lua @@ -0,0 +1,81 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2011-2012 Jo-Philipp Wich + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 +]]-- + +local map, section, net = ... + +local ipaddr, peeraddr, ip6addr, tunnelid, username, password +local defaultroute, metric, ttl, mtu + + +ipaddr = s:taboption("general", Value, "ipaddr", + translate("Local IPv4 address"), + translate("Leave empty to use the current WAN address")) + +ipaddr.datatype = "ip4addr" + + +peeraddr = s:taboption("general", Value, "peeraddr", + translate("Remote IPv4 address"), + translate("This IPv4 address of the relay")) + +peeraddr.rmempty = false +peeraddr.datatype = "ip4addr" + + +ip6addr = s:taboption("general", Value, "ip6prefix", + translate("IPv6 prefix"), + translate("The IPv6 prefix assigned to the provider, usually ends with ::")) + +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,128)" + + +ip6prefixlen = 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.")) + +ip6prefixlen.placeholder = "0" +ip6prefixlen.datatype = "range(0,32)" + + + +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(1500)" diff --git a/protocols/6x4/luasrc/model/network/proto_6x4.lua b/protocols/6x4/luasrc/model/network/proto_6x4.lua index 63735f6f8..b800b0b54 100644 --- a/protocols/6x4/luasrc/model/network/proto_6x4.lua +++ b/protocols/6x4/luasrc/model/network/proto_6x4.lua @@ -1,5 +1,5 @@ --[[ -LuCI - Network model - 6to4 & 6in4 protocol extension +LuCI - Network model - 6to4, 6in4 & 6rd protocol extensions Copyright 2011 Jo-Philipp Wich @@ -20,7 +20,7 @@ limitations under the License. local netmod = luci.model.network local _, p -for _, p in ipairs({"6in4", "6to4"}) do +for _, p in ipairs({"6in4", "6to4", "6rd"}) do local proto = netmod:register_protocol(p) @@ -28,7 +28,9 @@ for _, p in ipairs({"6in4", "6to4"}) do if p == "6in4" then return luci.i18n.translate("IPv6-in-IPv4 (RFC4213)") elseif p == "6to4" then - return luci.i18n.translate("IPv6-over-IPv4") + return luci.i18n.translate("IPv6-over-IPv4 (6to4)") + elseif p == "6rd" then + return luci.i18n.translate("IPv6-over-IPv4 (6rd)") end end -- 2.25.1