<target dev='vnet1'/>
<model type='virtio'/>
<b><driver name='vhost' txmode='iothread' ioeventfd='on' event_idx='off' queues='5'>
- <host csum='off' gso='off' tso4='off' tso6='off' ecn='off' ufo='off'/>
+ <host csum='off' gso='off' tso4='off' tso6='off' ecn='off' ufo='off' mrg_rxbuf='off'/>
<guest csum='off' tso4='off' tso6='off' ecn='off' ufo='off'/>
</driver>
</b>
and <code>off</code> can be used to turn off host offloading options.
By default, the supported offloads are enabled by QEMU.
<span class="since">Since 1.2.9 (QEMU only)</span>
+ The <code>mrg_rxbuf</code> attribute can be used to control
+ mergeable rx buffers on the host side. Possible values are
+ <code>on</code> (default) and <code>off</code>.
+ <span class="since">Since 1.2.13 (QEMU only)</span>
</dd>
<dt><code>guest</code> offloading options</dt>
<dd>
def->driver.virtio.host.ufo = val;
}
VIR_FREE(str);
+ if ((str = virXPathString("string(./driver/host/@mrg_rxbuf)", ctxt))) {
+ if ((val = virTristateSwitchTypeFromString(str)) <= 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unknown host mrg_rxbuf mode '%s'"),
+ str);
+ goto error;
+ }
+ def->driver.virtio.host.mrg_rxbuf = val;
+ }
+ VIR_FREE(str);
if ((str = virXPathString("string(./driver/guest/@csum)", ctxt))) {
if ((val = virTristateSwitchTypeFromString(str)) <= 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
virBufferAsprintf(&buf, "ufo='%s' ",
virTristateSwitchTypeToString(def->driver.virtio.host.ufo));
}
+ if (def->driver.virtio.host.mrg_rxbuf) {
+ virBufferAsprintf(&buf, "mrg_rxbuf='%s' ",
+ virTristateSwitchTypeToString(def->driver.virtio.host.mrg_rxbuf));
+ }
virBufferTrim(&buf, " ", -1);
if (virBufferCheckError(&buf) < 0)