summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJouke Witteveen <j.witteveen@gmail.com>2014-02-27 13:58:57 +0100
committerJouke Witteveen <j.witteveen@gmail.com>2014-02-27 13:58:57 +0100
commit3b77f8666f19ca2ed1fc242d05d88706b8261863 (patch)
treeb059d893ecabac98697fe3b79eeef567e5ce2c0c /src
parentf64a2f25d435edd3507e477a25cb4c4e15297794 (diff)
downloadnetctl-3b77f8666f19ca2ed1fc242d05d88706b8261863.tar.gz
netctl-3b77f8666f19ca2ed1fc242d05d88706b8261863.tar.xz
Introduce a new PPP connection type
This should at some point take care of most PPP use cases, but currently is just a frontend to pppoe. The main difference is that the new connection type keeps track of profiles by their 'dynamic' interface name. Hence it is not wise to use both pppoe and ppp profiles.
Diffstat (limited to 'src')
-rw-r--r--src/lib/connections/ppp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/lib/connections/ppp b/src/lib/connections/ppp
new file mode 100644
index 0000000..dfc7805
--- /dev/null
+++ b/src/lib/connections/ppp
@@ -0,0 +1,28 @@
+. "$SUBR_DIR/connections/pppoe"
+
+ppp_compatible() {
+ if [[ ${#BindsToInterfaces[@]} -ne 1 ]]; then
+ report_error "No unique port for PPP interface '$Interface' specified"
+ return 1
+ fi
+ if [[ ! $Interface =~ ppp([[:digit:]]+) ]]; then
+ report_error "Interface '$Interface' is not of the supported form 'ppp<n>'"
+ return 1
+ fi
+ PPPUnit=${BASH_REMATCH[1]}
+ echo "$BindsToInterfaces"
+}
+
+ppp_up() {
+ local interface
+ interface=$(ppp_compatible) || return 1
+
+ Interface=$interface pppoe_up
+}
+
+ppp_down() {
+ local interface
+ interface=$(ppp_compatible) || return 1
+
+ Interface=$interface pppoe_down
+}