From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> Hi, This RFC set adds support for multipath TCP (mptcp), in particular on the migration path - but should be extensible to other users.
Multipath-tcp is a bit like bonding, but at L3; you can use it to handle failure, but can also use it to split traffic across multiple interfaces. Using a pair of 10Gb interfaces, I've managed to get 19Gbps (with the only tuning being using huge pages and turning the MTU up). It needs a bleeding-edge Linux kernel (in some older ones you get false accept messages for the subflows), and a C lib that has the constants defined (as current glibc does). To use it you just need to append ,mptcp to an address; -incoming tcp:0:4444,mptcp migrate -d tcp:192.168.11.20:4444,mptcp I had a quick go at trying NBD as well, but I think it needs some work with the parsing of NBD addresses. All comments welcome. Dave Dr. David Alan Gilbert (5): channel-socket: Only set CLOEXEC if we have space for fds io/net-listener: Call the notifier during finalize migration: Add cleanup hook for inwards migration migration/socket: Close the listener at the end sockets: Support multipath TCP io/channel-socket.c | 8 ++++---- io/dns-resolver.c | 2 ++ io/net-listener.c | 3 +++ migration/migration.c | 3 +++ migration/migration.h | 4 ++++ migration/multifd.c | 5 +++++ migration/socket.c | 24 ++++++++++++++++++------ qapi/sockets.json | 5 ++++- util/qemu-sockets.c | 34 ++++++++++++++++++++++++++++++++++ 9 files changed, 77 insertions(+), 11 deletions(-) -- 2.31.1