* Dr. David Alan Gilbert (git) (dgilbert@redhat.com) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> Hi,
> This set adds support for multipath TCP (mptcp), and has
> been tested for migration and (lightly) for NBD.
>
> 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; for migration:
>
> -incoming tcp:0:4444,mptcp
> migrate -d tcp:192.168.11.20:4444,mptcp
>
> For nbd:
>
> (qemu) nbd_server_start 0.0.0.0:3333,mptcp=on
>
> -blockdev driver=nbd,server.type=inet,server.host=192.168.11.20,server.port=3333,server.mptcp=on,node-name=nbddisk,export=mydisk \
> -device virtio-blk,drive=nbddisk,id=disk0
>
> (Many of the other NBD address parsers/forms would need extra work)
>
> All comments welcome.
>
> Dave
Queued
>
> v2
> Use of if defined(...) in the json file based on feedback
> A few missing ifdef's (from a bsd build test)
> Added nbd example.
>
>
> 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 | 4 ++++
> 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 | 23 +++++++++++++++++++++++
> 9 files changed, 68 insertions(+), 11 deletions(-)
>
> --
> 2.31.1
>
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK