#!/bin/bash
##############################################
# Add VMWare Network Bridged devices hot
#
# Revisions
# J.Gargano - 2009-07-08 - 1.1
#
#############################################

echo "Locating Existing Devices"
for dev in $(ls /dev/vmnet*);
do
    echo " Found $dev"
done
echo
printf "Please enter a device number that does not exist in this list: "
read num
# Check if it exists
if [ -f /dev/vmnet$num ];then
    echo "/dev/vmnet$num exists! Exiting."
    exit 1
fi


# Select an interface
echo
echo "Locating interfaces to bridge"
for int in $(ifconfig |grep "^[a-z,A-Z]" |cut -d' ' -f1);
do
    echo $int
done
printf "Please enter a interface: "
read interface

# Check if it exists
ifconfig $interface >/dev/null 2>&1
ret=$?
if [ $ret != 0 ];then
    echo "Can't find interface. Exiting!"
    exit 1
fi


# Create device
echo "Creating device /dev/vmnet$num"
mknod /dev/vmnet$num c 119 $num

# Add to vmware netmap configuration
# open netmap.conf and get next number in list
let nextnetnum=$(cat /etc/vmware/netmap.conf | tail -1 | cut -d'.' -f1 | sed -e s/network//)+1

echo "Adding network$nextnetnum to /etc/vmware/netmap.conf"

echo "network$nextnetnum.name=\"$interface\"">> /etc/vmware/netmap.conf
echo "network$nextnetnum.device=\"vmnet$num\"">> /etc/vmware/netmap.conf


# Start Service
vmnet-bridge -d /var/run/vmnet-bridge-$num.pid -n $num -i $interface
