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:
parent
bd02a525f8
commit
3d2e8d9b85
17 changed files with 1021 additions and 0 deletions
63
luci-proto-ipv6/luasrc/model/network/proto_4x6.lua
Normal file
63
luci-proto-ipv6/luasrc/model/network/proto_4x6.lua
Normal 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
|
50
luci-proto-ipv6/luasrc/model/network/proto_6x4.lua
Normal file
50
luci-proto-ipv6/luasrc/model/network/proto_6x4.lua
Normal 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
|
49
luci-proto-ipv6/luasrc/model/network/proto_aiccu.lua
Normal file
49
luci-proto-ipv6/luasrc/model/network/proto_aiccu.lua
Normal 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")
|
16
luci-proto-ipv6/luasrc/model/network/proto_dhcpv6.lua
Normal file
16
luci-proto-ipv6/luasrc/model/network/proto_dhcpv6.lua
Normal 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
|
16
luci-proto-ipv6/luasrc/model/network/proto_hnet.lua
Normal file
16
luci-proto-ipv6/luasrc/model/network/proto_hnet.lua
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue