All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.