7a7a493036
advantages, chief of which is that it doesn't hose over multi-interface configurations the way the default installation did before. This mechanism "chains" the guest's interface to an interface specified at installation-time (it can be changed afterwards by editing the rc.d script). Approved by: (maintainer)
160 lines
3 KiB
Bash
160 lines
3 KiB
Bash
#!/bin/sh
|
|
|
|
[ "_$VMNET_HOST_IP" = _ ] && VMNET_HOST_IP="192.168.254.1"
|
|
[ "_$VMNET_NETMASK" = _ ] && VMNET_NETMASK="255.255.255.0"
|
|
|
|
host_ip=$VMNET_HOST_IP
|
|
netmask=$VMNET_NETMASK
|
|
title="VMware network options"
|
|
|
|
get_network_settings() {
|
|
bridged="NO"
|
|
/usr/bin/dialog --title "$title" --clear --yesno \
|
|
"\n"\
|
|
"Do you want to use netgraph bridging?\n"\
|
|
10 50
|
|
if [ $? -eq 0 ]; then
|
|
bridged="YES"
|
|
result=`/usr/bin/dialog --title "$title" --clear --inputbox \
|
|
"\n"\
|
|
"To which interface would you\n"\
|
|
"like to tie the bridge?:"\
|
|
10 50 "" \
|
|
2>&1 > /dev/tty`
|
|
case $? in
|
|
0)
|
|
if [ -z "$result" ]; then
|
|
return 1
|
|
fi
|
|
bdg_interface=$result
|
|
;;
|
|
1)
|
|
return 1
|
|
;;
|
|
esac
|
|
host_ip=192.168.0.1
|
|
netmask=255.255.255.0
|
|
else
|
|
|
|
result=`/usr/bin/dialog --title "$title" --clear --inputbox \
|
|
"\n"\
|
|
"What will be the IP address of your host\n"\
|
|
"on your private network?:"\
|
|
10 50 $host_ip \
|
|
2>&1 >/dev/tty `
|
|
|
|
case $? in
|
|
0)
|
|
if [ -z "$result" ]; then
|
|
return 1
|
|
fi
|
|
host_ip=$result
|
|
;;
|
|
1)
|
|
return 1
|
|
;;
|
|
esac
|
|
|
|
result=`/usr/bin/dialog --title "$title" --clear --inputbox \
|
|
"\n"\
|
|
"What will be the netmask of your private\n"\
|
|
"network?:"\
|
|
10 50 $netmask \
|
|
2>&1 >/dev/tty `
|
|
|
|
case $? in
|
|
0)
|
|
if [ -z "$result" ]; then
|
|
return 1
|
|
fi
|
|
netmask=$result
|
|
;;
|
|
1)
|
|
return 1
|
|
;;
|
|
esac
|
|
return 0;
|
|
fi
|
|
}
|
|
|
|
do_network() {
|
|
while true; do
|
|
get_network_settings
|
|
|
|
if [ "X$bridged" != "XYES" ]; then
|
|
/usr/bin/dialog --title "Confirmation" --clear --yesno \
|
|
"\n"\
|
|
"Are the following options correct?\n\n"\
|
|
"Configuration: host only\n"\
|
|
"IP address: $host_ip\n"\
|
|
"Netmask: $netmask\n"\
|
|
10 50
|
|
[ $? -eq 0 ] && return 0
|
|
else
|
|
/usr/bin/dialog --title "Confirmation" --clear --yesno \
|
|
"\n"\
|
|
"Are the following options correct?\n\n"\
|
|
"Configuration: bridged\n"\
|
|
"Interface: $bdg_interface\n"\
|
|
10 50
|
|
[ $? -eq 0 ] && return 0
|
|
fi
|
|
|
|
/usr/bin/dialog --title "Confirmation" --clear --yesno \
|
|
"\n"\
|
|
"Do you want to edit network options again?\n"\
|
|
10 50
|
|
[ $? -eq 0 ] && continue
|
|
|
|
/usr/bin/dialog --title "Confirmation" --clear --yesno \
|
|
"\n"\
|
|
"Do you want to continue without networking?\n"\
|
|
10 50
|
|
[ $? -eq 0 ] && return 1
|
|
|
|
host_ip=$VMNET_HOST_IP
|
|
netmask=$VMNET_NETMASK
|
|
|
|
return 0;
|
|
done
|
|
}
|
|
|
|
networking=0
|
|
if [ _$BATCH = _ ]; then
|
|
do_network
|
|
|
|
if [ $? -eq 0 ]; then
|
|
networking=1
|
|
if [ X$bridged = XYES ]; then
|
|
/usr/bin/dialog --title "$title" --infobox \
|
|
"\n"\
|
|
"The following options will be used.\n\n"\
|
|
"Configuration: bridged\n"\
|
|
"Interface: $bdg_interface\n"\
|
|
10 50
|
|
else
|
|
/usr/bin/dialog --title "$title" --infobox \
|
|
"\n"\
|
|
"The following options will be used.\n\n"\
|
|
"Configuration: host only\n"\
|
|
"IP address: $host_ip\n"\
|
|
"Netmask: $netmask\n"\
|
|
10 50
|
|
fi
|
|
fi
|
|
else #BATCH
|
|
[ -f ${WRKDIR}/Makefile.inc.net ] && exit 0
|
|
fi #BATCH
|
|
|
|
(
|
|
exec > ${WRKDIR}/Makefile.inc.net
|
|
|
|
echo '#' `date`
|
|
echo VMNET_BRIDGED=$bridged
|
|
echo VMNET_BRIDGED_INTERFACE=$bdg_interface
|
|
echo VMNET_HOST_IP=$host_ip
|
|
echo VMNET_NETMASK=$netmask
|
|
echo VMNET_NETWORKING=$networking
|
|
)
|
|
|
|
exit 0
|