
Daniel P. Berrange wrote:
On Thu, Dec 04, 2008 at 10:33:28PM +0000, Gihan Munasinghe wrote:
Daniel P. Berrange wrote:
<mac address='00:16:3e:00:a5:01'/> <source bridge='eth0'/> <target dev='vif1.0'/> </interface>
As I mentioned before this should be handled with the existing XML <model> element.
...no model element... -> Default QEMU nic + Paravirt Driver backend <model type='e1000'/> -> Only QEMU's e1000 nic <model type='rtl8139'/> -> Only QEMU's rtl8139 nic <model type='ne2k_pci'/> -> Only QEMU's ne2k nic <model type='xen'/> -> Only Paravirt driver backend
Supporting pv net drives in XEN patch. If you define the interface model type as pvxen (<model type ="pvxen">). XEN will not load emulated network card Let me know what you think of the patch
--- xend_internal.c.back 2009-02-02 10:53:31.000000000 +0000 +++ xend_internal.c 2009-02-03 10:02:54.000000000 +0000 @@ -75,6 +75,8 @@ #define XEND_CONFIG_MIN_VERS_PVFB_NEWCONF 3 #endif +#define XEN_PV_NETWORK "pvxen" + #ifndef PROXY static int @@ -5198,12 +5200,25 @@ if (def->model != NULL) virBufferVSprintf(buf, "(model '%s')", def->model); + /*Fixing up the model to support XEN pv drivers + , if the user XML is defined as <model type="pvxen" > this means that + there is a PV driver for network is alredy installed. So xen should not + emulate the network card */ + + if(hvm && (def->model!=NULL) && (strcmp(def->model,XEN_PV_NETWORK)==0) ){ + virBufferAddLit(buf, "(type none)"); + }else if(hvm){// For any other hvm guest ask XEN to emulate the card + virBufferAddLit(buf, "(type ioemu)"); + if (def->model != NULL) + virBufferVSprintf(buf, "(model '%s')", def->model); + } + /* * apparently (type ioemu) breaks paravirt drivers on HVM so skip this * from Xen 3.1.0 - */ + if (hvm && xendConfigVersion <= XEND_CONFIG_MAX_VERS_NET_TYPE_IOEMU) - virBufferAddLit(buf, "(type ioemu)"); + virBufferAddLit(buf, "(type ioemu)");*/ if (!isAttach) virBufferAddLit(buf, ")"); @@ -5566,3 +5581,4 @@ } #endif /* ! PROXY */ + Thanks -- Gihan Munasinghe R&D Team Leader XCalibre Communications Ltd. www.flexiscale.com