summaryrefslogtreecommitdiffhomepage
path: root/protocols/ppp/luasrc
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2014-12-03 15:17:05 +0100
committerJo-Philipp Wich <jow@openwrt.org>2015-01-08 16:26:20 +0100
commit1bb4822dca6113f73e3bc89e2acf15935e6f8e92 (patch)
tree35e16f100466e4e00657199b38bb3d87d52bf73f /protocols/ppp/luasrc
parent9edd0e46c3f880727738ce8ca6ff1c8b85f99ef4 (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/ppp/luasrc')
-rw-r--r--protocols/ppp/luasrc/model/cbi/admin_network/proto_l2tp.lua69
-rw-r--r--protocols/ppp/luasrc/model/cbi/admin_network/proto_ppp.lua136
-rw-r--r--protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoa.lua142
-rw-r--r--protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoe.lua136
-rw-r--r--protocols/ppp/luasrc/model/cbi/admin_network/proto_pptp.lua116
-rw-r--r--protocols/ppp/luasrc/model/network/proto_ppp.lua104
6 files changed, 0 insertions, 703 deletions
diff --git a/protocols/ppp/luasrc/model/cbi/admin_network/proto_l2tp.lua b/protocols/ppp/luasrc/model/cbi/admin_network/proto_l2tp.lua
deleted file mode 100644
index c1dd56e126..0000000000
--- a/protocols/ppp/luasrc/model/cbi/admin_network/proto_l2tp.lua
+++ /dev/null
@@ -1,69 +0,0 @@
---[[
-LuCI - Lua Configuration Interface
-
-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
-]]--
-
-local map, section, net = ...
-
-local server, username, password
-local ipv6, defaultroute, metric, peerdns, dns, mtu
-
-
-server = section:taboption("general", Value, "server", translate("L2TP Server"))
-server.datatype = "host"
-
-
-username = section:taboption("general", Value, "username", translate("PAP/CHAP username"))
-
-
-password = section:taboption("general", Value, "password", translate("PAP/CHAP password"))
-password.password = true
-
-if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", Flag, "ipv6",
- translate("Enable IPv6 negotiation on the PPP link"))
-
- ipv6.default = ipv6.disabled
-
-end
-
-defaultroute = section:taboption("advanced", Flag, "defaultroute",
- translate("Use 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)
-
-
-peerdns = section:taboption("advanced", Flag, "peerdns",
- translate("Use DNS servers advertised by peer"),
- translate("If unchecked, the advertised DNS server addresses are ignored"))
-
-peerdns.default = peerdns.enabled
-
-
-dns = section:taboption("advanced", DynamicList, "dns",
- translate("Use custom DNS servers"))
-
-dns:depends("peerdns", "")
-dns.datatype = "ipaddr"
-dns.cast = "string"
-
-mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))
-mtu.placeholder = "1500"
-mtu.datatype = "max(9200)"
diff --git a/protocols/ppp/luasrc/model/cbi/admin_network/proto_ppp.lua b/protocols/ppp/luasrc/model/cbi/admin_network/proto_ppp.lua
deleted file mode 100644
index 659e733a79..0000000000
--- a/protocols/ppp/luasrc/model/cbi/admin_network/proto_ppp.lua
+++ /dev/null
@@ -1,136 +0,0 @@
---[[
-LuCI - Lua Configuration Interface
-
-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
-]]--
-
-local map, section, net = ...
-
-local device, username, password
-local ipv6, defaultroute, metric, peerdns, dns,
- keepalive_failure, keepalive_interval, demand, mtu
-
-
-device = section:taboption("general", Value, "device", translate("Modem device"))
-device.rmempty = false
-
-local device_suggestions = nixio.fs.glob("/dev/tty*S*")
- or nixio.fs.glob("/dev/tts/*")
-
-if device_suggestions then
- local node
- for node in device_suggestions do
- device:value(node)
- end
-end
-
-
-username = section:taboption("general", Value, "username", translate("PAP/CHAP username"))
-
-
-password = section:taboption("general", Value, "password", translate("PAP/CHAP password"))
-password.password = true
-
-
-if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", Flag, "ipv6",
- translate("Enable IPv6 negotiation on the PPP link"))
-
- ipv6.default = ipv6.disabled
-
-end
-
-
-defaultroute = section:taboption("advanced", Flag, "defaultroute",
- translate("Use 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)
-
-
-peerdns = section:taboption("advanced", Flag, "peerdns",
- translate("Use DNS servers advertised by peer"),
- translate("If unchecked, the advertised DNS server addresses are ignored"))
-
-peerdns.default = peerdns.enabled
-
-
-dns = section:taboption("advanced", DynamicList, "dns",
- translate("Use custom DNS servers"))
-
-dns:depends("peerdns", "")
-dns.datatype = "ipaddr"
-dns.cast = "string"
-
-
-keepalive_failure = section:taboption("advanced", Value, "_keepalive_failure",
- translate("LCP echo failure threshold"),
- translate("Presume peer to be dead after given amount of LCP echo failures, use 0 to ignore failures"))
-
-function keepalive_failure.cfgvalue(self, section)
- local v = m:get(section, "keepalive")
- if v and #v > 0 then
- return tonumber(v:match("^(%d+)[ ,]+%d+") or v)
- end
-end
-
-function keepalive_failure.write() end
-function keepalive_failure.remove() end
-
-keepalive_failure.placeholder = "0"
-keepalive_failure.datatype = "uinteger"
-
-
-keepalive_interval = section:taboption("advanced", Value, "_keepalive_interval",
- translate("LCP echo interval"),
- translate("Send LCP echo requests at the given interval in seconds, only effective in conjunction with failure threshold"))
-
-function keepalive_interval.cfgvalue(self, section)
- local v = m:get(section, "keepalive")
- if v and #v > 0 then
- return tonumber(v:match("^%d+[ ,]+(%d+)"))
- end
-end
-
-function keepalive_interval.write(self, section, value)
- local f = tonumber(keepalive_failure:formvalue(section)) or 0
- local i = tonumber(value) or 5
- if i < 1 then i = 1 end
- if f > 0 then
- m:set(section, "keepalive", "%d %d" %{ f, i })
- else
- m:del(section, "keepalive")
- end
-end
-
-keepalive_interval.remove = keepalive_interval.write
-keepalive_interval.placeholder = "5"
-keepalive_interval.datatype = "min(1)"
-
-
-demand = section:taboption("advanced", Value, "demand",
- translate("Inactivity timeout"),
- translate("Close inactive connection after the given amount of seconds, use 0 to persist connection"))
-
-demand.placeholder = "0"
-demand.datatype = "uinteger"
-
-
-mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))
-mtu.placeholder = "1500"
-mtu.datatype = "max(9200)"
diff --git a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoa.lua b/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoa.lua
deleted file mode 100644
index c32e2828d7..0000000000
--- a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoa.lua
+++ /dev/null
@@ -1,142 +0,0 @@
---[[
-LuCI - Lua Configuration Interface
-
-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
-]]--
-
-local map, section, net = ...
-
-local encaps, atmdev, vci, vpi, username, password
-local ipv6, defaultroute, metric, peerdns, dns,
- keepalive_failure, keepalive_interval, demand, mtu
-
-
-encaps = section:taboption("general", ListValue, "encaps", translate("PPPoA Encapsulation"))
-encaps:value("vc", "VC-Mux")
-encaps:value("llc", "LLC")
-
-
-atmdev = section:taboption("general", Value, "atmdev", translate("ATM device number"))
-atmdev.default = "0"
-atmdev.datatype = "uinteger"
-
-
-vci = section:taboption("general", Value, "vci", translate("ATM Virtual Channel Identifier (VCI)"))
-vci.default = "35"
-vci.datatype = "uinteger"
-
-
-vpi = section:taboption("general", Value, "vpi", translate("ATM Virtual Path Identifier (VPI)"))
-vpi.default = "8"
-vpi.datatype = "uinteger"
-
-
-username = section:taboption("general", Value, "username", translate("PAP/CHAP username"))
-
-
-password = section:taboption("general", Value, "password", translate("PAP/CHAP password"))
-password.password = true
-
-
-if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", Flag, "ipv6",
- translate("Enable IPv6 negotiation on the PPP link"))
-
- ipv6.default = ipv6.disabled
-
-end
-
-
-defaultroute = section:taboption("advanced", Flag, "defaultroute",
- translate("Use 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)
-
-
-peerdns = section:taboption("advanced", Flag, "peerdns",
- translate("Use DNS servers advertised by peer"),
- translate("If unchecked, the advertised DNS server addresses are ignored"))
-
-peerdns.default = peerdns.enabled
-
-
-dns = section:taboption("advanced", DynamicList, "dns",
- translate("Use custom DNS servers"))
-
-dns:depends("peerdns", "")
-dns.datatype = "ipaddr"
-dns.cast = "string"
-
-
-keepalive_failure = section:taboption("advanced", Value, "_keepalive_failure",
- translate("LCP echo failure threshold"),
- translate("Presume peer to be dead after given amount of LCP echo failures, use 0 to ignore failures"))
-
-function keepalive_failure.cfgvalue(self, section)
- local v = m:get(section, "keepalive")
- if v and #v > 0 then
- return tonumber(v:match("^(%d+)[ ,]+%d+") or v)
- end
-end
-
-function keepalive_failure.write() end
-function keepalive_failure.remove() end
-
-keepalive_failure.placeholder = "0"
-keepalive_failure.datatype = "uinteger"
-
-
-keepalive_interval = section:taboption("advanced", Value, "_keepalive_interval",
- translate("LCP echo interval"),
- translate("Send LCP echo requests at the given interval in seconds, only effective in conjunction with failure threshold"))
-
-function keepalive_interval.cfgvalue(self, section)
- local v = m:get(section, "keepalive")
- if v and #v > 0 then
- return tonumber(v:match("^%d+[ ,]+(%d+)"))
- end
-end
-
-function keepalive_interval.write(self, section, value)
- local f = tonumber(keepalive_failure:formvalue(section)) or 0
- local i = tonumber(value) or 5
- if i < 1 then i = 1 end
- if f > 0 then
- m:set(section, "keepalive", "%d %d" %{ f, i })
- else
- m:del(section, "keepalive")
- end
-end
-
-keepalive_interval.remove = keepalive_interval.write
-keepalive_interval.placeholder = "5"
-keepalive_interval.datatype = "min(1)"
-
-
-demand = section:taboption("advanced", Value, "demand",
- translate("Inactivity timeout"),
- translate("Close inactive connection after the given amount of seconds, use 0 to persist connection"))
-
-demand.placeholder = "0"
-demand.datatype = "uinteger"
-
-
-mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))
-mtu.placeholder = "1500"
-mtu.datatype = "max(9200)"
diff --git a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoe.lua b/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoe.lua
deleted file mode 100644
index ec258a5282..0000000000
--- a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pppoe.lua
+++ /dev/null
@@ -1,136 +0,0 @@
---[[
-LuCI - Lua Configuration Interface
-
-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
-]]--
-
-local map, section, net = ...
-
-local username, password, ac, service
-local ipv6, defaultroute, metric, peerdns, dns,
- keepalive_failure, keepalive_interval, demand, mtu
-
-
-username = section:taboption("general", Value, "username", translate("PAP/CHAP username"))
-
-
-password = section:taboption("general", Value, "password", translate("PAP/CHAP password"))
-password.password = true
-
-
-ac = section:taboption("general", Value, "ac",
- translate("Access Concentrator"),
- translate("Leave empty to autodetect"))
-
-ac.placeholder = translate("auto")
-
-
-service = section:taboption("general", Value, "service",
- translate("Service Name"),
- translate("Leave empty to autodetect"))
-
-service.placeholder = translate("auto")
-
-
-if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", Flag, "ipv6",
- translate("Enable IPv6 negotiation on the PPP link"))
-
- ipv6.default = ipv6.disabled
-
-end
-
-
-defaultroute = section:taboption("advanced", Flag, "defaultroute",
- translate("Use 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)
-
-
-peerdns = section:taboption("advanced", Flag, "peerdns",
- translate("Use DNS servers advertised by peer"),
- translate("If unchecked, the advertised DNS server addresses are ignored"))
-
-peerdns.default = peerdns.enabled
-
-
-dns = section:taboption("advanced", DynamicList, "dns",
- translate("Use custom DNS servers"))
-
-dns:depends("peerdns", "")
-dns.datatype = "ipaddr"
-dns.cast = "string"
-
-
-keepalive_failure = section:taboption("advanced", Value, "_keepalive_failure",
- translate("LCP echo failure threshold"),
- translate("Presume peer to be dead after given amount of LCP echo failures, use 0 to ignore failures"))
-
-function keepalive_failure.cfgvalue(self, section)
- local v = m:get(section, "keepalive")
- if v and #v > 0 then
- return tonumber(v:match("^(%d+)[ ,]+%d+") or v)
- end
-end
-
-function keepalive_failure.write() end
-function keepalive_failure.remove() end
-
-keepalive_failure.placeholder = "0"
-keepalive_failure.datatype = "uinteger"
-
-
-keepalive_interval = section:taboption("advanced", Value, "_keepalive_interval",
- translate("LCP echo interval"),
- translate("Send LCP echo requests at the given interval in seconds, only effective in conjunction with failure threshold"))
-
-function keepalive_interval.cfgvalue(self, section)
- local v = m:get(section, "keepalive")
- if v and #v > 0 then
- return tonumber(v:match("^%d+[ ,]+(%d+)"))
- end
-end
-
-function keepalive_interval.write(self, section, value)
- local f = tonumber(keepalive_failure:formvalue(section)) or 0
- local i = tonumber(value) or 5
- if i < 1 then i = 1 end
- if f > 0 then
- m:set(section, "keepalive", "%d %d" %{ f, i })
- else
- m:del(section, "keepalive")
- end
-end
-
-keepalive_interval.remove = keepalive_interval.write
-keepalive_interval.placeholder = "5"
-keepalive_interval.datatype = "min(1)"
-
-
-demand = section:taboption("advanced", Value, "demand",
- translate("Inactivity timeout"),
- translate("Close inactive connection after the given amount of seconds, use 0 to persist connection"))
-
-demand.placeholder = "0"
-demand.datatype = "uinteger"
-
-
-mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))
-mtu.placeholder = "1500"
-mtu.datatype = "max(9200)"
diff --git a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pptp.lua b/protocols/ppp/luasrc/model/cbi/admin_network/proto_pptp.lua
deleted file mode 100644
index ea9858e7de..0000000000
--- a/protocols/ppp/luasrc/model/cbi/admin_network/proto_pptp.lua
+++ /dev/null
@@ -1,116 +0,0 @@
---[[
-LuCI - Lua Configuration Interface
-
-Copyright 2011-2012 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
-]]--
-
-local map, section, net = ...
-
-local server, username, password
-local defaultroute, metric, peerdns, dns,
- keepalive_failure, keepalive_interval, demand, mtu
-
-
-server = section:taboption("general", Value, "server", translate("VPN Server"))
-server.datatype = "host"
-
-
-username = section:taboption("general", Value, "username", translate("PAP/CHAP username"))
-
-
-password = section:taboption("general", Value, "password", translate("PAP/CHAP password"))
-password.password = true
-
-
-defaultroute = section:taboption("advanced", Flag, "defaultroute",
- translate("Use 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)
-
-
-peerdns = section:taboption("advanced", Flag, "peerdns",
- translate("Use DNS servers advertised by peer"),
- translate("If unchecked, the advertised DNS server addresses are ignored"))
-
-peerdns.default = peerdns.enabled
-
-
-dns = section:taboption("advanced", DynamicList, "dns",
- translate("Use custom DNS servers"))
-
-dns:depends("peerdns", "")
-dns.datatype = "ipaddr"
-dns.cast = "string"
-
-
-keepalive_failure = section:taboption("advanced", Value, "_keepalive_failure",
- translate("LCP echo failure threshold"),
- translate("Presume peer to be dead after given amount of LCP echo failures, use 0 to ignore failures"))
-
-function keepalive_failure.cfgvalue(self, section)
- local v = m:get(section, "keepalive")
- if v and #v > 0 then
- return tonumber(v:match("^(%d+)[ ,]+%d+") or v)
- end
-end
-
-function keepalive_failure.write() end
-function keepalive_failure.remove() end
-
-keepalive_failure.placeholder = "0"
-keepalive_failure.datatype = "uinteger"
-
-
-keepalive_interval = section:taboption("advanced", Value, "_keepalive_interval",
- translate("LCP echo interval"),
- translate("Send LCP echo requests at the given interval in seconds, only effective in conjunction with failure threshold"))
-
-function keepalive_interval.cfgvalue(self, section)
- local v = m:get(section, "keepalive")
- if v and #v > 0 then
- return tonumber(v:match("^%d+[ ,]+(%d+)"))
- end
-end
-
-function keepalive_interval.write(self, section, value)
- local f = tonumber(keepalive_failure:formvalue(section)) or 0
- local i = tonumber(value) or 5
- if i < 1 then i = 1 end
- if f > 0 then
- m:set(section, "keepalive", "%d %d" %{ f, i })
- else
- m:del(section, "keepalive")
- end
-end
-
-keepalive_interval.remove = keepalive_interval.write
-keepalive_interval.placeholder = "5"
-keepalive_interval.datatype = "min(1)"
-
-
-demand = section:taboption("advanced", Value, "demand",
- translate("Inactivity timeout"),
- translate("Close inactive connection after the given amount of seconds, use 0 to persist connection"))
-
-demand.placeholder = "0"
-demand.datatype = "uinteger"
-
-
-mtu = section:taboption("advanced", Value, "mtu", translate("Override MTU"))
-mtu.placeholder = "1500"
-mtu.datatype = "max(9200)"
diff --git a/protocols/ppp/luasrc/model/network/proto_ppp.lua b/protocols/ppp/luasrc/model/network/proto_ppp.lua
deleted file mode 100644
index dfd545f353..0000000000
--- a/protocols/ppp/luasrc/model/network/proto_ppp.lua
+++ /dev/null
@@ -1,104 +0,0 @@
---[[
-LuCI - Network model - 3G, PPP, PPtP, PPPoE and PPPoA protocol extension
-
-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({"ppp", "pptp", "pppoe", "pppoa", "3g", "l2tp"}) do
-
- local proto = netmod:register_protocol(p)
-
- function proto.get_i18n(self)
- if p == "ppp" then
- return luci.i18n.translate("PPP")
- elseif p == "pptp" then
- return luci.i18n.translate("PPtP")
- elseif p == "3g" then
- return luci.i18n.translate("UMTS/GPRS/EV-DO")
- elseif p == "pppoe" then
- return luci.i18n.translate("PPPoE")
- elseif p == "pppoa" then
- return luci.i18n.translate("PPPoATM")
- elseif p == "l2tp" then
- return luci.i18n.translate("L2TP")
- end
- end
-
- function proto.ifname(self)
- return p .. "-" .. self.sid
- end
-
- function proto.opkg_package(self)
- if p == "ppp" then
- return p
- elseif p == "3g" then
- return "comgt"
- elseif p == "pptp" then
- return "ppp-mod-pptp"
- elseif p == "pppoe" then
- return "ppp-mod-pppoe"
- elseif p == "pppoa" then
- return "ppp-mod-pppoa"
- elseif p == "l2tp" then
- return "xl2tpd"
- end
- end
-
- function proto.is_installed(self)
- if p == "pppoa" then
- return (nixio.fs.glob("/usr/lib/pppd/*/pppoatm.so")() ~= nil)
- elseif p == "pppoe" then
- return (nixio.fs.glob("/usr/lib/pppd/*/rp-pppoe.so")() ~= nil)
- elseif p == "pptp" then
- return (nixio.fs.glob("/usr/lib/pppd/*/pptp.so")() ~= nil)
- elseif p == "3g" then
- return nixio.fs.access("/lib/netifd/proto/3g.sh")
- elseif p == "l2tp" then
- return nixio.fs.access("/lib/netifd/proto/l2tp.sh")
- else
- return nixio.fs.access("/lib/netifd/proto/ppp.sh")
- end
- end
-
- function proto.is_floating(self)
- return (p ~= "pppoe")
- end
-
- function proto.is_virtual(self)
- return true
- end
-
- function proto.get_interfaces(self)
- if self:is_floating() then
- return nil
- else
- return netmod.protocol.get_interfaces(self)
- end
- end
-
- function proto.contains_interface(self, ifc)
- 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("^%s-%%w" % p)
-end