Re: [PATCH mptcp-next v3 2/7] mptcp: take TCP_MAXSEG handling into __mptcp_setsockopt_set_val

Geliang Tang <[email protected]> Mon, 27 Jul 2026 14:39:36 +0800
Newsgroups dev.linux.lists.mptcp
Message-ID <[email protected]>
On Mon, 2026-07-27 at 10:28 +0800, Gang Yan wrote:
> From: Gang Yan <[email protected]>
> 
> mptcp_setsockopt_all_sf is only used in 'TCP_MAXSEG', and it can be
> replaced with __mptcp_setsockopt_set_val.
> 
> Signed-off-by: Gang Yan <[email protected]>
> ---
>  net/ipv4/tcp.c      | 1 +
>  net/mptcp/sockopt.c | 5 ++---
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
> index b427f924608c..5915d0e62f43 100644
> --- a/net/ipv4/tcp.c
> +++ b/net/ipv4/tcp.c
> @@ -3830,6 +3830,7 @@ int tcp_sock_set_maxseg(struct sock *sk, int
> val)
>  	WRITE_ONCE(tcp_sk(sk)->rx_opt.user_mss, val);
>  	return 0;
>  }
> +EXPORT_SYMBOL(tcp_sock_set_maxseg);
>  
>  /*
>   *	Socket option code for TCP.
> diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c
> index 9c4faa0d82ef..a7d4135757e7 100644
> --- a/net/mptcp/sockopt.c
> +++ b/net/mptcp/sockopt.c
> @@ -889,9 +889,8 @@ static int mptcp_setsockopt_sol_tcp(struct
> mptcp_sock *msk, int optname,
>  						 val);
>  		break;
>  	case TCP_MAXSEG:
> -		msk->maxseg = val;
> -		ret = mptcp_setsockopt_all_sf(msk, SOL_TCP, optname,
> optval,
> -					      optlen);
> +		ret = __mptcp_setsockopt_set_val(msk,
> &tcp_sock_set_maxseg,
> +						 &msk->maxseg, val);

So, here you do need to pass in MAX_TCP_MAXSEG, and you need to
consider what would be a reasonable value to define it as.

>  		break;
>  	default:
>  		ret = -ENOPROTOOPT;