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