[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 00/17] migration: Add new migration channel connect and TLS upgra
|
From: |
Avihai Horon |
|
Subject: |
[PATCH 00/17] migration: Add new migration channel connect and TLS upgrade APIs |
|
Date: |
Thu, 25 Jan 2024 18:25:11 +0200 |
Hello,
Today there are several types of migration channels that can be used
during migration: main migration channel, multifd channels and postcopy
preempt channel. Each channel type has its own code to connect and to
TLS upgrade itself when needed. There is no unified API for these tasks
and it makes the code a bit unclear and cumbersome.
This series aims to solve this by introducing two new APIs for the above
tasks that will replace the existing code.
The first one is an API to TLS upgrade migration channels. A new
function, migration_tls_channel_connect(), is introduced and is used by
main migration, multifd and postcopy preempt channels.
The second one is an API to connect migration channels. A new function,
migration_channel_connect(), is introduced and is used by all migration
channels other than main migration channel, i.e., multifd and postcopy
preempt channels. The reason it's not used by main migration channel is
because the main channel is a bit special and has different flows, and I
didn't see a smooth way to include it.
Patch breakdown:
1-5: Some fixes and cleanups.
6-12: Add new migration channel TLS upgrade API.
13-17: Add new migration channel connect API.
Thanks for reviewing.
Avihai Horon (17):
migration: Fix logic of channels and transport compatibility check
migration: Move local_err check in migration_ioc_process_incoming()
migration: Rename default_channel to main_channel
migration/multifd: Set p->running = true in the right place
migration/multifd: Wait for multifd channels creation before
proceeding
migration/tls: Rename main migration channel TLS functions
migration/tls: Add new migration channel TLS upgrade API
migration: Use the new TLS upgrade API for main channel
migration/multifd: Use the new TLS upgrade API for multifd channels
migration/postcopy: Use the new TLS upgrade API for preempt channel
migration/tls: Make migration_tls_client_create() static
migration/multifd: Consolidate TLS/non-TLS multifd channel error flow
migration: Store MigrationAddress in MigrationState
migration: Rename migration_channel_connect()
migration: Add new migration channel connect API
migration/multifd: Use the new migration channel connect API for
multifd
migration/postcopy: Use the new migration channel connect API for
postcopy preempt
migration/channel.h | 30 +++++++--
migration/migration.h | 5 ++
migration/multifd.h | 3 +
migration/postcopy-ram.h | 2 +-
migration/tls.h | 30 +++++++--
migration/channel.c | 106 +++++++++++++++++++++++++----
migration/exec.c | 2 +-
migration/fd.c | 2 +-
migration/file.c | 2 +-
migration/migration.c | 47 ++++++++-----
migration/multifd.c | 142 +++++++++++----------------------------
migration/postcopy-ram.c | 111 +++++++++++-------------------
migration/ram.c | 7 ++
migration/socket.c | 2 +-
migration/tls.c | 94 +++++++++++++++++---------
migration/trace-events | 16 ++---
16 files changed, 344 insertions(+), 257 deletions(-)
--
2.26.3
- [PATCH 00/17] migration: Add new migration channel connect and TLS upgrade APIs,
Avihai Horon <=
- [PATCH 01/17] migration: Fix logic of channels and transport compatibility check, Avihai Horon, 2024/01/25
- [PATCH 02/17] migration: Move local_err check in migration_ioc_process_incoming(), Avihai Horon, 2024/01/25
- [PATCH 03/17] migration: Rename default_channel to main_channel, Avihai Horon, 2024/01/25
- [PATCH 10/17] migration/postcopy: Use the new TLS upgrade API for preempt channel, Avihai Horon, 2024/01/25
- [PATCH 11/17] migration/tls: Make migration_tls_client_create() static, Avihai Horon, 2024/01/25
- [PATCH 12/17] migration/multifd: Consolidate TLS/non-TLS multifd channel error flow, Avihai Horon, 2024/01/25
- [PATCH 04/17] migration/multifd: Set p->running = true in the right place, Avihai Horon, 2024/01/25