From nobody Sun Feb 8 11:33:53 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B4391D8DFB for ; Thu, 7 Aug 2025 02:44:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754534681; cv=none; b=gGt43yiUsE6o03gTq3brD1ZIJ8pKoeu+CPzgyJ1X2FO4LN7KE+yLOo1+ZsbrAg2AWGdfhBqiFJyNsxOQ2HmxiM0U7MRw3VWtEFjbvvJOM7PZYWdtIxfP/Ynz6RU1C6g5kSiXidOhAq8XgYImJ8rS8p/8SyaqrMMPgNQVcrsY5Wo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754534681; c=relaxed/simple; bh=/2mIlQQmRDBdBjg1Yl78VrOSsbXHGXUPtw1utb7e74c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GXXZBoC0ecW4s4Jjd2Zdz20ivH37UAH1xDewRiQXWk428mLPtw8JsBaQRKXTcIThKriUccnJC8ZlC+9J6V7PgOn/Qf7js2X1LlUW7aBKi6XWwZGTSev/4+lp9hQb8eYscOYISI3ZNfYStdeotZrEeJDITTA81WDpjqPnvsEL+HE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mn9kznTy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mn9kznTy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B80CEC4CEF6; Thu, 7 Aug 2025 02:44:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754534678; bh=/2mIlQQmRDBdBjg1Yl78VrOSsbXHGXUPtw1utb7e74c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mn9kznTyzYQm8w8dipwGLoo5j+03KsPlSUZ4lTWBQWTfFNX78xEuIJeWTZr9YjzMG a5qMM2eXqqXmsZSAlhJ6s9KDx0uO9I7Xjjtj2DZ2A/AAj8gruJiTmFFwLRCUaggSxN PO0mKGnjGrZ3ByJ6IQdxo57vQSs4OKCtTPwH0+MW7iLvutNBWEfuLnuAveXFdui9bk rAqlg/sQSAJJP5OwDKVeWj+akHo2WBsAYZhA4G2+IOJ79Z+iHFgQokkFofU3Wl3YZI JgENjK+Lrkff535So5KVdgQNUFQvoVDjjIiV2hcMDWi1prM4S8YmohJT0x/y4cVCel ey3kmfTbbV3Rg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-net v2 1/3] mptcp: remove duplicate sk_reset_timer call Date: Thu, 7 Aug 2025 10:44:23 +0800 Message-ID: <00ec85a29c5efced0aca8c260856a44ffbc83b5e.1754534416.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang sk_reset_timer() was called twice in mptcp_pm_alloc_anno_list. Simplify the code by using a 'goto' statement to eliminate the duplication. Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts (NGI0) --- net/mptcp/pm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 687dbb59d084..b66126692ac1 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -353,9 +353,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, if (WARN_ON_ONCE(mptcp_pm_is_kernel(msk))) return false; =20 - sk_reset_timer(sk, &add_entry->add_timer, - jiffies + mptcp_get_add_addr_timeout(net)); - return true; + goto reset_timer; } =20 add_entry =3D kmalloc(sizeof(*add_entry), GFP_ATOMIC); @@ -369,6 +367,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, add_entry->retrans_times =3D 0; =20 timer_setup(&add_entry->add_timer, mptcp_pm_add_timer, 0); +reset_timer: sk_reset_timer(sk, &add_entry->add_timer, jiffies + mptcp_get_add_addr_timeout(net)); =20 --=20 2.48.1 From nobody Sun Feb 8 11:33:53 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 77C5C1DB127 for ; Thu, 7 Aug 2025 02:44:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754534681; cv=none; b=Jv3ylK6VITzGOJRcY94MUFDc9d1A0n9Oy/TF43lGltEpIiDBtIGFXjjqagzqsG/RxTY3Dr3lDudVQUT/BLa0WQLtndM47xCkcy8ibi6sCZCscPw9V999L85ZPI3Luy0qug+xtcqoabqhkwxne0KyirY41+ktLmp3rShPiKkPe1c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754534681; c=relaxed/simple; bh=1y9Knd42iXPORm8/kCFx2TJXDTLBjqb/jWGBKuXKuP0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XJVqwe9m9Akfg2gMrTwNrv1VuDO8Pishr80rqHyOJkND3S6IKJker3y85uEX8TbwU+PQxqC9U4CV+VUf9UYYDfuzXYjNQyt1Czk+T2mHd8j0wFm7yCC11rDpw/F9UjaLAVOUj9pZklQcyvsHExaEngTfks+ZTKlcMKS4eSyFWaY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VUC/fFxL; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VUC/fFxL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 929DDC4CEE7; Thu, 7 Aug 2025 02:44:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754534681; bh=1y9Knd42iXPORm8/kCFx2TJXDTLBjqb/jWGBKuXKuP0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VUC/fFxLDe9VyyvVuZJho9doP81VKLibAgC9uUvQbApxAcFpThlQjo1jBaY2W2g+U PxqkXMQVzb7vKwWeqwVzZOX+qzsnuyfy4VG4JcuD/oPiz8F73DxplZaWd7kwThsOXF MV+PAMG4FIdueAMfmLkrg4UgyvvVx5fiQiqGFtgy+WWzNemI0Hn8AgSfr9tNsU4fPm wuYUcrZLLXmKlgZEpFb2vCr/32KCJuOgQTvqsZYS6xA/dz5LZwN7cEFBNIZrylsT5k To/PsK5ENuM/BUdasa+Ewifl7IyTyMnelvhgBmTYr+oGJEDEKwQheqTCt04kDozqRi L+2SRccHTyN1A== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Matthieu Baerts Subject: [PATCH mptcp-net v2 2/3] mptcp: disable add_addr retransmission when timeout is 0 Date: Thu, 7 Aug 2025 10:44:24 +0800 Message-ID: <359dae075f9bbc7dc30b395e870b8919d771fd60.1754534416.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang When add_addr_timeout was set to 0, this caused the ADD_ADDR to be retransmitted immediately, which looks like a buggy behaviour. Instead, interpret 0 as "no retransmissions needed". The documentation is updated to explicitly state that setting the timeout to 0 disables retransmission. Fixes: 93f323b9cccc ("mptcp: add a new sysctl add_addr_timeout") Suggested-by: Matthieu Baerts Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts (NGI0) --- Documentation/networking/mptcp-sysctl.rst | 2 ++ net/mptcp/pm.c | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Documentation/networking/mptcp-sysctl.rst b/Documentation/netw= orking/mptcp-sysctl.rst index 5bfab01eff5a..1683c139821e 100644 --- a/Documentation/networking/mptcp-sysctl.rst +++ b/Documentation/networking/mptcp-sysctl.rst @@ -12,6 +12,8 @@ add_addr_timeout - INTEGER (seconds) resent to an MPTCP peer that has not acknowledged a previous ADD_ADDR message. =20 + Do not retransmit if set to 0. + The default value matches TCP_RTO_MAX. This is a per-namespace sysctl. =20 diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index b66126692ac1..e6dcc5b62645 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -274,6 +274,7 @@ static void mptcp_pm_add_timer(struct timer_list *timer) add_timer); struct mptcp_sock *msk =3D entry->sock; struct sock *sk =3D (struct sock *)msk; + unsigned int timeout; =20 pr_debug("msk=3D%p\n", msk); =20 @@ -291,6 +292,10 @@ static void mptcp_pm_add_timer(struct timer_list *time= r) goto out; } =20 + timeout =3D mptcp_get_add_addr_timeout(sock_net(sk)); + if (!timeout) + goto out; + spin_lock_bh(&msk->pm.lock); =20 if (!mptcp_pm_should_add_signal_addr(msk)) { @@ -302,7 +307,7 @@ static void mptcp_pm_add_timer(struct timer_list *timer) =20 if (entry->retrans_times < ADD_ADDR_RETRANS_MAX) sk_reset_timer(sk, timer, - jiffies + mptcp_get_add_addr_timeout(sock_net(sk))); + jiffies + timeout); =20 spin_unlock_bh(&msk->pm.lock); =20 @@ -344,6 +349,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, struct mptcp_pm_add_entry *add_entry =3D NULL; struct sock *sk =3D (struct sock *)msk; struct net *net =3D sock_net(sk); + unsigned int timeout; =20 lockdep_assert_held(&msk->pm.lock); =20 @@ -368,8 +374,9 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, =20 timer_setup(&add_entry->add_timer, mptcp_pm_add_timer, 0); reset_timer: - sk_reset_timer(sk, &add_entry->add_timer, - jiffies + mptcp_get_add_addr_timeout(net)); + timeout =3D mptcp_get_add_addr_timeout(net); + if (timeout) + sk_reset_timer(sk, &add_entry->add_timer, jiffies + timeout); =20 return true; } --=20 2.48.1 From nobody Sun Feb 8 11:33:53 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D639199949 for ; Thu, 7 Aug 2025 02:44:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754534683; cv=none; b=R4BgAyWrV4Q3c9ovrP/LcL7F5PAxWyPBm08n06yNEP9O7Zxt9K7ebzBeYhh+L8jMt5wQdaJsHNCJVQ9sSjlGaeGl5ToMBj/49DeyZ8FWxJ8LE+hwp4gvb2oQfdZ7b6KQC4dXKInGs9wukuaofv25YKKAppBKSjajhiXGk0Fde2Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754534683; c=relaxed/simple; bh=dVuqUKvRkerANLS/FlgoByDVrCYfyG3jH+8pJQ2uOFM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PeWhEOszPkF6Qs/rBRPjpEL4x0cPpNLBLi63va1KXbv+EQCHNdts3kOEtzPbcr6782FuYb7BXz8nKlOTuQTuW4ZWUsdlLa+EFe6TOGwZ/SNU8/kpsq5qZCeHuYrD6XGSZ4OPDuxHCkov9V92Cru2sv5SB9iMBw30Ekx55sSx8Hk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Tr4NSNZB; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Tr4NSNZB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B85B8C4CEE7; Thu, 7 Aug 2025 02:44:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754534683; bh=dVuqUKvRkerANLS/FlgoByDVrCYfyG3jH+8pJQ2uOFM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Tr4NSNZBKqOpfHCXZCYztdKo/popN7VRVvrBMXPetbdt1EOLoOlroZ9Lk41F27kUB 2qgoDIsWgU1hEexPQk7apJ5tRtMy1GgL6Iii5F+An6SNsUqMxR6e9Syu1/G5bO7Ie8 EicTe+gUF9029cHwtc/+zmta5RYwvigNOoHw8Tgj+qDYCDRoMx7wi5S7U2A7M3B6Fs lI7BzvM1CT2XzU8+zKSyWS6sVX2LWFsKdL7nLYYqzLDkVhOVSMSPXB4XdStOk7907Z +138skcQNjDMAJQ++M1pOGGJM06Lft4zGsksmw3WnX/nYPwrSEHCRUm45WAuRsjV4v iupVRY4Cwh9ag== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Matthieu Baerts Subject: [PATCH mptcp-net v2 3/3] selftests: mptcp: disable add_addr retrans in endpoint_tests Date: Thu, 7 Aug 2025 10:44:25 +0800 Message-ID: <66f995a8ea524ccfd75528ac787b60b2de648024.1754534416.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang To prevent test instability in the "delete re-add signal" test caused by ADD_ADDR retransmissions, disable retransmissions for this test by setting net.mptcp.add_addr_timeout to 0. Suggested-by: Matthieu Baerts Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts (NGI0) --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index b8af65373b3a..82cae37d9c20 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3842,6 +3842,7 @@ endpoint_tests() # remove and re-add if reset_with_events "delete re-add signal" && mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then + ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=3D0 pm_nl_set_limits $ns1 0 3 pm_nl_set_limits $ns2 3 3 pm_nl_add_endpoint $ns1 10.0.2.1 id 1 flags signal --=20 2.48.1