All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Abeni <pabeni at redhat.com>
To: mptcp at lists.01.org
Subject: [MPTCP] [RFC PATCH 00/12] mptcp: multiple xmit substreams support
Date: Fri, 31 Jul 2020 19:39:15 +0200	[thread overview]
Message-ID: <cover.1596216310.git.pabeni@redhat.com> (raw)

[-- 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

                 reply	other threads:[~2020-07-31 17:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=cover.1596216310.git.pabeni@redhat.com \
    --to=unknown@example.com \
    /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 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.