public inbox for mptcp@lists.linux.dev
 help / color / mirror / Atom feed
From: Matthieu Baerts <matttbe@kernel.org>
To: Geliang Tang <geliang@kernel.org>, mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>, Gang Yan <yangang@kylinos.cn>
Subject: Re: [RFC mptcp-next v5 4/8] mptcp: enable TLS setsockopt
Date: Tue, 23 Dec 2025 17:37:35 +0100	[thread overview]
Message-ID: <e8ea3dc5-6d04-4bcc-b7fd-7c4734768a63@kernel.org> (raw)
In-Reply-To: <3aa05cc662d7874088c23e958d846116a6e4195b.1766372799.git.tanggeliang@kylinos.cn>

Hi Geliang,

On 22/12/2025 04:15, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> This patch adds MPTCP TLS setsockopt support. It allows setting the TCP_ULP
> option to 'tls' exclusively, and enables configuration of the TLS_TX and
> TLS_RX options at the SOL_TLS level.
> 
> This option cannot be set when the socket is in CLOSE or LISTEN state.

(...)

> @@ -819,11 +828,18 @@ static int mptcp_setsockopt_sol_tcp(struct mptcp_sock *msk, int optname,
>  				    sockptr_t optval, unsigned int optlen)
>  {
>  	struct sock *sk = (void *)msk;
> +	char ulp[4] = "";
>  	int ret, val;
>  
>  	switch (optname) {
>  	case TCP_ULP:
> -		return -EOPNOTSUPP;
> +		if (copy_from_user(ulp, optval.user, 4))
> +			return -EFAULT;
> +		if (strcmp(ulp, "tls\0"))
> +			return -EOPNOTSUPP;
> +		if ((1 << sk->sk_state) & (TCPF_CLOSE | TCPF_LISTEN))
> +			return -ENOTCONN;

This is specific to TLS, maybe better to move that to a new setsockopt
ULP helper?

> +		return tcp_setsockopt(sk, SOL_TCP, optname, optval, optlen);

Same as in the previous patch, better not to call ...

  tcp_[gs]etsockopt(msk, SOL_TCP, ...)

... directly.

>  	case TCP_CONGESTION:
>  		return mptcp_setsockopt_sol_tcp_congestion(msk, optval, optlen);
>  	case TCP_DEFER_ACCEPT:

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.


  reply	other threads:[~2025-12-23 16:37 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-22  3:15 [RFC mptcp-next v5 0/8] MPTCP KTLS support Geliang Tang
2025-12-22  3:15 ` [RFC mptcp-next v5 1/8] tls: introduce struct tls_prot_ops Geliang Tang
2025-12-23 16:36   ` Matthieu Baerts
2025-12-22  3:15 ` [RFC mptcp-next v5 2/8] mptcp: implement tls_mptcp_ops Geliang Tang
2025-12-22  3:15 ` [RFC mptcp-next v5 3/8] mptcp: update ULP getsockopt Geliang Tang
2025-12-23 16:36   ` Matthieu Baerts
2025-12-22  3:15 ` [RFC mptcp-next v5 4/8] mptcp: enable TLS setsockopt Geliang Tang
2025-12-23 16:37   ` Matthieu Baerts [this message]
2025-12-22  3:15 ` [RFC mptcp-next v5 5/8] selftests: mptcp: connect: update sock_test_tcpulp Geliang Tang
2025-12-23 16:38   ` Matthieu Baerts
2025-12-22  3:15 ` [RFC mptcp-next v5 6/8] selftests: mptcp: sockopt: implement MPTCP KTLS tests Geliang Tang
2025-12-23 16:38   ` Matthieu Baerts
2025-12-22  3:15 ` [RFC mptcp-next v5 7/8] mptcp: fix the mptcp_check_readable Geliang Tang
2025-12-23 16:39   ` Matthieu Baerts
2025-12-22  3:15 ` [RFC mptcp-next v5 8/8] selftests: tls: add a '--mptcp' test mode Geliang Tang
2025-12-23 16:39   ` Matthieu Baerts
2025-12-23 16:35 ` [RFC mptcp-next v5 0/8] MPTCP KTLS support Matthieu Baerts
2026-01-04  9:52   ` 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=e8ea3dc5-6d04-4bcc-b7fd-7c4734768a63@kernel.org \
    --to=matttbe@kernel.org \
    --cc=geliang@kernel.org \
    --cc=mptcp@lists.linux.dev \
    --cc=tanggeliang@kylinos.cn \
    --cc=yangang@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