qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC 0/2] virtio-vhost-user: add virtio-vhost-user devi


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [RFC 0/2] virtio-vhost-user: add virtio-vhost-user device
Date: Fri, 26 Jan 2018 14:44:29 +0000
User-agent: Mutt/1.9.1 (2017-09-22)

On Thu, Jan 25, 2018 at 06:19:13PM +0800, Wei Wang wrote:
> On 01/24/2018 07:40 PM, Stefan Hajnoczi wrote:
> > On Tue, Jan 23, 2018 at 09:06:49PM +0800, Wei Wang wrote:
> > > On 01/23/2018 07:12 PM, Stefan Hajnoczi wrote:
> > > > On Mon, Jan 22, 2018 at 07:09:06PM +0800, Wei Wang wrote:
> > > > > On 01/19/2018 09:06 PM, Stefan Hajnoczi wrote:
> > > > > 
> > > > > 
> > > > >    - Suppose in the future there is also a kernel virtio-vhost-user 
> > > > > driver as
> > > > > other PCI devices, can we unbind the kernel driver first, and then 
> > > > > bind the
> > > > > device to the dpdk driver? A normal PCI device should be able to 
> > > > > smoothly
> > > > > switch between the kernel driver and dpdk driver.
> > > > It depends what you mean by "smoothly switch".
> > > > 
> > > > If you mean whether it's possible to go from a kernel driver to
> > > > vfio-pci, then the answer is yes.
> > > > 
> > > > But if the kernel driver has an established vhost-user connection then
> > > > it will be closed.  This is the same as reconnecting with AF_UNIX
> > > > vhost-user.
> > > > 
> > > Actually not only the case of switching to testpmd after kernel 
> > > establishes
> > > the connection, but also for several runs of testpmd. That is, if we run
> > > testpmd, then exit testpmd. I think the second run of testpmd won't work.
> > The vhost-user master must reconnect and initialize again (SET_FEATURES,
> > SET_MEM_TABLE, etc).  Is your master reconnecting after the AF_UNIX
> > connection is closed?
> 
> Is this an explicit qmp operation to make the master re-connect?

I haven't tested it myself but I'm aware of two modes of operation:

1. -chardev socket,id=chardev0,...,server
   -netdev vhost-user,chardev=chardev0

   When the vhost-user socket is disconnected the peer needs to
   reconnect.  In this case no special commands are necessary.

   Here we're relying on DPDK librte_vhost's reconnection behavior.

Or

2. -chardev socket,id=chardev0,...,reconnect=3
   -netdev vhost-user,chardev=chardev0

   When the vhost-user socket is disconnected a new connection attempt
   will be made after 3 seconds.

In both cases vhost-user negotiation will resume when the new connection
is established.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]