From: Mat Martineau <mathew.j.martineau@linux.intel.com>
To: mptcp@lists.linux.dev, Matthieu Baerts <matthieu.baerts@tessares.net>
Subject: Draft talk proposal for MPTCP @ Linux Plumbers '22
Date: Wed, 29 Jun 2022 17:16:53 -0700 (PDT) [thread overview]
Message-ID: <78ff1ebd-f440-9dd0-256-abf3345e6d3@linux.intel.com> (raw)
At our recent weekly MPTCP meetings, I've talked about proposing a Linux
Plumbers talk this year. Matthieu and I have discussed collaborating on
it.
My high-level idea was to focus on our new customization features:
userspace path management and BPF packet schedulers.
Since MPTCP is a community effort, I'd like to share this draft so I
can be sure to focus in the right areas and represent the community well.
Please review and comment!
Side note: I've included the https://mptcp.dev URL even though it's not
working yet. Matthieu, do you think we could get something set up there
before September? The old https://is.gd/mptcp_upstream URL we used for the
2019 talk doesn't work any more.
----
Multipath TCP (MPTCP) was initially supported in v5.6 of the Linux kernel.
In later releases, the MPTCP development community has steadily expanded
from the initial baseline feature set to now support a broad range of
MPTCP features on the wire and through the socket and generic netlink
APIs. The first phase of development focused on solid support of server
use cases. Two current projects are intended to make MPTCP more
customizable for client devices and unique use cases without requiring
custom kernel modules.
The first of these customization features is the userspace path manager
added in v5.19. On the kernel side, MPTCP's generic netlink API was
updated with new commands that allow a userspace process to control
multipath address advertisements and the additional subflows that can add
paths to a MPTCP connection. The Multipath TCP Daemon (mptcpd) is the
first userspace daemon to support these commands. With these components,
systems can now customize MPTCP behavior on a per-connection basis. The
in-kernel path manager, which remains available, has configuration options
that affect all connections in a network namespace. We will show what the
userspace and in-kernel path managers are best suited for and explain the
tradeoffs between them.
A BPF packet scheduler framework is also in active development. When there
are multiple active TCP subflows in a MPTCP connection, the MPTCP stack
must decide which of those subflows to use to transmit each data packet.
The default in-kernel scheduler tries to utilize all the available
subflows to favor throughput, but is not tunable. Customizable schedulers
could optimize for latency, redundancy, cost, carrier policy, or other
factors. We will review the progress that MPTCP Linux developers have made
on this feature to date, along with some of the challenges of integrating
BPF into the MPTCP transmit path.
MPTCP development for the Linux kernel and mptcpd are public and open. You
can find us at mptcp@lists.linux.dev, https://mptcp.dev, and
https://github.com/intel/mptcpd
--
Mat Martineau
Intel
next reply other threads:[~2022-06-30 0:16 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-30 0:16 Mat Martineau [this message]
2022-07-14 22:50 ` Draft talk proposal for MPTCP @ Linux Plumbers '22 (2nd draft) Mat Martineau
2022-07-15 14:47 ` Matthieu Baerts
2022-07-17 22:01 ` Mat Martineau
2022-07-19 1:17 ` Draft talk proposal for MPTCP @ Linux Plumbers '22 (3rd draft) Mat Martineau
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=78ff1ebd-f440-9dd0-256-abf3345e6d3@linux.intel.com \
--to=mathew.j.martineau@linux.intel.com \
--cc=matthieu.baerts@tessares.net \
--cc=mptcp@lists.linux.dev \
/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