diff options
author | Rémy Oudompheng <remy@archlinux.org> | 2011-06-05 21:45:29 +0200 |
---|---|---|
committer | Rémy Oudompheng <remy@archlinux.org> | 2011-06-05 21:45:29 +0200 |
commit | 9aa2eaa4eb3bcc842994eeae8d14065a33181d6b (patch) | |
tree | d4d367a5a3c9b77f6c1ebf6da652d60e8e413504 | |
parent | db8b46406b46132406aa46cecc8ccacdb9975f89 (diff) | |
download | netctl-9aa2eaa4eb3bcc842994eeae8d14065a33181d6b.tar.gz netctl-9aa2eaa4eb3bcc842994eeae8d14065a33181d6b.tar.xz |
Add support for creating tun/tap interfaces (without configuration)
-rw-r--r-- | examples/tuntap | 6 | ||||
-rw-r--r-- | src/connections/tuntap | 34 |
2 files changed, 40 insertions, 0 deletions
diff --git a/examples/tuntap b/examples/tuntap new file mode 100644 index 0000000..2917875 --- /dev/null +++ b/examples/tuntap @@ -0,0 +1,6 @@ +INTERFACE='tun0' +CONNECTION='tuntap' +MODE='tun' +USER='nobody' +GROUP='nobody' + diff --git a/src/connections/tuntap b/src/connections/tuntap new file mode 100644 index 0000000..e2c8c5d --- /dev/null +++ b/src/connections/tuntap @@ -0,0 +1,34 @@ +#! /bin/bash +. /usr/lib/network/network + +tuntap_up() { + load_profile "$1" + + if [ -e /sys/class/net/$INTERFACE ]; then + report_fail "Interface $INTERFACE already exists." + exit 1 + else + ip tuntap add dev "$INTERFACE" mode "$MODE" \ + user "$USER" group "$GROUP" &>/dev/null + fi + return 0 +} + +tuntap_down() { + load_profile "$1" + + ip tuntap del "$INTERFACE" mode "$MODE" &>/dev/null + return 0 +} + +tuntap_status() { + if [ -e /sys/class/net/$INTERFACE ]; then + return 0 + else + return 1 + fi +} + +tuntap_$1 "$2" +exit $? +# vim: set ts=4 et sw=4 tw=0: |