diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2012-03-15 13:10:10 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2012-03-15 13:10:10 +0000 |
commit | 36681224a041c8256f2054f62d7b075743c9c1c6 (patch) | |
tree | f908bd3987d49aff62d9c5dad8642c4d77961a8c /main/vde2/vde2.pre-up | |
parent | 27ea70e01bb3a594eddcc08280bf20718ad859bd (diff) | |
download | aports-36681224a041c8256f2054f62d7b075743c9c1c6.tar.bz2 aports-36681224a041c8256f2054f62d7b075743c9c1c6.tar.xz |
main/vde2: add support for debian style network config
Diffstat (limited to 'main/vde2/vde2.pre-up')
-rw-r--r-- | main/vde2/vde2.pre-up | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/main/vde2/vde2.pre-up b/main/vde2/vde2.pre-up new file mode 100644 index 0000000000..991b382265 --- /dev/null +++ b/main/vde2/vde2.pre-up @@ -0,0 +1,74 @@ +#!/bin/sh + +VDE_SWITCH=/usr/bin/vde_switch +VDE_PLUG=/usr/bin/vde_plug +SLIRPVDE=/usr/bin/slirpvde +DPIPE=/usr/bin/dpipe +RUNDIR=/var/run/vde2 + +USER=vde2-net +GROUP=vde2-net + +if [ ! -x $VDE_SWITCH ] || [ ! -x $SLIRPVDE ]; then + exit 0 +fi + +# this is not an interesting stanza for us +if [ -z "$IF_VDE2_SWITCH" -a -z "$IF_VDE2_PLUG" -a -z "$IF_VDE2_SLIRP" ]; then + exit 0 +fi + + +# Create directory if missing +if [ ! -d $RUNDIR ]; then + mkdir -p $RUNDIR + chown vde2-net:vde2-net $RUNDIR + chmod 2770 $RUNDIR +fi + +# vde2-switch [-|<args>] +if [ -n "$IF_VDE2_SWITCH" ]; then + set -- $IF_VDE2_SWITCH + test "$1" = "-" && shift + PIDFILE="$RUNDIR/$IFACE.pid" + CTLDIR="$RUNDIR/$IFACE.ctl" + MGMTFILE="$RUNDIR/$IFACE.mgmt" + + if [ "$METHOD" = "manual" ]; then + TAPOPTS="" + else + TAPOPTS="-t $IFACE" + fi + + # block to make sure the interface exists, see #568363 + vde_tunctl -b -t $IFACE 1>/dev/null + + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $VDE_SWITCH -- \ + -s $CTLDIR -m 660 -g $GROUP -p $PIDFILE $TAPOPTS \ + -M $MGMTFILE --mgmtmode 660 -d "$@" +fi + +# vde2-plug <dpipe_cmd2> +if [ -n "$IF_VDE2_PLUG" ]; then + set -- $IF_VDE2_PLUG + PIDFILE="$RUNDIR/$IFACE-plug.pid" + CTLDIR="$RUNDIR/$IFACE.ctl" + + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --make-pidfile --background \ + --exec $DPIPE -- $VDE_PLUG -g $GROUP -m 660 $CTLDIR = "$@" +fi + +# vde2-slirp [-|<args>] +if [ -n "$IF_VDE2_SLIRP" ]; then + set -- $IF_VDE2_SLIRP + test "$1" = "-" && shift + PIDFILE="$RUNDIR/$IFACE-slirp.pid" + CTLDIR="$RUNDIR/$IFACE.ctl" + + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --chuid $USER \ + --exec $SLIRPVDE -- \ + -s $CTLDIR -m 660 -p $PIDFILE -d "$@" +fi |