[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] create proper net device for hvm guests


  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Jim Fehlig <jfehlig@xxxxxxxxxx>
  • Date: Fri, 04 Apr 2008 17:25:57 -0600
  • Delivery-date: Fri, 04 Apr 2008 16:26:38 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

I've noticed that hvm guests using pv network device also get an
emulated network device.  Conversely, hvm guests using emulated network
device also get pv network device.  I'm surprised that this hasn't been
fixed already, which makes me think there is some unforeseen issue that
results from not providing both.  I guess one drawback is that the guest
config file must be edited to remove 'model=foo, type=ioemu' when using
pv network device  - but it seems the guest config file should be the
place where these types of settings are explicitly stated.

I've attached a patch the creates either the emulated or pv network
device (but not both) depending on setting in guest configuation, i.e.
'type=ioemu'.  Please apply if my reasoning is sane.  If not, please
clarify reason for presenting both :-).

Cheers,
Jim


Create either the emulated or pv network device (but not both) depending
on setting in guest configuation, i.e. 'type=ioemu'.

    Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxxxx>


diff -r db943e8d1051 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Tue Apr 01 10:09:33 2008 +0100
+++ b/tools/python/xen/xend/image.py    Fri Apr 04 17:09:45 2008 -0600
@@ -571,7 +571,7 @@ class HVMImageHandler(ImageHandler):
 
         for devuuid in vmConfig['vif_refs']:
             devinfo = vmConfig['devices'][devuuid][1]
-            dtype = devinfo.get('type', 'ioemu')
+            dtype = devinfo.get('type', '')
             if dtype != 'ioemu':
                 continue
             nics += 1
diff -r db943e8d1051 tools/python/xen/xend/server/netif.py
--- a/tools/python/xen/xend/server/netif.py     Tue Apr 01 10:09:33 2008 +0100
+++ b/tools/python/xen/xend/server/netif.py     Fri Apr 04 17:10:13 2008 -0600
@@ -99,6 +99,13 @@ class NetifController(DevController):
     
     def __init__(self, vm):
         DevController.__init__(self, vm)
+
+    def createDevice(self, config):
+        typ = config.get('type', '')
+        if typ == 'ioemu':
+            return 0
+
+        DevController.createDevice(self, config)
 
     def getDeviceDetails(self, config):
         """@see DevController.getDeviceDetails"""
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.