1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Add 6in4 gateway setting support

This commit is contained in:
Ycarus 2018-04-30 09:37:34 +02:00
parent bd02a525f8
commit 3d2e8d9b85
17 changed files with 1021 additions and 0 deletions

View file

@ -0,0 +1,63 @@
-- 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 netmod = luci.model.network
local _, p
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
function proto.ifname(self)
return p .. "-" .. self.sid
end
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
function proto.is_installed(self)
return nixio.fs.access("/lib/netifd/proto/" .. p .. ".sh")
end
function proto.is_floating(self)
return true
end
function proto.is_virtual(self)
return true
end
function proto.get_interfaces(self)
return nil
end
function proto.contains_interface(self, ifname)
return (netmod:ifnameof(ifc) == self:ifname())
end
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

@ -0,0 +1,50 @@
-- Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
local netmod = luci.model.network
local _, p
for _, p in ipairs({"6in4", "6to4", "6rd"}) do
local proto = netmod:register_protocol(p)
function proto.get_i18n(self)
if p == "6in4" then
return luci.i18n.translate("IPv6-in-IPv4 (RFC4213)")
elseif p == "6to4" then
return luci.i18n.translate("IPv6-over-IPv4 (6to4)")
elseif p == "6rd" then
return luci.i18n.translate("IPv6-over-IPv4 (6rd)")
end
end
function proto.ifname(self)
return p .. "-" .. self.sid
end
function proto.opkg_package(self)
return p
end
function proto.is_installed(self)
return nixio.fs.access("/lib/netifd/proto/" .. p .. ".sh")
end
function proto.is_floating(self)
return true
end
function proto.is_virtual(self)
return true
end
function proto.get_interfaces(self)
return nil
end
function proto.contains_interface(self, ifname)
return (netmod:ifnameof(ifc) == self:ifname())
end
netmod:register_pattern_virtual("^%s%%-%%w" % p)
end

View file

@ -0,0 +1,49 @@
-- Copyright 2015 Paul Oranje <por@xs4all.nl>
-- Licensed to the public under GPLv2
local netmod = luci.model.network
local interface = luci.model.network.interface
local proto = netmod:register_protocol("aiccu")
function proto.get_i18n(self)
return luci.i18n.translate("AICCU (SIXXS)")
end
function proto.ifname(self)
return "aiccu-" .. self.sid
end
function proto.get_interface(self)
return interface(self:ifname(), self)
end
function proto.is_installed(self)
return nixio.fs.access("/lib/netifd/proto/aiccu.sh")
end
function proto.opkg_package(self)
return "aiccu"
end
function proto.is_floating(self)
return true
end
function proto.is_virtual(self)
return true
end
function proto.get_interfaces(self)
return nil
end
function proto.contains_interface(self, ifname)
if self:is_floating() then
return (netmod:ifnameof(ifc) == self:ifname())
else
return netmod.protocol.contains_interface(self, ifc)
end
end
netmod:register_pattern_virtual("^aiccu%-%w")

View file

@ -0,0 +1,16 @@
-- Copyright 2013 Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.
local proto = luci.model.network:register_protocol("dhcpv6")
function proto.get_i18n(self)
return luci.i18n.translate("DHCPv6 client")
end
function proto.is_installed(self)
return nixio.fs.access("/lib/netifd/proto/dhcpv6.sh")
end
function proto.opkg_package(self)
return "odhcp6c"
end

View file

@ -0,0 +1,16 @@
-- Copyright 2014 Steven Barth <steven@midlink.org>
-- Licensed to the public under the Apache License 2.0.
local proto = luci.model.network:register_protocol("hnet")
function proto.get_i18n(self)
return luci.i18n.translate("Automatic Homenet (HNCP)")
end
function proto.is_installed(self)
return nixio.fs.access("/lib/netifd/proto/hnet.sh")
end
function proto.opkg_package(self)
return "hnet-full"
end