View | Details | Raw Unified | Return to bug 68532
Collapse All | Expand All

(-)/usr/ports/emulators/vmware3/files/001.vmware.sh (-27 / +71 lines)
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
    ;;
(-)/usr/ports/emulators/vmware3/files/config (+2 lines)
Lines 3-7 Link Here
3
dhcpd.fullpath = "@@PREFIX@@/lib/vmware/bin/vmnet-dhcpd"
3
dhcpd.fullpath = "@@PREFIX@@/lib/vmware/bin/vmnet-dhcpd"
4
loop.fullpath = "@@PREFIX@@/lib/vmware/bin/vmware-loop"
4
loop.fullpath = "@@PREFIX@@/lib/vmware/bin/vmware-loop"
5
libdir = "@@PREFIX@@/lib/vmware"
5
libdir = "@@PREFIX@@/lib/vmware"
6
vmnet1.Bridged = "@@BRIDGED@@"
7
vmnet1.BridgeInterface = "@@BRIDGE_INTF@@"
6
vmnet1.HostOnlyAddress = "@@HOST_IP@@"
8
vmnet1.HostOnlyAddress = "@@HOST_IP@@"
7
vmnet1.HostOnlyNetMask = "@@NETMASK@@"
9
vmnet1.HostOnlyNetMask = "@@NETMASK@@"
(-)/usr/ports/emulators/vmware3/Makefile (-2 / +5 lines)
Lines 68-73 Link Here
68
VMNET1_MINOR=	0x00800001
68
VMNET1_MINOR=	0x00800001
69
.endif
69
.endif
70
70
71
VMNET_ADDR_ON_BRIDGED_INTERFACE= NO
72
71
SCRIPTS_ENV+=	LINUXBASE="${LINUXBASE}" \
73
SCRIPTS_ENV+=	LINUXBASE="${LINUXBASE}" \
72
		VMNET_HOST_IP="${VMNET_HOST_IP}" \
74
		VMNET_HOST_IP="${VMNET_HOST_IP}" \
73
		VMNET_NETMASK="${VMNET_NETMASK}" \
75
		VMNET_NETMASK="${VMNET_NETMASK}" \
Lines 134-139 Link Here
134
136
135
setoptions:
137
setoptions:
136
	${SED} 	-e 's;@@PREFIX@@;${PREFIX};' \
138
	${SED} 	-e 's;@@PREFIX@@;${PREFIX};' \
139
		-e 's;@@BRIDGED@@;${VMNET_BRIDGED};' \
140
		-e 's;@@BRIDGE_INTF@@;${VMNET_BRIDGED_INTERFACE};' \
137
		-e 's;@@HOST_IP@@;${VMNET_HOST_IP};' \
141
		-e 's;@@HOST_IP@@;${VMNET_HOST_IP};' \
138
		-e 's;@@NETMASK@@;${VMNET_NETMASK};' \
142
		-e 's;@@NETMASK@@;${VMNET_NETMASK};' \
139
		${FILESDIR}/config > ${WRKDIR}/config
143
		${FILESDIR}/config > ${WRKDIR}/config
Lines 141-148 Link Here
141
	${SED} 	-e 's;@@PREFIX@@;${PREFIX};' \
145
	${SED} 	-e 's;@@PREFIX@@;${PREFIX};' \
142
		-e 's;@@LINUXBASE@@;${LINUXBASE};' \
146
		-e 's;@@LINUXBASE@@;${LINUXBASE};' \
143
		-e 's;@@NETWORKING@@;${VMNET_NETWORKING};' \
147
		-e 's;@@NETWORKING@@;${VMNET_NETWORKING};' \
144
		-e 's;@@BRIDGED@@;${VMNET_BRIDGED};' \
148
		-e 's;@@ADDR_BRIDGE_IF@@;${VMNET_ADDR_ON_BRIDGED_INTERFACE};' \
145
		-e 's;@@BRIDGE_INTF@@;${VMNET_BRIDGED_INTERFACE};' \
146
		${FILESDIR}/001.vmware.sh > ${WRKDIR}/001.vmware.sh
149
		${FILESDIR}/001.vmware.sh > ${WRKDIR}/001.vmware.sh
147
150
148
	${SED} 	-e 's;@@PREFIX@@;${PREFIX};' \
151
	${SED} 	-e 's;@@PREFIX@@;${PREFIX};' \

Return to bug 68532