ping On 20.04.26 22:38, Vladimir Sementsov-Ogievskiy wrote:
Hi all!Here is a new migration parameter "local", which allows to enable local migration of TAP virtio-net backend (and maybe other devices and backends in future), 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 kernel (for new TAP), and corresponding extra delay in migration downtime. v15: 03: add a-b by Peter 05: rebase on master, fix compat property to be part of 11.0 v15 pushed as branch up-tap-fd-migration-with-bk-opt at https://gitlab.com/vsementsov/qemu.git Based-on: <[email protected]> "[PATCH v4 00/13] net: refactoring and fixes" Vladimir Sementsov-Ogievskiy (8): net/tap: move vhost-net open() calls to tap_parse_vhost_fds() net/tap: move vhost initialization to tap_setup_vhost() qapi: add local migration parameter net: introduce vmstate_net_peer_backend virtio-net: support local migration of backend net/tap: support local migration with virtio-net tests/functional: add skipWithoutSudo() decorator tests/functional: add test_tap_migration hw/core/machine.c | 5 + hw/i386/pc_q35.c | 1 + hw/net/virtio-net.c | 137 +++++- include/hw/core/boards.h | 3 + include/hw/virtio/virtio-net.h | 2 + include/migration/misc.h | 2 + include/net/net.h | 6 + migration/options.c | 18 +- net/net.c | 47 ++ net/tap.c | 246 ++++++++-- qapi/migration.json | 12 +- qapi/net.json | 10 +- tests/functional/qemu_test/decorators.py | 16 + tests/functional/x86_64/meson.build | 1 + tests/functional/x86_64/test_tap_migration.py | 456 ++++++++++++++++++ 15 files changed, 911 insertions(+), 51 deletions(-) create mode 100755 tests/functional/x86_64/test_tap_migration.py
-- Best regards, Vladimir
