
On 09/16/2014 12:24 AM, John Ferlan wrote:
On 09/11/2014 07: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>
This doesn't require a driver name='' value?
AFAIK only queues require name='vhost'.
</devices> ...</pre>
@@ -3949,6 +3955,27 @@ qemu-kvm -net nic,model=? /dev/null processor, resulting in much higher throughput. <span class="since">Since 1.0.6 (QEMU and KVM only)</span> </dd> + <dt><code>csum</code></dt> + <dd> + The <code>csum</code> attribute with possible values <code>on</code> + and <code>off</code> controls host-side support for packets with + partial checksum values. + <span class="since">Since 1.2.9 (QEMU only)</span><br/><br/> + + <b>In general you should leave this option alone, unless you + are very certain you know what you are doing.</b> + </dd> + <dt>segment offloading options</dt> + <dd> + The attributes <code>gso</code>, <code>guest_tso4</code>, + <code>guest_tso6</code>, <code>guest_ecn</code> with possible + values of <code>on</code> and <code>off</code> can be used + to tune segment offloading. + <span class="since">Since 1.2.9 (QEMU only)</span><br/><br/> + + <b>In general you should leave this option alone, unless you + are very certain you know what you are doing.</b>
s/this option/these options/
[oh - I'm having a flashback to something similar I had to do at my former employer with their virtualization switch software... these got enabled by some application and caused shall we say significant performance issues, especially for older drivers. That particular software was loaded/started after the virtualization network switch and thus reset what our code had done... Bugger to find as it embedded in some output from some network command that was executed rarely in our vswitch network daemon layer]
Anyway, I understand it's desired to not say much about them, but is there any need to say what the defaults are? Furthermore, does one domain's setting affect other domains? I guess my curiosity is more is this a domain function or an interface (host) setting. We may want to indicate that here... Is the difference dependent upon the driver name?
This is a per (guest) interface setting, I'm not aware of it affecting other interfaces or domains. Perhaps the 'leave this option alone' was too harsh. I'll add the defaults before pushing/sending another version. Jan
I know from my previous experience it had a wider affect, but that code had a very different implementation. The vswitch was separate from the guest as a host process to which guests could configure ports. The vswitch software had the configuration magic to the lower level network driver(s) which is where the tso/cko, etc. were managed in the kernel. The equivalent of 'em0', 'eth0', etc - the physical NIC. A vswitch was "tied" to a particular physical NIC. So any changes to the pNIC cast a wide net, which is why "other" software setting TSO/CKO options on the same pNIC our vswitch used after our code disabled it caused all sorts of issues. (Just so you understand why I'm asking the question).
+ </dd> </dl>
<h5><a name="elementsNICSTargetOverride">Overriding the target element</a></h5>