On Wed, Dec 09, 2020 at 04:02:56PM +0100, Eugenio Perez Martin wrote: > On Mon, Dec 7, 2020 at 5:52 PM Stefan Hajnoczi wrote: > > On Fri, Nov 20, 2020 at 07:50:43PM +0100, Eugenio Pérez wrote: > > > diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c > > > index 9179013ac4..9a69ae3598 100644 > > > --- a/hw/net/virtio-net.c > > > +++ b/hw/net/virtio-net.c > > > @@ -2628,24 +2628,32 @@ static void virtio_net_tx_bh(void *opaque) > > > } > > > } > > > > > > -static void virtio_net_add_queue(VirtIONet *n, int index) > > > +static void virtio_net_add_queue(VirtIONet *n, int index, > > > + VirtIOHandleOutput custom_handler) > > > { > > > > We talked about the possibility of moving this into the generic vhost > > code so that devices don't need to be modified. It would be nice to hide > > this feature inside vhost. > > I'm thinking of tying it to VirtQueue, allowing the caller to override > the handler knowing it is not going to be called (I mean, not offering > race conditions protection, like before of starting processing > notifications in qemu calling vhost_dev_disable_notifiers). Yes, I can see how at least part of this belongs to VirtQueue. Stefan