X-Git-Url: http://club.cc.cmu.edu/~cmccabe/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=vm-common.sh;h=9f8bbefe808749fb72d6cdb8b390323a081ead3e;hb=af6e83b9253100d04607d2b41897defad1c0e6f4;hp=2c57b05c3c1345029cf533c92b61a9a79bae647e;hpb=feb108f20ae15b0bd47ce11fc6e382013876aa86;p=cmccabe-bin diff --git a/vm-common.sh b/vm-common.sh index 2c57b05..9f8bbef 100644 --- a/vm-common.sh +++ b/vm-common.sh @@ -4,7 +4,7 @@ die() { } run_vm() { - sysctl -w net.ipv4.ip_forward=1 || die "failed to enable ip_forward" + /usr/sbin/sysctl -w net.ipv4.ip_forward=1 || die "failed to enable ip_forward" ID=$1 shift NARGS=$@ @@ -15,16 +15,25 @@ run_vm() { echo "running qemu with ssh port $ADMIN_PORT, vnc ID $ID" VNC_EFFECTIVE_PORT=`expr 5900 + $ID` echo "see output with vncviewer 127.0.0.1:$VNC_EFFECTIVE_PORT" - qemu-kvm \ + model_to_use=${NET_MODEL-e1000} + num_interfaces_to_use=${NUM_INTERFACES-2} + if [ $num_interfaces_to_use -eq 2 ]; then + SECOND_NET_SWITCHES="-net nic,vlan=1,macaddr=$MAC_ADDR,model=$model_to_use \ + -net socket,vlan=1,mcast=230.0.0.1:1234" + else + SECOND_NET_SWITCHES="" + fi + QEMU_VARIANT=${QEMU_VARIANT-qemu-kvm} + ${QEMU_VARIANT} \ -daemonize \ -vga std \ -redir tcp:$ADMIN_PORT::22 \ - -vnc 127.0.0.1:$ID \ - -net nic,vlan=0,model=e1000 \ + -net nic,vlan=0,model=$model_to_use \ -net user,vlan=0,net=10.0.2.0/8,host=10.0.2.2,hostname=vm$ID \ - -net nic,vlan=1,macaddr=$MAC_ADDR,model=e1000 \ - -net socket,vlan=1,mcast=230.0.0.1:1234 \ + -vnc 127.0.0.1:$ID \ + $SECOND_NET_SWITCHES \ $NARGS || die "qemu invocation failed." + #-sdl -frame \ } # Tap stuff (currently unused):