[libvirt] [PATCH ] (type ioem) adding qemu nic configuration option in to libvirt (XEN)

Daniel P. Berrange berrange at redhat.com
Thu Dec 4 22:43:24 UTC 2008


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
> >
> >  
> 
> The problem with using the model tag is in xend, level (type ioem) is 
> different from (model e1000). In any case the (model e1000) to work with 
> in XEN you have to send (type ioem) tag asking it to emulate the nic model

This isn't a problem as there is no requirement to have a 1-to-1
mapping from XML elements to Xen config elements

> What we need to send not to configure a qemu -net bock is something 
> called ( type none) not ( model  none ) or (model xen) xend. So what you 
> are suggesting is that if we see a < model type='xen' >  treat it a 
> different way so that it will send (type none) to XEND. ?

Not quite - we'd not set model for the PV only case. What XenD's logic
is keyed off is the value of  the (type ) element. If it is 'ioemu'
then only QEMU is configured. If it is left out completely, both both
QEMU and PV are enabled. If it is any other value, then PV only is
configure. (model) only matters when QEMU is enabled. So I was thinking 
we'd have the following as the mapping

   ...no model element...   -> No (type) or (model) element at all QEMU + PV
   <model type='e1000'/>    -> (type ioemu) (model e1000)    QEMU only
   <model type='rtl8139'/>  -> (type ioemu) (model rtl8139)  QEMU only
   <model type='ne2k_pci'/> -> (type ioemu) (model ne2k_pci) QEMU only
   <model type='netback'/>  -> (type netback) no (model)     PV only

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list