| [dd21d69] | 1 | #!/bin/bash |
|---|
| 2 | ############################################## |
|---|
| 3 | # Add VMWare Network Bridged devices hot |
|---|
| 4 | # |
|---|
| 5 | # Revisions |
|---|
| 6 | # J.Gargano - 2009-07-08 - 1.1 |
|---|
| 7 | # |
|---|
| 8 | ############################################# |
|---|
| 9 | |
|---|
| 10 | echo "Locating Existing Devices" |
|---|
| 11 | for dev in $(ls /dev/vmnet*); |
|---|
| 12 | do |
|---|
| [330685a] | 13 | echo " Found $dev" |
|---|
| [dd21d69] | 14 | done |
|---|
| 15 | echo |
|---|
| 16 | printf "Please enter a device number that does not exist in this list: " |
|---|
| 17 | read num |
|---|
| 18 | # Check if it exists |
|---|
| [013d010] | 19 | if [ -e /dev/vmnet$num ];then |
|---|
| [330685a] | 20 | echo "/dev/vmnet$num exists! Exiting." |
|---|
| 21 | exit 1 |
|---|
| [dd21d69] | 22 | fi |
|---|
| 23 | |
|---|
| 24 | |
|---|
| 25 | # Select an interface |
|---|
| 26 | echo |
|---|
| 27 | echo "Locating interfaces to bridge" |
|---|
| 28 | for int in $(ifconfig |grep "^[a-z,A-Z]" |cut -d' ' -f1); |
|---|
| 29 | do |
|---|
| [330685a] | 30 | echo $int |
|---|
| [dd21d69] | 31 | done |
|---|
| 32 | printf "Please enter a interface: " |
|---|
| 33 | read interface |
|---|
| 34 | |
|---|
| 35 | # Check if it exists |
|---|
| 36 | ifconfig $interface >/dev/null 2>&1 |
|---|
| 37 | ret=$? |
|---|
| 38 | if [ $ret != 0 ];then |
|---|
| [013d010] | 39 | if [ "$1" != "-d" ]; then |
|---|
| 40 | echo "Can't find interface. Exiting!" |
|---|
| 41 | exit 1 |
|---|
| 42 | else |
|---|
| 43 | echo "Use dummy device: $interface" |
|---|
| 44 | dummy="Dummy " |
|---|
| 45 | fi |
|---|
| [dd21d69] | 46 | fi |
|---|
| 47 | |
|---|
| 48 | |
|---|
| 49 | # Create device |
|---|
| 50 | echo "Creating device /dev/vmnet$num" |
|---|
| [013d010] | 51 | mknod --mode=600 /dev/vmnet$num c 119 $num |
|---|
| [dd21d69] | 52 | |
|---|
| 53 | # Add to vmware netmap configuration |
|---|
| 54 | # open netmap.conf and get next number in list |
|---|
| 55 | let nextnetnum=$(cat /etc/vmware/netmap.conf | tail -1 | cut -d'.' -f1 | sed -e s/network//)+1 |
|---|
| 56 | |
|---|
| 57 | echo "Adding network$nextnetnum to /etc/vmware/netmap.conf" |
|---|
| 58 | |
|---|
| [013d010] | 59 | echo "network$nextnetnum.name = \"${dummy}Bridged to $interface\"">> /etc/vmware/netmap.conf |
|---|
| 60 | echo "network$nextnetnum.device = \"vmnet$num\"">> /etc/vmware/netmap.conf |
|---|
| [dd21d69] | 61 | |
|---|
| [013d010] | 62 | # Add to vmware locations configuration |
|---|
| 63 | echo "answer VNET_${num}_NAME ${dummy}Bridged to $interface" >> /etc/vmware/locations |
|---|
| 64 | echo "answer VNET_${num}_INTERFACE $interface" >> /etc/vmware/locations |
|---|
| 65 | echo "remove_file /dev/vmnet$num" >> /etc/vmware/locations |
|---|
| 66 | echo "file /dev/vmnet$num" >> /etc/vmware/locations |
|---|
| [dd21d69] | 67 | |
|---|
| 68 | # Start Service |
|---|
| [013d010] | 69 | `which vmnet-bridge` -d /var/run/vmnet-bridge-$num.pid -n $num -i $interface |
|---|