From 9aa2eaa4eb3bcc842994eeae8d14065a33181d6b Mon Sep 17 00:00:00 2001 From: Rémy Oudompheng Date: Sun, 5 Jun 2011 21:45:29 +0200 Subject: Add support for creating tun/tap interfaces (without configuration) --- examples/tuntap | 6 ++++++ src/connections/tuntap | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 examples/tuntap create mode 100644 src/connections/tuntap 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: -- cgit v1.2.3-24-g4f1b