blob: 991b382265b0031ec4fc0ee0929064c2cfa1b65a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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
|