diff options
-rw-r--r-- | docs/netctl.profile.5.txt | 10 | ||||
-rw-r--r-- | src/lib/connections/ppp | 28 |
2 files changed, 38 insertions, 0 deletions
diff --git a/docs/netctl.profile.5.txt b/docs/netctl.profile.5.txt index 2cf0285..649520b 100644 --- a/docs/netctl.profile.5.txt +++ b/docs/netctl.profile.5.txt @@ -44,6 +44,8 @@ AVAILABLE CONNECTION TYPES available. +dummy+:: For dummy interfaces. ++ppp+:: + For PPP connections (currently only PPPoE). +pppoe+:: For PPPoE connections. +mobile_ppp+:: @@ -312,6 +314,14 @@ The name of the dummy interface is sepcified in 'Interface'. Only the *ip options* are understood for connections of the `dummy' type. +OPTIONS FOR `ppp' CONNECTIONS +----------------------------- +This connection type is identical to the `pppoe' type below, with the +ethernet interface specified in 'BindsToInterfaces'. The value of +'Interface' must be of the form `ppp<++n++>', where ++n++ is passed on as +the value of 'PPPUnit'. + + OPTIONS FOR `pppoe' CONNECTIONS ------------------------------- The interface to dial peer-to-peer over ethernet is specified in 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 +} |