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