diff options
author | Roy Marples <roy@marples.name> | 2008-03-26 14:18:01 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2008-03-26 14:18:01 +0000 |
commit | ccf238f852fd0463e68d33b91f0dd55000c325e3 (patch) | |
tree | e104640ae7b25be54520c22712b34385b1c030c4 /net.Linux/tuntap.sh | |
parent | 55858eca2ec678fce14b21df33d08f5aaac94bcf (diff) |
Merge net.OS into net
Diffstat (limited to 'net.Linux/tuntap.sh')
-rw-r--r-- | net.Linux/tuntap.sh | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/net.Linux/tuntap.sh b/net.Linux/tuntap.sh deleted file mode 100644 index 3174d812..00000000 --- a/net.Linux/tuntap.sh +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright 2007-2008 Roy Marples <roy@marples.name> -# All rights reserved. Released under the 2-clause BSD license. - -tuntap_depend() -{ - before bridge interface macchanger -} - -_config_vars="$_config_vars tunctl" - -_is_tuntap() -{ - [ -n "$(export RC_SVCNAME="net.${IFACE}"; service_get_value tuntap)" ] -} - -tuntap_pre_start() -{ - local tuntap= - eval tuntap=\$tuntap_${IFVAR} - - [ -z "${tuntap}" ] && return 0 - - if [ ! -e /dev/net/tun ]; then - if ! modprobe tun; then - eerror "TUN/TAP support is not present in this kernel" - return 1 - fi - vebegin "Waiting for /dev/net/tun" - # /dev/net/tun can take it's time to appear - local timeout=10 - while [ ! -e /dev/net/tun -a ${timeout} -gt 0 ]; do - sleep 1 - timeout=$((${timeout} - 1)) - done - if [ ! -e /dev/net/tun ]; then - eerror "TUN/TAP support present but /dev/net/tun is not" - return 1 - fi - veend 0 - fi - - ebegin "Creating Tun/Tap interface ${IFACE}" - - # Set the base metric to 1000 - metric=1000 - - local o_opts= t_opts= do_openvpn=false do_tunctl=false - eval o_opts=\$openvpn_${IFVAR} - eval t_opts=\$tunctl_${IFVAR} - - if [ -n "${o_opts}" ] && type openvpn >/dev/null 2>&1; then - do_openvpn=true - elif [ -n "${t_opts}" ] && type tunctl >/dev/null 2>&1; then - do_tunctl=true - elif type openvpn >/dev/null 2>&1; then - do_openvpn=true - else - do_tunctl=true - fi - - if ${do_openvpn}; then - openvpn --mktun --dev-type "${tuntap}" --dev "${IFACE}" \ - ${o_opts} >/dev/null - else - tunctl ${t_opts} -t "${IFACE}" >/dev/null - fi - eend $? && _up && service_set_value tuntap "${tuntap}" -} - -tuntap_post_stop() -{ - _is_tuntap || return 0 - - ebegin "Destroying Tun/Tap interface ${IFACE}" - if type tunctl >/dev/null 2>&1; then - tunctl -d "${IFACE}" >/dev/null - else - openvpn --rmtun \ - --dev-type "$(service_get_value tuntap)" \ - --dev "${IFACE}" >/dev/null - fi - eend $? -} |