From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Fehlig Subject: [PATCH] create proper net device for hvm guests Date: Fri, 04 Apr 2008 17:25:57 -0600 Message-ID: <47F6B905.4000800@novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000509080203030903070209" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------000509080203030903070209 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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 --------------000509080203030903070209 Content-Type: text/x-patch; name="xend-netdev-fix.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="xend-netdev-fix.diff" 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""" --------------000509080203030903070209 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------000509080203030903070209--