From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dariusz Stojaczyk Subject: [PATCH] vhost: remove vhost-net requirements from generic vhost APIs Date: Mon, 25 Feb 2019 00:35:55 +0100 Message-ID: <20190224233555.31304-1-darek.stojaczyk@gmail.com> Cc: Darek Stojaczyk To: dev@dpdk.org, tiwei.bie@intel.com, maxime.coquelin@redhat.com, zhihong.wang@intel.com Return-path: Received: from mail-lf1-f68.google.com (mail-lf1-f68.google.com [209.85.167.68]) by dpdk.org (Postfix) with ESMTP id E0C272A6A for ; Mon, 25 Feb 2019 00:36:02 +0100 (CET) Received: by mail-lf1-f68.google.com with SMTP id q11so5505818lfd.3 for ; Sun, 24 Feb 2019 15:36:02 -0800 (PST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Darek Stojaczyk 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 --- lib/librte_vhost/vhost.c | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c index 00ec58e01..e480aeac9 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; -- 2.11.0