vhost: Disable multi-segmented buffers
There is no support for multi-segmented buffers, so flag
that to vhost library.
Tested-by: Ciara Loftus <ciara.loftus.intel.com>
Acked-by: Ilya Maximets
@@ -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;
