numam-dpdk/lib
Maxime Coquelin e291093235 vhost: destroy unused virtqueues when multiqueue not negotiated
QEMU sends VHOST_USER_SET_VRING_CALL requests for all queues
declared in QEMU command line before the guest is started.
It has the effect in DPDK vhost-user backend to allocate vrings
for all queues declared by QEMU.

If the first driver being used does not support multiqueue,
the device never changes to VIRTIO_DEV_RUNNING state as only
the first queue pair is initialized. One driver impacted by
this bug is virtio-net's iPXE driver which does not support
VIRTIO_NET_F_MQ feature.

It is safe to destroy unused virtqueues in SET_FEATURES request
handler, as it is ensured the device is not in running state
at this stage, so virtqueues aren't being processed.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
2018-01-16 18:47:49 +01:00
..
librte_acl lib: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
librte_bitratestats lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_cfgfile lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_cmdline cmdline: support backspace key 2018-01-15 12:04:57 +01:00
librte_compat fix typos using codespell utility 2017-06-14 23:54:13 +02:00
librte_cryptodev lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_distributor distributor: remove unnecessary parenthesis 2018-01-05 22:08:24 +01:00
librte_eal eal: remove another use of register keyword 2018-01-15 18:58:49 +01:00
librte_efd lib: remove unnecessary pointer cast 2018-01-16 01:53:35 +01:00
librte_ether ethdev: fix typo in functions comment 2018-01-16 18:47:49 +01:00
librte_eventdev lib: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
librte_flow_classify flow_classify: remove table id parameter from API 2018-01-11 19:15:26 +01:00
librte_gro gro: support VxLAN GRO 2018-01-11 23:18:36 +01:00
librte_gso lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_hash lib: remove unnecessary pointer cast 2018-01-16 01:53:35 +01:00
librte_ip_frag lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_jobstats lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_kni lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_kvargs mk: do not generate LDLIBS from directory dependencies 2017-10-24 02:14:57 +02:00
librte_latencystats lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_lpm lib: remove unnecessary pointer cast 2018-01-16 01:53:35 +01:00
librte_mbuf vhost: support UDP Fragmentation Offload 2018-01-16 18:47:49 +01:00
librte_member lib: remove unnecessary pointer cast 2018-01-16 01:53:35 +01:00
librte_mempool mempool: fix first memory area notification 2018-01-12 18:30:20 +01:00
librte_meter lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_metrics lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_net lib: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
librte_pci remove useless memzone includes 2017-11-06 22:12:08 +01:00
librte_pdump lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_pipeline lib: remove unnecessary pointer cast 2018-01-16 01:53:35 +01:00
librte_port lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_power power: clean KVM files 2018-01-12 00:37:07 +01:00
librte_reorder lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_ring lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_sched lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_security lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
librte_table lib: use SPDX tag for Cavium copyright files 2018-01-09 16:19:01 +01:00
librte_timer timer: fix reset on service cores 2018-01-16 01:48:20 +01:00
librte_vhost vhost: destroy unused virtqueues when multiqueue not negotiated 2018-01-16 18:47:49 +01:00
Makefile kni: fix build dependency 2018-01-11 19:15:26 +01:00