summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFlavio Leitner <fbl@sysclose.org>2020-01-16 14:00:34 -0300
committerIan Stokes <ian.stokes@intel.com>2020-01-17 17:14:10 +0000
commite666e8e0f3c601161949640664c6dbcd475e3c5a (patch)
tree04f5bd34c17c6a1720b19261724df301e4cfc36f /lib
parentd4877184856088be8ddb038bbca23a934bb5bd2a (diff)
downloadopenvswitch-e666e8e0f3c601161949640664c6dbcd475e3c5a.tar.gz
vhost: Disable multi-segmented buffers
There is no support for multi-segmented buffers, so flag that to vhost library. Signed-off-by: Flavio Leitner <fbl@sysclose.org> Tested-by: Ciara Loftus <ciara.loftus.intel.com> Acked-by: Ilya Maximets <i.maximets@ovn.org> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/netdev-dpdk.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 72b67af1a..d1469f6f2 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -1347,6 +1347,9 @@ netdev_dpdk_vhost_construct(struct netdev *netdev)
dev->vhost_id = xasprintf("%s/%s", dpdk_get_vhost_sock_dir(), name);
dev->vhost_driver_flags &= ~RTE_VHOST_USER_CLIENT;
+
+ /* There is no support for multi-segments buffers. */
+ dev->vhost_driver_flags |= RTE_VHOST_USER_LINEARBUF_SUPPORT;
err = rte_vhost_driver_register(dev->vhost_id, dev->vhost_driver_flags);
if (err) {
VLOG_ERR("vhost-user socket device setup failure for socket %s\n",
@@ -4952,6 +4955,9 @@ netdev_dpdk_vhost_client_reconfigure(struct netdev *netdev)
/* Register client-mode device. */
vhost_flags |= RTE_VHOST_USER_CLIENT;
+ /* There is no support for multi-segments buffers. */
+ vhost_flags |= RTE_VHOST_USER_LINEARBUF_SUPPORT;
+
/* Enable IOMMU support, if explicitly requested. */
if (dpdk_vhost_iommu_enabled()) {
vhost_flags |= RTE_VHOST_USER_IOMMU_SUPPORT;