All of lore.kernel.org
 help / color / mirror / Atom feed
* [MPTCP] [RFC PATCH 00/12] mptcp: multiple xmit substreams support
@ 2020-07-31 17:39 Paolo Abeni
  0 siblings, 0 replies; only message in thread
From: Paolo Abeni @ 2020-07-31 17:39 UTC (permalink / raw)
  To: mptcp

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

This is an early RFC to gather feedback and comments on the current status.

Needs the bugfix patch I sent before to avoid exploding badly on the first
packet - can still explode after a few ones.

It refactor send space notifications, introduces OoO handling via RBtree,
sndbuf autotuning, allows the PM to create non backup subflows and finally
a basic scheduler and some self-tests.

The pain point is the in-window check:

on the receiver side msk rcv window is set at tcp_space(msk) - which should be
a quite rough over-estimante of a more correct value.

on the sender side no limit is imposed on the xmitted sequence number, except
the one given by the sndbuf. The msk sndbuf is autotuned to the subflows
largest sndbuf size.

With all the above I observe several out of [MPTCP] window on the RX side, to
the point that if affects the bandwidth (self-tests fail, as they basically
looks at virtual link utilization).

Any comment more than welcome, especially about better mptcp window checks.

This has been quite painful, so I would propose to consider accepting on
export branch even a suboptimal version and then improve incrementally.

Paolo Abeni (12):
  mptcp: msk is writable according to msk write space
  mptcp: set data_ready status bit in subflow_check_data_avail()
  mptcp: trigger msk processing even for OoO data
  mptcp: basic sndbuf autotuning
  mptcp: introduce and use mptcp_try_coalesce()
  mptcp: move ooo skbs into msk out of order queue.
  mptcp: cleanup mptcp_subflow_discard_data()
  mptcp: add OoO related mibs
  mptcp: move address attribute into mptcp_addr_info
  mptcp: allow creating non-backup subflows
  mptcp: allow picking different xmit subflows
  mptcp: simult flow self-tests

 net/mptcp/mib.c                               |   5 +
 net/mptcp/mib.h                               |   5 +
 net/mptcp/pm_netlink.c                        |  38 +-
 net/mptcp/protocol.c                          | 459 ++++++++++++++----
 net/mptcp/protocol.h                          |  18 +-
 net/mptcp/subflow.c                           |  91 ++--
 .../selftests/net/mptcp/simult_flows.sh       | 290 +++++++++++
 7 files changed, 743 insertions(+), 163 deletions(-)
 create mode 100755 tools/testing/selftests/net/mptcp/simult_flows.sh

-- 
2.26.2

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

only message in thread, other threads:[~2020-07-31 17:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-31 17:39 [MPTCP] [RFC PATCH 00/12] mptcp: multiple xmit substreams support 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.