diff options
author | Changchun Ouyang <changchun.ouyang@intel.com> | 2015-09-23 12:20:01 +0800 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2015-09-24 16:27:53 +0300 |
commit | 7263a0ad7899994b719ebed736a1119cc2e08110 (patch) | |
tree | 6e832134bdf7c95b2a8ba0e9f03b47c0f7a216b5 /include | |
parent | b931bfbf042983f311b3b09894d8030b2755a638 (diff) | |
download | qemu-7263a0ad7899994b719ebed736a1119cc2e08110.zip qemu-7263a0ad7899994b719ebed736a1119cc2e08110.tar.gz qemu-7263a0ad7899994b719ebed736a1119cc2e08110.tar.bz2 |
vhost-user: add a new message to disable/enable a specific virt queue.
Add a new message, VHOST_USER_SET_VRING_ENABLE, to enable or disable
a specific virt queue, which is similar to attach/detach queue for
tap device.
virtio driver on guest doesn't have to use max virt queue pair, it
could enable any number of virt queue ranging from 1 to max virt
queue pair.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
Tested-by: Marcel Apfelbaum <marcel@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/virtio/vhost-backend.h | 2 | ||||
-rw-r--r-- | include/net/vhost_net.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/hw/virtio/vhost-backend.h b/include/hw/virtio/vhost-backend.h index e1dfc6d..3a0f6e2 100644 --- a/include/hw/virtio/vhost-backend.h +++ b/include/hw/virtio/vhost-backend.h @@ -25,6 +25,7 @@ typedef int (*vhost_call)(struct vhost_dev *dev, unsigned long int request, typedef int (*vhost_backend_init)(struct vhost_dev *dev, void *opaque); typedef int (*vhost_backend_cleanup)(struct vhost_dev *dev); typedef int (*vhost_backend_get_vq_index)(struct vhost_dev *dev, int idx); +typedef int (*vhost_backend_set_vring_enable)(struct vhost_dev *dev, int enable); typedef struct VhostOps { VhostBackendType backend_type; @@ -32,6 +33,7 @@ typedef struct VhostOps { vhost_backend_init vhost_backend_init; vhost_backend_cleanup vhost_backend_cleanup; vhost_backend_get_vq_index vhost_backend_get_vq_index; + vhost_backend_set_vring_enable vhost_backend_set_vring_enable; } VhostOps; extern const VhostOps user_ops; diff --git a/include/net/vhost_net.h b/include/net/vhost_net.h index 8db723e..0188c4d 100644 --- a/include/net/vhost_net.h +++ b/include/net/vhost_net.h @@ -28,4 +28,6 @@ bool vhost_net_virtqueue_pending(VHostNetState *net, int n); void vhost_net_virtqueue_mask(VHostNetState *net, VirtIODevice *dev, int idx, bool mask); VHostNetState *get_vhost_net(NetClientState *nc); + +int vhost_set_vring_enable(NetClientState * nc, int enable); #endif |