Tested the current series of patches, mixed with patches from series
[1] and [2], and the virtio-net regression tests passed. I also tested
local VM migration under multiple NIC queues enabled and disabled, it
also passed.
[1] https://patchwork.ozlabs.org/project/qemu-devel/cover/20250903094411.1029449-1-vsementsov@yandex-team.ru/
[2] https://patchwork.ozlabs.org/project/qemu-devel/cover/20250903124934.1169899-1-vsementsov@yandex-team.ru/
Tested-by: Lei Yang <leiyang@redhat.com>
On Wed, Sep 3, 2025 at 9:37 PM Vladimir Sementsov-Ogievskiy
<vsementsov@yandex-team.ru> wrote:
>
> Hi all!
>
> Here is a new migration capability "local-tap", which
> allows local migration of TAP device, including its properties
> and open fds.
>
> With this new option, management software doesn't need to
> initialize new TAP and do a switch to it. Nothing should be
> done around virtio-net in local migration: it just migrates
> and continues to use same TAP device. So we avoid extra logic
> in management software, extra allocations in kenel (for new TAP),
> and corresponding extra delay in migration downtime.
>
> Note that patch 07 is reused from
> [PATCH 00/33] vhost-user-blk: live-backend local migration
> to not create extra dependency on a big series.
>
> Based on [PATCH v3 00/19] TAP initialization refactoring, or in other
> words:
> Based-on: <20250903124934.1169899-1-vsementsov@yandex-team.ru>
>
> Vladimir Sementsov-Ogievskiy (8):
> net/tap: add some trace points
> net/tap: keep exit notifier only when downscript set
> net/tap: refactor net_tap_setup_vhost()
> qapi: add interface for local TAP migration
> net/tap: implement interfaces for local migration
> virtio-net: support local tap migration
> test/functional: exec_command_and_wait_for_pattern: add vm arg
> tests/functional: add test_x86_64_tap_fd_migration
>
> hw/net/virtio-net.c | 100 ++++-
> include/hw/virtio/virtio-net.h | 2 +
> include/net/tap.h | 4 +
> migration/options.c | 7 +
> migration/options.h | 1 +
> net/tap.c | 323 ++++++++++++----
> net/trace-events | 7 +
> qapi/migration.json | 9 +-
> qapi/net.json | 12 +-
> tests/functional/qemu_test/cmd.py | 7 +-
> .../test_x86_64_tap_fd_migration.py | 347 ++++++++++++++++++
> 11 files changed, 734 insertions(+), 85 deletions(-)
> create mode 100644 tests/functional/test_x86_64_tap_fd_migration.py
>
> --
> 2.48.1
>