|
Lines 24-33
Link Here
|
| 24 |
vmware=`vmware_config vmware.fullpath` |
24 |
vmware=`vmware_config vmware.fullpath` |
| 25 |
vmware_libdir=`vmware_config libdir` |
25 |
vmware_libdir=`vmware_config libdir` |
| 26 |
networking=@@NETWORKING@@ |
26 |
networking=@@NETWORKING@@ |
| 27 |
bridged=@@BRIDGED@@ |
27 |
addr_on_bridge_if=@@ADDR_BRIDGE_IF@@ |
| 28 |
bridge_interface=@@BRIDGE_INTF@@ |
|
|
| 29 |
host_ip=`vmware_config vmnet1.HostOnlyAddress` |
| 30 |
netmask=`vmware_config vmnet1.HostOnlyNetMask` |
| 31 |
dev_vmnet1=/dev/vmnet1 |
28 |
dev_vmnet1=/dev/vmnet1 |
| 32 |
|
29 |
|
| 33 |
if [ ! -x $vmware ]; then |
30 |
if [ ! -x $vmware ]; then |
|
Lines 54-75
Link Here
|
| 54 |
echo "Your VMware installation seems broken. Please reinstall VMware port." >&2 |
51 |
echo "Your VMware installation seems broken. Please reinstall VMware port." >&2 |
| 55 |
exit 255 |
52 |
exit 255 |
| 56 |
fi |
53 |
fi |
| 57 |
(echo -n > $dev_vmnet1) 2>/dev/null || \ |
54 |
vmnet_no=1 |
| 58 |
echo -n > /dev/vmnet1 2>&1 |
55 |
bridge_no=1 |
| 59 |
ifconfig vmnet1 $host_ip netmask $netmask |
56 |
while true; do |
| 60 |
if [ X$bridged = XYES ]; then |
57 |
vmnet=vmnet$vmnet_no |
| 61 |
kldstat -v | grep netgraph >/dev/null || kldload netgraph.ko |
58 |
vmnet_no=`expr $vmnet_no + 1` |
| 62 |
kldstat -v | grep ng_ether >/dev/null || kldload ng_ether.ko |
59 |
bridged=`vmware_config $vmnet.Bridged` |
| 63 |
kldstat -v | grep ng_bridge >/dev/null || kldload ng_bridge.ko |
60 |
if [ X$bridged = X ]; then |
| 64 |
ngctl mkpeer vmnet1: bridge lower link0 |
61 |
break |
| 65 |
ngctl name vmnet1:lower vmnet_bridge |
62 |
fi |
| 66 |
ngctl connect vmnet_bridge: ${bridge_interface}: link1 lower |
63 |
host_ip=`vmware_config $vmnet.HostOnlyAddress` |
| 67 |
ngctl connect vmnet_bridge: ${bridge_interface}: link2 upper |
64 |
netmask=`vmware_config $vmnet.HostOnlyNetMask` |
| 68 |
ngctl msg ${bridge_interface}: setautosrc 0 |
65 |
echo -n > /dev/$vmnet 2>&1 |
| 69 |
ngctl msg ${bridge_interface}: setpromisc 1 |
66 |
ifconfig $vmnet $host_ip netmask $netmask |
| 70 |
ngctl msg vmnet1: setautosrc 0 |
67 |
if [ X$bridged = XYES ]; then |
| 71 |
ngctl msg vmnet1: setpromisc 1 |
68 |
if [ X$addr_on_bridge_if = XNO ]; then |
| 72 |
fi |
69 |
# XXX Still need to configure + delete to make it RUNNING |
|
|
70 |
ifconfig $vmnet delete $host_ip |
| 71 |
fi |
| 72 |
bridge_interface=`vmware_config $vmnet.BridgeInterface` |
| 73 |
eval vmnet_bridge=\$vmnet_bridge_$bridge_interface |
| 74 |
if [ X$vmnet_bridge = X ]; then |
| 75 |
kldstat -v | grep netgraph >/dev/null || kldload netgraph.ko |
| 76 |
kldstat -v | grep ng_ether >/dev/null || kldload ng_ether.ko |
| 77 |
kldstat -v | grep ng_bridge >/dev/null || kldload ng_bridge.ko |
| 78 |
vmnet_bridge=vmnet_bridge$bridge_no |
| 79 |
bridge_no=`expr $bridge_no + 1` |
| 80 |
eval vmnet_bridge_$bridge_interface=$vmnet_bridge |
| 81 |
ngctl mkpeer ${bridge_interface}: bridge lower link0 |
| 82 |
ngctl name ${bridge_interface}:lower ${vmnet_bridge} |
| 83 |
ngctl connect ${vmnet_bridge}: ${bridge_interface}: link1 upper |
| 84 |
ngctl msg ${bridge_interface}: setautosrc 0 |
| 85 |
ngctl msg ${bridge_interface}: setpromisc 1 |
| 86 |
eval ${vmnet_bridge}_linkno=2 |
| 87 |
fi |
| 88 |
eval linkno=\$${vmnet_bridge}_linkno |
| 89 |
eval ${vmnet_bridge}_linkno=`expr $linkno + 1` |
| 90 |
ngctl connect ${vmnet_bridge}: ${vmnet}: link$linkno lower |
| 91 |
ngctl msg ${vmnet}: setautosrc 0 |
| 92 |
ngctl msg ${vmnet}: setpromisc 1 |
| 93 |
fi |
| 94 |
done |
| 73 |
fi |
95 |
fi |
| 74 |
echo -n " VMware" >&2 |
96 |
echo -n " VMware" >&2 |
| 75 |
;; |
97 |
;; |
|
Lines 77-89
Link Here
|
| 77 |
stop) |
99 |
stop) |
| 78 |
kldunload vmmon_${suffix} |
100 |
kldunload vmmon_${suffix} |
| 79 |
if [ $networking -eq 1 ]; then |
101 |
if [ $networking -eq 1 ]; then |
| 80 |
ifconfig vmnet1 down |
102 |
vmnet_no=1 |
| 81 |
ifconfig vmnet1 delete $host_ip |
103 |
bridge_no=1 |
| 82 |
if [ X$bridged = XYES ]; then |
104 |
while true; do |
| 83 |
ngctl shutdown vmnet_bridge: |
105 |
vmnet=vmnet$vmnet_no |
| 84 |
ngctl msg ${bridge_interface}: setautosrc 1 |
106 |
vmnet_no=`expr $vmnet_no + 1` |
| 85 |
ngctl msg ${bridge_interface}: setpromisc 0 |
107 |
bridged=`vmware_config $vmnet.Bridged` |
| 86 |
fi |
108 |
if [ X$bridged = X ]; then |
|
|
109 |
break |
| 110 |
fi |
| 111 |
host_ip=`vmware_config $vmnet.HostOnlyAddress` |
| 112 |
ifconfig $vmnet down |
| 113 |
if [ X$bridged = XYES ]; then |
| 114 |
if [ X$addr_on_bridge_if = XYES ]; then |
| 115 |
ifconfig $vmnet delete $host_ip |
| 116 |
fi |
| 117 |
bridge_interface=`vmware_config $vmnet.BridgeInterface` |
| 118 |
eval vmnet_bridge=\$vmnet_bridge_$bridge_interface |
| 119 |
if [ X$vmnet_bridge = X ]; then |
| 120 |
vmnet_bridge=vmnet_bridge$bridge_no |
| 121 |
bridge_no=`expr $bridge_no + 1` |
| 122 |
eval vmnet_bridge_$bridge_interface=$vmnet_bridge |
| 123 |
ngctl msg ${bridge_interface}: setautosrc 1 |
| 124 |
ngctl msg ${bridge_interface}: setpromisc 0 |
| 125 |
ngctl shutdown ${vmnet_bridge}: |
| 126 |
fi |
| 127 |
else |
| 128 |
ifconfig $vmnet delete $host_ip |
| 129 |
fi |
| 130 |
done |
| 87 |
kldunload vmnet.ko |
131 |
kldunload vmnet.ko |
| 88 |
fi |
132 |
fi |
| 89 |
;; |
133 |
;; |