public inbox for mptcp@lists.linux.dev
 help / color / mirror / Atom feed
From: Geliang Tang <geliang@kernel.org>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>
Subject: [RFC mptcp-next v9 00/10] MPTCP KTLS support
Date: Fri, 13 Mar 2026 09:42:42 +0800	[thread overview]
Message-ID: <cover.1773365606.git.tanggeliang@kylinos.cn> (raw)

From: Geliang Tang <tanggeliang@kylinos.cn>

v9:
 - add a new patch to "add MPTCP SKB offset check in strp queue walk",
   thanks to Gang Yan for the fix.
 - add a new patch to "avoid deadlocks in read_sock path", replacing the
   "in_softirq()" check used in v8.
 - update the selftests.

v8:
 - do not hold tls_prot_ops_lock in tls_init(); otherwise, a deadlock
   occurs.
 - change return value of mptcp_stream_is_readable() as 'bool' to fix the
   "expected restricted __poll_t" warning reported by CI.
 - fixed other CI checkpatch warnings regarding excessively long lines.
 - Link: https://patchwork.kernel.org/project/mptcp/cover/cover.1768294706.git.tanggeliang@kylinos.cn/

v7:
 - Passing an MPTCP socket to tcp_sock_rate_check_app_limited() causes a
   crash. In v7, an MPTCP version of check_app_limited() is implemented,
   which calls tcp_sock_rate_check_app_limited() for each subflow.
 - Register tls_tcp_ops and tls_mptcp_ops in tls_register() rather than in
   tls_init().
 - Set ctx->ops in tls_init() instead of in do_tls_setsockopt_conf().
 - Keep tls_device.c unchanged. MPTCP TLS_HW mode has not been implemented
   yet, so EOPNOTSUPP is returned in this case.
 - Also add TCP TLS tests in mptcp_join.sh.
 - Link: https://patchwork.kernel.org/project/mptcp/cover/cover.1768284047.git.tanggeliang@kylinos.cn/

v6:
 - register each ops as Matt suggested.
 - drop sk_is_msk().
 - add tcp_sock_get_ulp/tcp_sock_set_ulp helpers.
 - set another ULP in sock_test_tcpulp as Matt suggested.
 - add tls tests using multiple subflows in mptcp_join.sh.
 - Link: https://patchwork.kernel.org/project/mptcp/cover/cover.1767518836.git.tanggeliang@kylinos.cn/

v5:
 - As suggested by Mat and Matt, this set introduces struct tls_prot_ops
   for TLS.
 - Includes Gang Yan's patches to add MPTCP support to the TLS selftests.
 - Link: https://patchwork.kernel.org/project/mptcp/cover/cover.1766372799.git.tanggeliang@kylinos.cn/

v4:
 - split "tls: add MPTCP protocol support" into smaller, more
   focused patches.
 - a new mptcp_inq helper has been implemented instead of directly
   using mptcp_inq_hint to fix the issue mentioned in [1].
 - add sk_is_msk helper.
 - the 'expect' parameter will no longer be added to sock_test_tcpulp.
   Instead, SOCK_TEST_TCPULP items causing the tests failure will be
   directly removed.
 - remove the "TCP KTLS" tests, keeping only the MPTCP-related ones.
 - Link: https://patchwork.kernel.org/project/mptcp/cover/cover.1765505775.git.tanggeliang@kylinos.cn/

[1]
https://patchwork.kernel.org/project/mptcp/patch/ce74452f4c095a1761ef493b767b4bd9f9c14359.1764333805.git.tanggeliang@kylinos.cn/

v3:
 - mptcp_read_sock() and mptcp_poll() are not exported, as mptcp_sockopt
   test does not use read_sock/poll interfaces. They will be exported when
   new tests are added in the future.
 - call mptcp_inq_hint in tls_device_rx_resync_new_rec(),
   tls_device_core_ctrl_rx_resync() and tls_read_flush_backlog() too.
 - update selftests.
 - Link: https://patchwork.kernel.org/project/mptcp/cover/cover.1763800601.git.tanggeliang@kylinos.cn/

v2:
 - fix disconnect.
 - update selftests.

This series adds KTLS support for MPTCP. Since the ULP of msk is not being
used, ULP KTLS can be directly configured onto msk without affecting its
communication.

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/480

Gang Yan (2):
  tls: add MPTCP SKB offset check in strp queue walk
  mptcp: update mptcp_check_readable

Geliang Tang (8):
  tls: introduce struct tls_prot_ops
  tls: add ops in tls_context
  mptcp: avoid deadlocks in read_sock path
  mptcp: implement tls_mptcp_ops
  mptcp: update ULP getsockopt
  mptcp: enable TLS setsockopt
  selftests: mptcp: connect: set smc instead of tls
  selftests: mptcp: connect: add TLS tests

 include/linux/tcp.h                           |   2 +
 include/net/mptcp.h                           |   2 +
 include/net/tcp.h                             |   1 +
 include/net/tls.h                             |  20 +++
 net/ipv4/tcp.c                                |  87 +++++++-----
 net/mptcp/protocol.c                          | 131 +++++++++++++++---
 net/mptcp/protocol.h                          |   1 +
 net/mptcp/sockopt.c                           |  37 ++++-
 net/tls/tls_main.c                            | 107 +++++++++++++-
 net/tls/tls_strp.c                            |  31 +++--
 net/tls/tls_sw.c                              |   7 +-
 tools/testing/selftests/net/mptcp/config      |   1 +
 .../selftests/net/mptcp/mptcp_connect.c       |  49 ++++++-
 .../selftests/net/mptcp/mptcp_connect.sh      |  33 +++++
 14 files changed, 438 insertions(+), 71 deletions(-)

-- 
2.53.0


             reply	other threads:[~2026-03-13  1:43 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-13  1:42 Geliang Tang [this message]
2026-03-13  1:42 ` [RFC mptcp-next v9 01/10] tls: introduce struct tls_prot_ops Geliang Tang
2026-03-13  1:42 ` [RFC mptcp-next v9 02/10] tls: add ops in tls_context Geliang Tang
2026-03-13  1:42 ` [RFC mptcp-next v9 03/10] tls: add MPTCP SKB offset check in strp queue walk Geliang Tang
2026-03-13  1:42 ` [RFC mptcp-next v9 04/10] mptcp: update mptcp_check_readable Geliang Tang
2026-03-13  1:42 ` [RFC mptcp-next v9 05/10] mptcp: avoid deadlocks in read_sock path Geliang Tang
2026-03-13  1:42 ` [RFC mptcp-next v9 06/10] mptcp: implement tls_mptcp_ops Geliang Tang
2026-03-13  1:42 ` [RFC mptcp-next v9 07/10] mptcp: update ULP getsockopt Geliang Tang
2026-03-13  1:42 ` [RFC mptcp-next v9 08/10] mptcp: enable TLS setsockopt Geliang Tang
2026-03-13  1:42 ` [RFC mptcp-next v9 09/10] selftests: mptcp: connect: set smc instead of tls Geliang Tang
2026-03-13  6:26   ` Dust Li
2026-03-13  8:04     ` Geliang Tang
2026-03-13  1:42 ` [RFC mptcp-next v9 10/10] selftests: mptcp: connect: add TLS tests Geliang Tang
2026-03-13  4:27 ` [RFC mptcp-next v9 00/10] MPTCP KTLS support MPTCP CI
2026-03-13  8:07   ` Geliang Tang

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.1773365606.git.tanggeliang@kylinos.cn \
    --to=geliang@kernel.org \
    --cc=mptcp@lists.linux.dev \
    --cc=tanggeliang@kylinos.cn \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox