WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] create proper net device for hvm guests
From: Jim Fehlig <jfehlig@xxxxxxxxxx>
Date: Fri, 04 Apr 2008 17:25:57 -0600
Delivery-date: Fri, 04 Apr 2008 16:26:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.8 (X11/20060911)
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
<Prev in Thread] Current Thread [Next in Thread>