summary refs log tree commit diff stats
path: root/include/hw/virtio/virtio-net.h
diff options
context:
space:
mode:
authorWei Wang <wei.w.wang@intel.com>2017-06-28 10:37:59 +0800
committerMichael S. Tsirkin <mst@redhat.com>2017-07-03 22:29:48 +0300
commit9b02e1618cf26aa52cf786f215d757506dda14f8 (patch)
tree75f6fe4ee12e8b7fb3acabf49f599fd5c79807e8 /include/hw/virtio/virtio-net.h
parentfd479c60f5766f7fb247ad146b9e3c33d03d2055 (diff)
downloadfocaccia-qemu-9b02e1618cf26aa52cf786f215d757506dda14f8.tar.gz
focaccia-qemu-9b02e1618cf26aa52cf786f215d757506dda14f8.zip
virtio-net: enable configurable tx queue size
This patch enables the virtio-net tx queue size to be configurable
between 256 (the default queue size) and 1024 by the user when the
vhost-user backend is used.

Currently, the maximum tx queue size for other backends is 512 due
to the following limitations:
- QEMU backend: the QEMU backend implementation in some cases may
send 1024+1 iovs to writev.
- Vhost_net backend: there are possibilities that the guest sends
a vring_desc of memory which crosses a MemoryRegion thereby
generating more than 1024 iovs after translation from guest-physical
address in the backend.

Signed-off-by: Wei Wang <wei.w.wang@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw/virtio/virtio-net.h')
-rw-r--r--include/hw/virtio/virtio-net.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
index 602b4868d4..b81b6a4624 100644
--- a/include/hw/virtio/virtio-net.h
+++ b/include/hw/virtio/virtio-net.h
@@ -36,6 +36,7 @@ typedef struct virtio_net_conf
     int32_t txburst;
     char *tx;
     uint16_t rx_queue_size;
+    uint16_t tx_queue_size;
     uint16_t mtu;
 } virtio_net_conf;