# include configuration . /opt/etc/vbox-network IF_FD="$1" IF_NAME="$2" # get the user running vbox if [ "$SUDO_USER" = "" ]; then VBOX_USER=$USER else VBOX_USER=$SUDO_USER fi # errors NO_ERROR=0 E_ERROR=1 E_NOT_ROOT=2 E_TUNCTL_CREATE=3 E_BAD_CALLNAME=4 function create_iface { # need to be root [ "$UID" = "0" ] || return $E_NOT_ROOT # create the interface TUNCTL_CMD="$TUNCTL -b -u $VBOX_USER" [ "$IF_NAME" = "" ] || TUNCTL_CMD="$TUNCTL_CMD -t $IF_NAME" IF=$( $TUNCTL_CMD ) [ -z "$IF" ] && return $E_TUNCTL_CREATE # bring it up $IFCONFIG $IF up >> /dev/null # bridge it $BRCTL addif $BRIDGE $IF >> /dev/null echo $IF return $NO_ERROR } function delete_iface { # need to be root [ "$UID" = "0" ] || return $E_NOT_ROOT # unbridge $BRCTL delif $BRIDGE $IF_NAME >> /dev/null # delete $TUNCTL -d $IF_NAME >> /dev/null }