qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] virtio-net: live-TAP local migration
@ 2025-09-05 13:50 Vladimir Sementsov-Ogievskiy
  2025-09-05 13:50 ` [PATCH v3 1/9] net/tap: add some trace points Vladimir Sementsov-Ogievskiy
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2025-09-05 13:50 UTC (permalink / raw)
  To: jasowang
  Cc: qemu-devel, vsementsov, leiyang, steven.sistare, yc-core, peterx,
	mst, farosas, eblake, armbru, thuth, philmd, berrange

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.

v3:
- drop tap_dump_packet (actually we already have qemu_hexdump,
  which is even called in network code (under ifdef).
- rework save/load code in tap.c to VMSD
test:
  - avoid using shell
  - use sudo, and add skipUnlesPasswordlessSudo decorator
  - don't keep extra open fd for ping.log
  - use scratch file for ping.log (not hardcoded  /tmp/ping.log)

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 (9):
  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
  tests/functional: exec_command_and_wait_for_pattern: add vm arg
  tests/functional: add skipUnlessPasswordlessSudo() decorator
  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                                     | 279 ++++++++++----
 net/trace-events                              |   6 +
 qapi/migration.json                           |   9 +-
 qapi/net.json                                 |  12 +-
 tests/functional/qemu_test/cmd.py             |   7 +-
 tests/functional/qemu_test/decorators.py      |  16 +
 .../test_x86_64_tap_fd_migration.py           | 345 ++++++++++++++++++
 12 files changed, 703 insertions(+), 85 deletions(-)
 create mode 100644 tests/functional/test_x86_64_tap_fd_migration.py

-- 
2.48.1



^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2025-09-09 15:10 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-05 13:50 [PATCH v3 0/9] virtio-net: live-TAP local migration Vladimir Sementsov-Ogievskiy
2025-09-05 13:50 ` [PATCH v3 1/9] net/tap: add some trace points Vladimir Sementsov-Ogievskiy
2025-09-05 13:50 ` [PATCH v3 2/9] net/tap: keep exit notifier only when downscript set Vladimir Sementsov-Ogievskiy
2025-09-05 13:50 ` [PATCH v3 3/9] net/tap: refactor net_tap_setup_vhost() Vladimir Sementsov-Ogievskiy
2025-09-05 13:50 ` [PATCH v3 4/9] qapi: add interface for local TAP migration Vladimir Sementsov-Ogievskiy
2025-09-08 15:35   ` Peter Xu
2025-09-08 16:38     ` Vladimir Sementsov-Ogievskiy
2025-09-08 18:47       ` Peter Xu
2025-09-09  7:40         ` Vladimir Sementsov-Ogievskiy
2025-09-05 13:50 ` [PATCH v3 5/9] net/tap: implement interfaces for local migration Vladimir Sementsov-Ogievskiy
2025-09-08 15:42   ` Peter Xu
2025-09-08 16:48     ` Vladimir Sementsov-Ogievskiy
2025-09-08 20:01       ` Peter Xu
2025-09-09  7:44         ` Vladimir Sementsov-Ogievskiy
2025-09-09 14:56           ` Peter Xu
2025-09-09 15:08             ` Vladimir Sementsov-Ogievskiy
2025-09-05 13:50 ` [PATCH v3 6/9] virtio-net: support local tap migration Vladimir Sementsov-Ogievskiy
2025-09-08 15:43   ` Peter Xu
2025-09-08 16:48     ` Vladimir Sementsov-Ogievskiy
2025-09-05 13:50 ` [PATCH v3 7/9] tests/functional: exec_command_and_wait_for_pattern: add vm arg Vladimir Sementsov-Ogievskiy
2025-09-09 14:03   ` Thomas Huth
2025-09-09 14:09     ` Vladimir Sementsov-Ogievskiy
2025-09-05 13:50 ` [PATCH v3 8/9] tests/functional: add skipUnlessPasswordlessSudo() decorator Vladimir Sementsov-Ogievskiy
2025-09-08 15:49   ` Daniel P. Berrangé
2025-09-05 13:50 ` [PATCH v3 9/9] tests/functional: add test_x86_64_tap_fd_migration Vladimir Sementsov-Ogievskiy
2025-09-08 15:58   ` Daniel P. Berrangé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).