7 sysctl -w net.ipv4.ip_forward=1 || die "failed to enable ip_forward"
11 ADMIN_PORT=`expr 2232 + $ID`
12 MID_BYTE=`printf "%02X" $ID`
13 MAC_ADDR="F0:DE:$MID_BYTE:58:B2:69"
14 /sbin/modprobe kvm kvm_intel kvm_amd || die "modprobe failed"
15 echo "running qemu with ssh port $ADMIN_PORT, vnc ID $ID"
16 VNC_EFFECTIVE_PORT=`expr 5900 + $ID`
17 echo "see output with vncviewer 127.0.0.1:$VNC_EFFECTIVE_PORT"
18 model_to_use=${NET_MODEL-e1000}
19 num_interfaces_to_use=${NUM_INTERFACES-2}
20 if [ $num_interfaces_to_use -eq 2 ]; then
21 SECOND_NET_SWITCHES="-net nic,vlan=1,macaddr=$MAC_ADDR,model=$model_to_use \
22 -net socket,vlan=1,mcast=230.0.0.1:1234"
24 SECOND_NET_SWITCHES=""
26 QEMU_VARIANT=${QEMU_VARIANT-qemu-kvm}
30 -redir tcp:$ADMIN_PORT::22 \
31 -net nic,vlan=0,model=$model_to_use \
32 -net user,vlan=0,net=10.0.2.0/8,host=10.0.2.2,hostname=vm$ID \
34 $SECOND_NET_SWITCHES \
35 $NARGS || die "qemu invocation failed."
39 # Tap stuff (currently unused):
40 #-net nic,vlan=0,macaddr=$MAC_ADDR,model=e1000 \
41 #-net tap,vlan=0,ifname=tap0,downscript=no,script=no \
43 # To add to /etc/hosts in VMs:
44 # 192.168.123.10 vm0.local vm0
45 # 192.168.123.11 vm1.local vm1
46 # 192.168.123.12 vm2.local vm2
47 # 192.168.123.13 vm3.local vm3
48 # 192.168.123.14 vm4.local vm4
49 # 192.168.123.15 vm5.local vm5
50 # 192.168.123.16 vm6.local vm6