On Tue, May 10, 2016 at 03:23:15AM +0000, Xu, Qian Q wrote: > Do we need patch qemu for the reconnect case?
Yes, we need some support from QEMU: currently QEMU will not be able to detect disconnection and hence will not establish the connection when DPDK vhost restarts. Following patchset from Marc resolves above issue. http://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg01507.html And note that unlike the vhost-user multiple queue support that depends on some new vhost-uesr message from QEMU, this patchset does not depond on QEMU. --yliu > > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Yuanhan Liu > Sent: Saturday, May 07, 2016 2:40 PM > To: dev at dpdk.org > Cc: Xie, Huawei; Yuanhan Liu > Subject: [dpdk-dev] [PATCH 0/6] vhost: add vhost-user client mode and > reconnect ability > > Both the vhost-user backend (DPDK here) and frontend (QEMU) could be server, > as well as client. DPDK just acts as server so far. This patch set would make > it possible to act as both. > > A new arg (flags) is introduced for API rte_vhost_driver_register(). And the > client mode is enabled when RTE_VHOST_USER_CLIENT is given. Note that this > implies an API breakage. However, since this release deals with ABI/API > refactoring, it should not be an issue. > > With the DPDK as client, it's easier to implement the "reconnect" ability, > which means we could still make vhost-user work after DPDK restarts. > > > --- > Yuanhan Liu (6): > vhost: rename structs for enabling client mode > vhost: add vhost-user client mode > vhost: add reconnect ability > vhost: workaround stale vring base > examples/vhost: add client and reconnect option > vhost: add pmd client and reconnect option > > drivers/net/vhost/rte_eth_vhost.c | 54 +++- > examples/vhost/main.c | 23 +- > lib/librte_vhost/rte_virtio_net.h | 12 +- > lib/librte_vhost/vhost_user/vhost-net-user.c | 355 > ++++++++++++++++++--------- > lib/librte_vhost/vhost_user/vhost-net-user.h | 6 - > lib/librte_vhost/virtio-net.c | 8 + > 6 files changed, 313 insertions(+), 145 deletions(-) > > -- > 1.9.0