On Mon, Oct 02, 2023 at 05:13:26PM -0400, Stefan Hajnoczi wrote: > One more question: > > Why is the disabled state not needed by regular (non-vhost) virtio-net > devices?
Tap does the same - it purges queued packets: int tap_disable(NetClientState *nc) { TAPState *s = DO_UPCAST(TAPState, nc, nc); int ret; if (s->enabled == 0) { return 0; } else { ret = tap_fd_disable(s->fd); if (ret == 0) { qemu_purge_queued_packets(nc); s->enabled = false; tap_update_fd_handler(s); } return ret; } } what about non tap backends? I suspect they just aren't used widely with multiqueue so no one noticed. -- MST