* show_status doesn't need login
[lab.git] / vmware / hotaddbridge
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
13     echo " Found $dev"
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
19 if [ -e /dev/vmnet$num ];then
20     echo "/dev/vmnet$num exists! Exiting."
21     exit 1
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
30     echo $int
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
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
46 fi
47
48
49 # Create device
50 echo "Creating device /dev/vmnet$num"
51 mknod --mode=600 /dev/vmnet$num c 119 $num
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
59 echo "network$nextnetnum.name = \"${dummy}Bridged to $interface\"">> /etc/vmware/netmap.conf
60 echo "network$nextnetnum.device = \"vmnet$num\"">> /etc/vmware/netmap.conf
61
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
67
68 # Start Service
69 `which vmnet-bridge` -d /var/run/vmnet-bridge-$num.pid -n $num -i $interface