qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert (git)" <dgilbert@redhat.com>
To: qemu-devel@nongnu.org, berrange@redhat.com, kraxel@redhat.com,
	eblake@redhat.com, armbru@redhat.com, pabeni@redhat.com
Cc: quintela@redhat.com
Subject: [RFC PATCH 0/5] mptcp support
Date: Thu,  8 Apr 2021 20:11:54 +0100	[thread overview]
Message-ID: <20210408191159.133644-1-dgilbert@redhat.com> (raw)

From: "Dr. David Alan Gilbert" <dgilbert@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



             reply	other threads:[~2021-04-08 20:31 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-08 19:11 Dr. David Alan Gilbert (git) [this message]
2021-04-08 19:11 ` [RFC PATCH 1/5] channel-socket: Only set CLOEXEC if we have space for fds Dr. David Alan Gilbert (git)
2021-04-09  9:03   ` Daniel P. Berrangé
2021-04-08 19:11 ` [RFC PATCH 2/5] io/net-listener: Call the notifier during finalize Dr. David Alan Gilbert (git)
2021-04-09  9:06   ` Daniel P. Berrangé
2021-04-08 19:11 ` [RFC PATCH 3/5] migration: Add cleanup hook for inwards migration Dr. David Alan Gilbert (git)
2021-04-09  9:10   ` Daniel P. Berrangé
2021-04-08 19:11 ` [RFC PATCH 4/5] migration/socket: Close the listener at the end Dr. David Alan Gilbert (git)
2021-04-09  9:10   ` Daniel P. Berrangé
2021-04-09  9:20     ` Paolo Abeni
2021-04-08 19:11 ` [RFC PATCH 5/5] sockets: Support multipath TCP Dr. David Alan Gilbert (git)
2021-04-09  9:22   ` Daniel P. Berrangé
2021-04-10  9:03     ` Markus Armbruster
2021-04-12 15:42     ` Dr. David Alan Gilbert
2021-04-09  9:34 ` [RFC PATCH 0/5] mptcp support Daniel P. Berrangé
2021-04-09  9:42   ` Daniel P. Berrangé
2021-04-09  9:55     ` Paolo Abeni
2021-04-12 14:46     ` Dr. David Alan Gilbert
2021-04-09  9:47   ` Paolo Abeni
2021-04-12 14:51   ` Dr. David Alan Gilbert
2021-04-12 14:56     ` Daniel P. Berrangé
2021-04-14 18:49       ` Dr. David Alan Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210408191159.133644-1-dgilbert@redhat.com \
    --to=dgilbert@redhat.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=pabeni@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).