DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] vhost: remove vhost-net requirements from generic vhost APIs
@ 2019-02-24 23:35 Dariusz Stojaczyk
  2019-02-25  4:54 ` Tiwei Bie
  2019-02-27  8:31 ` Maxime Coquelin
  0 siblings, 2 replies; 3+ messages in thread
From: Dariusz Stojaczyk @ 2019-02-24 23:35 UTC (permalink / raw)
  To: dev, tiwei.bie, maxime.coquelin, zhihong.wang; +Cc: Darek Stojaczyk

From: Darek Stojaczyk <dariusz.stojaczyk@intel.com>

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 <dariusz.stojaczyk@intel.com>
---
 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] vhost: remove vhost-net requirements from generic vhost APIs
  2019-02-24 23:35 [dpdk-dev] [PATCH] vhost: remove vhost-net requirements from generic vhost APIs Dariusz Stojaczyk
@ 2019-02-25  4:54 ` Tiwei Bie
  2019-02-27  8:31 ` Maxime Coquelin
  1 sibling, 0 replies; 3+ messages in thread
From: Tiwei Bie @ 2019-02-25  4:54 UTC (permalink / raw)
  To: Dariusz Stojaczyk; +Cc: dev, maxime.coquelin, zhihong.wang, Darek Stojaczyk

On Mon, Feb 25, 2019 at 12:35:55AM +0100, Dariusz Stojaczyk wrote:
> From: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
> 
> 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 <dariusz.stojaczyk@intel.com>
> ---
>  lib/librte_vhost/vhost.c | 21 ---------------------
>  1 file changed, 21 deletions(-)

Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>

Thanks,
Tiwei

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] vhost: remove vhost-net requirements from generic vhost APIs
  2019-02-24 23:35 [dpdk-dev] [PATCH] vhost: remove vhost-net requirements from generic vhost APIs Dariusz Stojaczyk
  2019-02-25  4:54 ` Tiwei Bie
@ 2019-02-27  8:31 ` Maxime Coquelin
  1 sibling, 0 replies; 3+ messages in thread
From: Maxime Coquelin @ 2019-02-27  8:31 UTC (permalink / raw)
  To: Dariusz Stojaczyk, dev, tiwei.bie, zhihong.wang; +Cc: Darek Stojaczyk



On 2/25/19 12:35 AM, Dariusz Stojaczyk wrote:
> From: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
> 
> 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 <dariusz.stojaczyk@intel.com>
> ---
>   lib/librte_vhost/vhost.c | 21 ---------------------
>   1 file changed, 21 deletions(-)
> 

Applied to dpdk-next-virtio/master.

Thanks,
Maxime

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-02-27  8:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-24 23:35 [dpdk-dev] [PATCH] vhost: remove vhost-net requirements from generic vhost APIs Dariusz Stojaczyk
2019-02-25  4:54 ` Tiwei Bie
2019-02-27  8:31 ` Maxime Coquelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).