From: Darek Stojaczyk Date: Sun, 24 Feb 2019 23:35:55 +0000 (+0100) Subject: vhost: remove vhost-net requirements from generic APIs X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=c19429844c0257aceb29fdc845dbd16115966986;p=dpdk.git vhost: remove vhost-net requirements from generic APIs The rte_vhost API to put data into virtqueues operates on mbufs and hence it is strictly vhost-net specific. External backends need to implement virtqueue handling from scratch and that's just not possible without APIs to get/set vring base addresses. Those relevant APIs are there, but they have a check that prevents them from working with any non-vhost-net device. This patch removes those checks. rte_vhost_get_log_base() is not necessarily needed for external backends, as other, higher level vhost APIs for live migration are available and could be used instead. We remove the extra check from it anyway for consistency. Signed-off-by: Darek Stojaczyk Reviewed-by: Tiwei Bie --- diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c index 00ec58e019..e480aeac97 100644 --- a/lib/librte_vhost/vhost.c +++ b/lib/librte_vhost/vhost.c @@ -766,13 +766,6 @@ int rte_vhost_get_log_base(int vid, uint64_t *log_base, if (!dev) return -1; - if (unlikely(!(dev->flags & VIRTIO_DEV_BUILTIN_VIRTIO_NET))) { - RTE_LOG(ERR, VHOST_DATA, - "(%d) %s: built-in vhost net backend is disabled.\n", - dev->vid, __func__); - return -1; - } - *log_base = dev->log_base; *log_size = dev->log_size; @@ -787,13 +780,6 @@ int rte_vhost_get_vring_base(int vid, uint16_t queue_id, if (!dev) return -1; - if (unlikely(!(dev->flags & VIRTIO_DEV_BUILTIN_VIRTIO_NET))) { - RTE_LOG(ERR, VHOST_DATA, - "(%d) %s: built-in vhost net backend is disabled.\n", - dev->vid, __func__); - return -1; - } - *last_avail_idx = dev->virtqueue[queue_id]->last_avail_idx; *last_used_idx = dev->virtqueue[queue_id]->last_used_idx; @@ -808,13 +794,6 @@ int rte_vhost_set_vring_base(int vid, uint16_t queue_id, if (!dev) return -1; - if (unlikely(!(dev->flags & VIRTIO_DEV_BUILTIN_VIRTIO_NET))) { - RTE_LOG(ERR, VHOST_DATA, - "(%d) %s: built-in vhost net backend is disabled.\n", - dev->vid, __func__); - return -1; - } - dev->virtqueue[queue_id]->last_avail_idx = last_avail_idx; dev->virtqueue[queue_id]->last_used_idx = last_used_idx;