fix PVHVM networking
authorAdam Glasgall <glasgall@mit.edu>
Tue, 3 Sep 2013 01:16:49 +0000 (21:16 -0400)
committerAdam Glasgall <glasgall@mit.edu>
Tue, 3 Sep 2013 01:16:49 +0000 (21:16 -0400)
debian/changelog
invirt-database
vif-invirtroute

index 92270a4..2f83478 100644 (file)
@@ -1,3 +1,9 @@
+invirt-xen-config (0.0.52) UNRELEASED; urgency=low
+
+  * Fix PVHVM networking
+
+ -- Adam Glasgall <glasgall@mit.edu>  Mon, 02 Sep 2013 21:16:01 -0400
+
 invirt-xen-config (0.0.51) unstable; urgency=low
 
   * Fixed code for NIC model options.
index ec611c1..bf1509f 100644 (file)
@@ -107,10 +107,9 @@ elif cdrom is not None:
     codepath = 'hvm'
 
 if codepath == 'hvm':
-    # Disable PVHVM for now until we figure out the best way to do this
-    xen_platform_pci = 0
+    xen_platform_pci = 1
     ioemu = "ioemu:"
-    viftype = "type=ioemu,model=pcnet, "
+    viftype = "model=pcnet, "
     kernel = '/usr/lib/xen-4.1/boot/hvmloader'
     builder = 'hvm'
     vnc = 1
index f484f87..49a7e4c 100755 (executable)
@@ -23,7 +23,6 @@
 # type read to determine if the device is ioemu
 
 #============================================================================
-
 dir=$(dirname "$0")
 . "$dir/vif-common.sh"
 
@@ -55,7 +54,17 @@ if [  ${vif_type} != "ioemu"  -o  x${qemu_online} = xyes ] ; then
     # If we've been given a list of IP addresses, then add routes from dom0 to
     # the guest using those addresses.
        for addr in ${ip} ; do
-           ${cmdprefix} ip route ${ipcmd} ${addr} dev ${dev} src ${main_ip}
+           if [ $ipcmd == "add" ]; then
+               case $dev in
+                   vif*)
+                       metric="metric 2"
+                       ;;
+                   tap*)
+                       metric="metric 1"
+                       ;;
+               esac
+           fi
+           ${cmdprefix} ip route ${ipcmd} ${addr} dev ${dev} src ${main_ip} $metric
            case "$command" in
                online|add)
                    arpspoof -i $(invirt-getconf xen.iface) -t 18.181.0.1 ${addr}&