Merge pull request #787 from rogerpueyo/luci-proto-ipip
[project/luci.git] / protocols / luci-proto-wireguard / luasrc / model / network / proto_wireguard.lua
1 -- Copyright 2016 Dan Luedtke <mail@danrl.com>
2 -- Licensed to the public under the Apache License 2.0.
3
4 local netmod = luci.model.network
5 local interface = luci.model.network.interface
6 local proto = netmod:register_protocol("wireguard")
7
8 function proto.get_i18n(self)
9   return luci.i18n.translate("WireGuard VPN")
10 end
11
12 function proto.ifname(self)
13   return self.sid
14 end
15
16 function proto.get_interface(self)
17   return interface(self:ifname(), self)
18 end
19
20 function proto.opkg_package(self)
21   return "wireguard-tools"
22 end
23
24 function proto.is_installed(self)
25   return nixio.fs.access("/lib/netifd/proto/wireguard.sh")
26 end
27
28 function proto.is_floating(self)
29   return true
30 end
31
32 function proto.is_virtual(self)
33   return true
34 end
35
36 function proto.get_interfaces(self)
37   return nil
38 end
39
40 function proto.contains_interface(self, ifc)
41    return (netmod:ifnameof(ifc) == self:ifname())
42 end