On Wed, Sep 17, 2014 at 05:36:18PM +0200, Ján Tomko wrote:
On 09/17/2014 04:57 PM, Daniel P. Berrange wrote:
> On Mon, Sep 15, 2014 at 04:30:46PM -0600, Eric Blake wrote:
>> On 09/11/2014 05:43 AM, Ján Tomko wrote:
>>> Add the following attributes:
>>> csum, gso, guest_tso4, guest_tso6, guest_ecn
>>> to the <driver> element of network interface
>>> which control the virtio-net device properties
>>> of the same names.
>>> ---
>>> docs/formatdomain.html.in | 27 ++++++++
>>> docs/schemas/domaincommon.rng | 25 +++++++
>>> src/conf/domain_conf.c | 81
++++++++++++++++++++++
>>> src/conf/domain_conf.h | 5 ++
>>> .../qemuxml2argv-net-virtio-disable-offloads.xml | 32 +++++++++
>>> tests/qemuxml2xmltest.c | 1 +
>>> 6 files changed, 171 insertions(+)
>>> create mode 100644
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-disable-offloads.xml
>>>
>>> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
>>> index a2ea758..5b2758a 100644
>>> --- a/docs/formatdomain.html.in
>>> +++ b/docs/formatdomain.html.in
>>> @@ -3847,6 +3847,12 @@ qemu-kvm -net nic,model=? /dev/null
>>> <model type='virtio'/>
>>> <b><driver name='vhost'
txmode='iothread' ioeventfd='on' event_idx='off'
queues='5'/></b>
>>> </interface>
>>> + <interface type='network'>
>>> + <source network='default'/>
>>> + <target dev='vnet2'/>
>>> + <model type='virtio'/>
>>> + <b><driver csum='off' gso='off'
guest_tso4='off' guest_tso6='off'
guest_ecn='off'/></b>
>>> + </interface>
>>
>> Are we stuck with names with underscores in our XML? I'm still not sure
>> if we've come up with the best naming for exposing all these knobs.
>
> I'm not really convinced having a 'guest_' prefix really buys
> us anything here, since there's no naming clash to avoid. Why
> don't we just kill the 'guest_' prefixes.
The clash is in the options I didn't expose:
http://git.qemu.org/?p=qemu.git;a=blob;f=include/hw/virtio/virtio-net.h;h...
because they weren't requested by the (private :() bug 1139364
Ah, so this is why you shouldn't take the precise solution requested in
a bug too literally, and instead look at the general picture :-)
So QEMU exposes alot of stuff:
$ qemu-kvm -device virtio-net,?
virtio-net-pci.ioeventfd=on/off
virtio-net-pci.vectors=uint32
virtio-net-pci.indirect_desc=on/off
virtio-net-pci.event_idx=on/off
virtio-net-pci.any_layout=on/off
virtio-net-pci.csum=on/off
virtio-net-pci.guest_csum=on/off
virtio-net-pci.gso=on/off
virtio-net-pci.guest_tso4=on/off
virtio-net-pci.guest_tso6=on/off
virtio-net-pci.guest_ecn=on/off
virtio-net-pci.guest_ufo=on/off
virtio-net-pci.host_tso4=on/off
virtio-net-pci.host_tso6=on/off
virtio-net-pci.host_ecn=on/off
virtio-net-pci.host_ufo=on/off
virtio-net-pci.mrg_rxbuf=on/off
virtio-net-pci.status=on/off
virtio-net-pci.ctrl_vq=on/off
virtio-net-pci.ctrl_rx=on/off
virtio-net-pci.ctrl_vlan=on/off
virtio-net-pci.ctrl_rx_extra=on/off
virtio-net-pci.ctrl_mac_addr=on/off
virtio-net-pci.ctrl_guest_offloads=on/off
virtio-net-pci.mq=on/off
virtio-net-pci.mac=macaddr
virtio-net-pci.vlan=vlan
virtio-net-pci.netdev=netdev
virtio-net-pci.bootindex=int32
virtio-net-pci.x-txtimer=uint32
virtio-net-pci.x-txburst=int32
virtio-net-pci.tx=str
virtio-net-pci.addr=pci-devfn
virtio-net-pci.romfile=str
virtio-net-pci.rombar=uint32
virtio-net-pci.multifunction=on/off
virtio-net-pci.command_serr_enable=on/off
Which to me indicates that Eric's suggestion for sub-elements is a
good idea. eg go for:
<driver>
<guest ..../>
<host ..../>
</driver>
and support the host bits too
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|