All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Abeni <pabeni@redhat.com>
To: mptcp@lists.linux.dev
Subject: [mptcp-next v2 0/7] mptcp: implement TCP_NOTSENT_LOWAT support
Date: Mon, 12 Feb 2024 16:18:55 +0100	[thread overview]
Message-ID: <cover.1707739536.git.pabeni@redhat.com> (raw)

Patch 6/7 does the magic, all the others are minor cleanup and fix of
buglet exposed by such feature. I'll push a paired pktdrill test.

Note that this relies on the existing accounting for snd_nxt. As I
stated such accounting is not 110% accurate as it tracks the most recent
sequence number queued to any subflow, and not the actual sequence
number sent on the wire.

I experimented a lot trying to implement the latter and in the end it
proved to be both "too complex" and "not necessary".

The complexity raises from the need for additional lock and a lot of
refactory to introduce such protection without adding significant
overhead. Additionally, snd_nxt is currenly used and exposed with the
current semantic both eBPF and the internal packet scheduling.
Introducing a different tracking will still require us to keep the old
one.

More interesting, a more accurate tracking could be not strictly
necessary: as the MPTCP protocol enqueues data to the subflows only up
the available send window, any enqueue data is sent on the wire
instantly, without any blocking operation short of a drop in the tx path
at the nft or TC layer.

The individual patches changelog carry the gory details.

Still sending a single series to outline the functional requirements,
even if the first 3 patches could land on mptcp-net directly.

v1 -> v2:
  - clarifiy commit message in patch 1/7
  - fix possible wake-up bug in patch 6/7

Paolo Abeni (7):
  mptcp: push ad DSS boundaries
  mptcp: fix snd_wnd initialization for passive socket
  mptcp: fix potential wake-up event loss
  mptcp: cleanup writer wake-up
  mptcp: avoid some duplicate code in socket option handling
  mptcp: implement TCP_NOTSENT_LOWAT support.
  mptcp: cleanup SOL_TCP handling

 net/mptcp/protocol.c | 66 +++++++++++++++++++++++++++++-----------
 net/mptcp/protocol.h | 57 ++++++++++++++++++++++++++++-------
 net/mptcp/sockopt.c  | 71 ++++++++++++++++++++------------------------
 3 files changed, 126 insertions(+), 68 deletions(-)

-- 
2.43.0


             reply	other threads:[~2024-02-12 15:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-12 15:18 Paolo Abeni [this message]
2024-02-12 15:18 ` [mptcp-next v2 1/7] mptcp: push ad DSS boundaries Paolo Abeni
2024-02-15 22:33   ` Mat Martineau
2024-02-12 15:18 ` [mptcp-next v2 2/7] mptcp: fix snd_wnd initialization for passive socket Paolo Abeni
2024-02-12 15:18 ` [mptcp-next v2 3/7] mptcp: fix potential wake-up event loss Paolo Abeni
2024-02-15 22:20   ` Mat Martineau
2024-02-16  9:39     ` Paolo Abeni
2024-02-12 15:18 ` [mptcp-next v2 4/7] mptcp: cleanup writer wake-up Paolo Abeni
2024-02-12 15:19 ` [mptcp-next v2 5/7] mptcp: avoid some duplicate code in socket option handling Paolo Abeni
2024-02-12 15:19 ` [mptcp-next v2 6/7] mptcp: implement TCP_NOTSENT_LOWAT support Paolo Abeni
2024-02-15 22:31   ` Mat Martineau
2024-02-12 15:19 ` [mptcp-next v2 7/7] mptcp: cleanup SOL_TCP handling Paolo Abeni
2024-02-12 16:10   ` mptcp: cleanup SOL_TCP handling: Tests Results MPTCP CI
2024-02-12 16:28   ` MPTCP CI
2024-02-13  9:53   ` MPTCP CI

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.1707739536.git.pabeni@redhat.com \
    --to=pabeni@redhat.com \
    --cc=mptcp@lists.linux.dev \
    /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.