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
signature.asc
Description: PGP signature