All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] mptcp support
@ 2021-04-21 11:28 Dr. David Alan Gilbert (git)
  2021-04-21 11:28 ` [PATCH v2 1/5] channel-socket: Only set CLOEXEC if we have space for fds Dr. David Alan Gilbert (git)
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2021-04-21 11:28 UTC (permalink / raw)
  To: qemu-devel, berrange, kraxel, eblake, armbru, pabeni; +Cc: peterx, quintela

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



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-06-08 18:38 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-21 11:28 [PATCH v2 0/5] mptcp support Dr. David Alan Gilbert (git)
2021-04-21 11:28 ` [PATCH v2 1/5] channel-socket: Only set CLOEXEC if we have space for fds Dr. David Alan Gilbert (git)
2021-04-21 11:28 ` [PATCH v2 2/5] io/net-listener: Call the notifier during finalize Dr. David Alan Gilbert (git)
2021-04-21 11:28 ` [PATCH v2 3/5] migration: Add cleanup hook for inwards migration Dr. David Alan Gilbert (git)
2021-04-21 11:28 ` [PATCH v2 4/5] migration/socket: Close the listener at the end Dr. David Alan Gilbert (git)
2021-04-21 11:28 ` [PATCH v2 5/5] sockets: Support multipath TCP Dr. David Alan Gilbert (git)
2021-04-23 11:17   ` Markus Armbruster
2021-04-23 11:20   ` Daniel P. Berrangé
2021-04-26 12:26     ` Dr. David Alan Gilbert
2021-05-11 10:04   ` Daniel P. Berrangé
2021-06-08 18:37 ` [PATCH v2 0/5] mptcp support Dr. David Alan Gilbert

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.