[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/5] mptcp support
|
From: |
Dr. David Alan Gilbert (git) |
|
Subject: |
[PATCH v2 0/5] mptcp support |
|
Date: |
Wed, 21 Apr 2021 12:28:29 +0100 |
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
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
- [PATCH v2 0/5] mptcp support,
Dr. David Alan Gilbert (git) <=
- [PATCH v2 1/5] channel-socket: Only set CLOEXEC if we have space for fds, Dr. David Alan Gilbert (git), 2021/04/21
- [PATCH v2 2/5] io/net-listener: Call the notifier during finalize, Dr. David Alan Gilbert (git), 2021/04/21
- [PATCH v2 3/5] migration: Add cleanup hook for inwards migration, Dr. David Alan Gilbert (git), 2021/04/21
- [PATCH v2 4/5] migration/socket: Close the listener at the end, Dr. David Alan Gilbert (git), 2021/04/21
- [PATCH v2 5/5] sockets: Support multipath TCP, Dr. David Alan Gilbert (git), 2021/04/21