When start vhost sample with builtin-net-driver argument, vhost feature
bit will be zero. If VHOST_USER_F_PROTOCOL_FEATURES is not set, vhost
net start will be failed in qemu. This occasion will cause device stop
action was skipped. Consequently, same ioevent fd will be added second
time after reload driver and then cause qemu abort. Add feature bit
which has been supported by vhost library can fix this error.

Fixes: ca059fa5 ("examples/vhost: demonstrate the new generic APIs")

Signed-off-by: Marvin Liu <yong....@intel.com>

diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index 2175c1186..44aec2f47 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -1520,7 +1520,8 @@ main(int argc, char *argv[])
                }
 
                if (builtin_net_driver)
-                       rte_vhost_driver_set_features(file, 
VIRTIO_NET_FEATURES);
+                       rte_vhost_driver_set_features(file,
+                               1ULL << VHOST_USER_F_PROTOCOL_FEATURES);
 
                if (mergeable == 0) {
                        rte_vhost_driver_disable_features(file,
-- 
2.17.0

Reply via email to