Re: [PATCH mptcp-next v2 2/7] mptcp: take TCP_MAXSEG handling into __mptcp_setsockopt_set_val
Geliang Tang <[email protected]> Thu, 23 Jul 2026 09:10:01 +0800
| Newsgroups | dev.linux.lists.mptcp |
|---|---|
| Message-ID | <[email protected]> |
Hi Gang, On Tue, 2026-07-21 at 10:40 +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 | 27 ++------------------------- > 2 files changed, 3 insertions(+), 25 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..3e000436ab94 100644 > --- a/net/mptcp/sockopt.c > +++ b/net/mptcp/sockopt.c > @@ -808,28 +808,6 @@ static int mptcp_setsockopt_first_sf_only(struct > mptcp_sock *msk, int level, int > return ret; > } > > -static int mptcp_setsockopt_all_sf(struct mptcp_sock *msk, int > level, > - int optname, sockptr_t optval, > - unsigned int optlen) > -{ > - struct mptcp_subflow_context *subflow; > - int ret = 0; > - > - mptcp_for_each_subflow(msk, subflow) { > - struct sock *ssk = mptcp_subflow_tcp_sock(subflow); > - int err; > - > - err = tcp_setsockopt(ssk, level, optname, optval, > optlen); > - if (err < 0 && ret == 0) > - ret = err; > - } > - > - if (!ret) > - sockopt_seq_inc(msk); > - > - return ret; > -} This helper will also be used when implementing IPV6_TCLASS [1], so don't delete it for now. Let's wait until IPV6_TCLASS is merged before posting this patch. Thanks, -Geliang [1] https://patchwork.kernel.org/project/mptcp/patch/2617b8684039574734b8622936ef126d6a7cd519.1754986785.git.tanggeliang@kylinos.cn/ > - > static int mptcp_setsockopt_sol_tcp(struct mptcp_sock *msk, int > optname, > sockptr_t optval, unsigned int > optlen) > { > @@ -889,9 +867,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); > break; > default: > ret = -ENOPROTOOPT;