chardev/char-io.c | 2 +- hw/remote/mpqemu-link.c | 2 +- include/io/channel-socket.h | 2 + include/io/channel.h | 38 ++++++++- io/channel-buffer.c | 1 + io/channel-command.c | 1 + io/channel-file.c | 1 + io/channel-socket.c | 110 ++++++++++++++++++++++++- io/channel-tls.c | 1 + io/channel-websock.c | 1 + io/channel.c | 49 +++++++++--- migration/channel.c | 3 +- migration/migration.c | 52 +++++++++++- migration/migration.h | 6 ++ migration/multifd.c | 74 ++++++++++++++--- migration/multifd.h | 4 +- migration/ram.c | 29 +++++-- migration/rdma.c | 1 + migration/socket.c | 12 ++- monitor/hmp-cmds.c | 6 ++ qapi/migration.json | 24 ++++++ scsi/pr-manager-helper.c | 2 +- tests/qtest/migration-helpers.c | 13 +++ tests/qtest/migration-helpers.h | 1 + tests/qtest/migration-test.c | 150 ++++++++++++++++------------------- tests/unit/crypto-tls-x509-helpers.c | 16 +++- tests/unit/test-crypto-tlssession.c | 11 ++- tests/unit/test-io-channel-socket.c | 1 + 28 files changed, 482 insertions(+), 131 deletions(-)