diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2014-12-03 15:17:05 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2015-01-08 16:26:20 +0100 |
commit | 1bb4822dca6113f73e3bc89e2acf15935e6f8e92 (patch) | |
tree | 35e16f100466e4e00657199b38bb3d87d52bf73f /protocols/luci-proto-ipv6/luasrc/model/network | |
parent | 9edd0e46c3f880727738ce8ca6ff1c8b85f99ef4 (diff) |
Rework LuCI build system
* Rename subdirectories to their repective OpenWrt package names
* Make each LuCI module its own standalone package
* Deploy a shared luci.mk which is used by each module Makefile
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Diffstat (limited to 'protocols/luci-proto-ipv6/luasrc/model/network')
4 files changed, 195 insertions, 0 deletions
diff --git a/protocols/luci-proto-ipv6/luasrc/model/network/proto_4x6.lua b/protocols/luci-proto-ipv6/luasrc/model/network/proto_4x6.lua new file mode 100644 index 0000000000..91adfa944f --- /dev/null +++ b/protocols/luci-proto-ipv6/luasrc/model/network/proto_4x6.lua @@ -0,0 +1,65 @@ +--[[ +LuCI - Network model - 6to4, 6in4 & 6rd protocol extensions + +Copyright 2011 Jo-Philipp Wich <xm@subsignal.org> +Copyright 2013 Steven Barth <steven@midlink.org> + +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 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +]]-- + +local netmod = luci.model.network + +local _, p +for _, p in ipairs({"dslite"}) do + + local proto = netmod:register_protocol(p) + + function proto.get_i18n(self) + if p == "dslite" then + return luci.i18n.translate("Dual-Stack Lite (RFC6333)") + end + end + + function proto.ifname(self) + return p .. "-" .. self.sid + end + + function proto.opkg_package(self) + if p == "dslite" then + return "ds-lite" + 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 + + netmod:register_pattern_virtual("^%s-%%w" % p) +end diff --git a/protocols/luci-proto-ipv6/luasrc/model/network/proto_6x4.lua b/protocols/luci-proto-ipv6/luasrc/model/network/proto_6x4.lua new file mode 100644 index 0000000000..b800b0b540 --- /dev/null +++ b/protocols/luci-proto-ipv6/luasrc/model/network/proto_6x4.lua @@ -0,0 +1,66 @@ +--[[ +LuCI - Network model - 6to4, 6in4 & 6rd protocol extensions + +Copyright 2011 Jo-Philipp Wich <xm@subsignal.org> + +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 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +]]-- + +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 diff --git a/protocols/luci-proto-ipv6/luasrc/model/network/proto_dhcpv6.lua b/protocols/luci-proto-ipv6/luasrc/model/network/proto_dhcpv6.lua new file mode 100644 index 0000000000..59463d18a9 --- /dev/null +++ b/protocols/luci-proto-ipv6/luasrc/model/network/proto_dhcpv6.lua @@ -0,0 +1,32 @@ +--[[ +LuCI - Network model - dhcpv6 protocol extension + +Copyright 2013 Jo-Philipp Wich <xm@subsignal.org> + +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 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +]]-- + +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 diff --git a/protocols/luci-proto-ipv6/luasrc/model/network/proto_hnet.lua b/protocols/luci-proto-ipv6/luasrc/model/network/proto_hnet.lua new file mode 100644 index 0000000000..d3e094f20f --- /dev/null +++ b/protocols/luci-proto-ipv6/luasrc/model/network/proto_hnet.lua @@ -0,0 +1,32 @@ +--[[ +LuCI - Network model - homenet protocol extension + +Copyright 2014 Steven Barth <steven@midlink.org> + +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 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +]]-- + +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 "hnetd" +end |