* [MPTCP] [PATCH 0/3] mptcp: just another recvmsg refactor
@ 2019-10-15 15:44 Paolo Abeni
0 siblings, 0 replies; only message in thread
From: Paolo Abeni @ 2019-10-15 15:44 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 1578 bytes --]
This start constructing the instrucutre to support pulling data from
multiple subflow. At the current stage uses a very simply approach, dropping
any out-of-order data and reading from any subflow with valid data.
The above should work quite nicely in active backup scenario and possibly
even with multiple subflows sending data concurrently - with a low bwidth and
a huge number of retransmissions.
Note that this rewrite completely the recvmsg() main loop to mirror more closely
the TCP recvmsg() main loop, likely fixing some bug in respect to signal and
error condition handling.
I think this 3 patches should be squashed into
"mptcp: Implement MPTCP receive path", but the resulting one will be likely
too huge; possibly splitting the resulting code in 2 different patches would
be nicer. Additionally "mptcp: Implement MPTCP receive path" has some chunks
that should be likely moved to some other patches (e.g. ULP RCU fixes).
What if - after the eventuall accept - I publish the resulting code of the
above squashing somewhere?
RFC -> v1
- address Mat's comment on patch 2/3, see individual changelog for the details
Paolo Abeni (3):
mptcp: move some helper into the header file
mptcp: flush duplicate data at data_ready() time
mptcp: recvmsg() can drain data from multiple subflows
net/mptcp/protocol.c | 360 +++++++++++++------------------------------
net/mptcp/protocol.h | 31 +++-
net/mptcp/subflow.c | 289 +++++++++++++++++++++++++++++++++-
3 files changed, 422 insertions(+), 258 deletions(-)
--
2.21.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-10-15 15:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-15 15:44 [MPTCP] [PATCH 0/3] mptcp: just another recvmsg refactor Paolo Abeni
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.