All of lore.kernel.org
 help / color / mirror / Atom feed
* [MPTCP] [RFC PATCH 0/8] mptcp: support for queuing data at mptcp-level
@ 2020-09-24 13:59 Paolo Abeni
  0 siblings, 0 replies; only message in thread
From: Paolo Abeni @ 2020-09-24 13:59 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 1756 bytes --]

This is necessary to cope correctly with large sendbuffer (larger then snd wnd)
while respecting the MPTCP level snd window.

A major rework of both xmit and shudown path is required to support this
feature (patches 6 and 7). To try to keep the related patches as small as
possible, a bunch of new helpers is created by patches 1-5.
Note that patch 3 can stand for it's own merit and possibly be upstreamed soon.

Finally patch 8 uses the MPTCP equivalent of tcp_push_pending_frames(), to
spool queued data ad MPTCP level, as soon as the windows allow that.

This is still more than a bit rough, and not all self-tests currently pass in
my local testbed, but the major issues should have been addressed.

Specifically the race described in:

https://lists.01.org/hyperkitty/list/mptcp(a)lists.01.org/message/JC7GTZHEKI6A3WHQKAWF3SYUSBEU5DYM/

is addressed by patch 6.

As usual any comments more than welcome!

Note: some patches include [partial] changelog, because this already went
through some private iterations.

Paolo Abeni (8):
  tcp: factor out __tcp_close() helper
  mptcp: introduce mptcp_schedule_work
  mptcp: reduce the arguments of mptcp_sendmsg_frag
  mptcp: add accounting for pending data
  mptcp: introduce MPTCP snd_nxt
  mptcp: refactor shutdown and close
  mptcp: move page frag allocation in mptcp_sendmsg()
  mptcp: try to push pending data on snd una updates

 include/net/tcp.h    |   1 +
 net/ipv4/tcp.c       |   9 +-
 net/mptcp/options.c  |   4 +-
 net/mptcp/pm.c       |   4 +-
 net/mptcp/protocol.c | 729 ++++++++++++++++++++++++-------------------
 net/mptcp/protocol.h |  60 +++-
 net/mptcp/subflow.c  |  21 +-
 7 files changed, 482 insertions(+), 346 deletions(-)

-- 
2.26.2

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-09-24 13:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-24 13:59 [MPTCP] [RFC PATCH 0/8] mptcp: support for queuing data at mptcp-level 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.