From 22fa1bcbcbc7489304a711c39aea9a1593a873a5 Mon Sep 17 00:00:00 2001 From: Xuan Ding Date: Tue, 19 May 2020 10:15:46 +0000 Subject: [PATCH] vhost: fix zero-copy server mode This patch fixes the situation where vhost-user cannot start as server with dequeue_zero_copy enabled. Using flag instead of vsocket->is_server to determine whether vhost-user is in client mode. Because vsocket->is_server is not ready at this time. Fixes: 715070ea10e6 ("vhost: prevent zero-copy with incompatible client mode") Cc: stable@dpdk.org Signed-off-by: Xuan Ding Acked-by: Xiaolong Ye Tested-by: Yinan Wang --- lib/librte_vhost/socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c index bb8d0d7801..0a66ef9767 100644 --- a/lib/librte_vhost/socket.c +++ b/lib/librte_vhost/socket.c @@ -926,7 +926,7 @@ rte_vhost_driver_register(const char *path, uint64_t flags) ret = -1; goto out_mutex; } - if (!vsocket->is_server) { + if ((flags & RTE_VHOST_USER_CLIENT) != 0) { VHOST_LOG_CONFIG(ERR, "error: zero copy is incompatible with vhost client mode\n"); ret = -1; -- 2.20.1