These patches fix a recent regression in librte_vhost that breaks the vhost_scsi example application. vhost_user.c assumes all devices are vhost net backends when handling the VIRTIO_NET_F_MQ feature bit. The code is triggered by vhost scsi devices and causes virtqueues to be removed. See Patch 2 for details.
Patch 1 puts the infrastructure in place to distinguish between the built-in virtio_net.c driver and generic vhost device backend usage. Patch 2 fixes the regression by handling VIRTIO_NET_F_MQ only when the built-in virtio_net.c driver is in use. Stefan Hajnoczi (2): vhost: add flag for built-in virtio_net.c driver vhost: only drop vqs with built-in virtio_net.c driver lib/librte_vhost/vhost.h | 3 +++ lib/librte_vhost/socket.c | 15 +++++++++++++++ lib/librte_vhost/vhost.c | 17 ++++++++++++++++- lib/librte_vhost/vhost_user.c | 3 ++- lib/librte_vhost/virtio_net.c | 14 ++++++++++++++ 5 files changed, 50 insertions(+), 2 deletions(-) -- 2.14.3