diff options
Diffstat (limited to 'network/vde2/rc.vde2')
-rw-r--r-- | network/vde2/rc.vde2 | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/network/vde2/rc.vde2 b/network/vde2/rc.vde2 new file mode 100644 index 0000000000..9cc1beceb0 --- /dev/null +++ b/network/vde2/rc.vde2 @@ -0,0 +1,74 @@ +#!/bin/sh + +#=========================== EDIT THE FOLLOWING VARIABLES ========================== +# _________________________________________________________________________________ +# | | +# | Interface name to use for the TAP device | +# | | + TAP_IF="tap0" +# |_________________________________________________________________________________| +# | | +# | IP Address/Subnet in CIDR Notation for the Virtual Network | +# | | + TAP_NET="10.10.10.1/24" +# |_________________________________________________________________________________| +# +#=========================== DO NOT EDIT BELOW THIS LINE ============================ + +start(){ + echo -n "Starting VDE Switch..." + + # Load tun module + modprobe tun || { echo "Error, cannot load 'tun' module. Exiting..." ; exit 1 ; } + sleep 1 + + # Start tap switch + vde_switch -tap ${TAP_IF} -daemon || { echo "Error, cannot assign IP to ${TAP_IF}. Exiting..." ; exit 1 ; } + + # Bring tap interface up + ip addr add ${TAP_NET} dev ${TAP_IF} + ip link set ${TAP_IF} up + + #chmod 666 /tmp/vde.ctl + chmod -R a+rwx /var/run/vde.ctl + + # Apply workaround + echo 1024 > /proc/sys/dev/rtc/max-user-freq + echo +} + + +stop(){ + echo -n "Stopping VDE Switch..." + + # Bring tap interface down + ip addr flush dev ${TAP_IF} + ip link set ${TAP_IF} down + + # Kill VDE switch + kill $(pgrep vde_switch) + sleep 1 + + # Remove tun module + modprobe -r tun + echo +} + + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + restart) + stop + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + ;; +esac |