From nobody Thu Oct 2 07:43:34 2025 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 B1E8030F52C; Fri, 19 Sep 2025 12:09:20 +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=1758283760; cv=none; b=pkzHKaiorDTd2sVypRlL6lFTyY7RCMSnlD5W8HiLf5LFSgypGaj6umlWJHyHX/0VQzbKomQ8KxOSV4OJtRerLK30W5mcC/BWASSRMXrnyeU3HEbo5PFno/UO3K7buJhM71NPU+2vwEHnyzIRgT8ctckvvj1pnaNhM7RXQnSXv74= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758283760; c=relaxed/simple; bh=C7KH3nGZjrEFxiXY5Osx6VSIL1Vign90Blv73Svnv9g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=n2iKZPHGHrFJdc9YaVIuNdmSVQkLc8t7WyTWRO/gBZQbPpN1r/8pGccuZCrFkL0vfavQ6BomBuTtPQJ0LUMpF+pL9NaA3IR7doMl/yXr4vVZz7UfE54Ls2gabLqarozjgOIpgkN47nTwilFdqKUuI4F/nIplaWO/NjZDNOKD/pM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TecuJnM5; 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="TecuJnM5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B18A0C4CEF1; Fri, 19 Sep 2025 12:09:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1758283760; bh=C7KH3nGZjrEFxiXY5Osx6VSIL1Vign90Blv73Svnv9g=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=TecuJnM5wjBWCQvwn9JZdFUTA4f+XyPVhOzm9bJGOPWE7lm9E+8039JmHKNU1GWW9 behtnVkD/5nOpHryoeMjGtMDmHVDxDLOPxUYXw4qPJus5TiJwacXRMu4gxgZi+OspY bXcba27jo5JsU57ybIlAUGuSNhZy/cP0UwQiYhBoNUCZQ7JK+xrtU8hYPyoFhuZWDF m58naIpw8iPdWk5kTaOlgATcj8z4Xw0Vsp4c0wmhK5UzeQmTny5Gqpdr9uQl6H3+nB k79upv+n2R0LREnI1mBoxjkiQEQt0oAYAO3HqbbWbjAtDjquGquh3N4BaMxHG1dfLh +M0NpwAyAKvKA== From: "Matthieu Baerts (NGI0)" Date: Fri, 19 Sep 2025 14:08:58 +0200 Subject: [PATCH net-next 1/6] mptcp: pm: netlink: only add server-side attr when true Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250919-net-next-mptcp-server-side-flag-v1-1-a97a5d561a8b@kernel.org> References: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> In-Reply-To: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> To: Mat Martineau , Geliang Tang , Donald Hunter , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , Simon Horman , Shuah Khan Cc: netdev@vger.kernel.org, mptcp@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "Matthieu Baerts (NGI0)" X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4137; i=matttbe@kernel.org; h=from:subject:message-id; bh=C7KH3nGZjrEFxiXY5Osx6VSIL1Vign90Blv73Svnv9g=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDLOuj8OXqD++1DtpsQfdgm1Ny//794vocNSxmaVe4ufW WqB141bHaUsDGJcDLJiiizSbZH5M59X8ZZ4+VnAzGFlAhnCwMUpABNZ/ZaRYbH+fs7WY7Z2dasu rvS3/J7q/qrt10q1uhlXPia6LFqm/JWRYc7KO63dTF8WRm0Oq/4jFm3ybWf1qbd7Y79dc+fas4Z pATcA X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 This attribute is a boolean. No need to add it to set it to 'false'. Indeed, the default value when this attribute is not set is naturally 'false'. A few bytes can then be saved by not adding this attribute if the connection is not on the server side. This prepares the future deprecation of its attribute, in favour of a new flag. Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) --- Documentation/netlink/specs/mptcp_pm.yaml | 4 ++-- include/uapi/linux/mptcp_pm.h | 4 ++-- net/mptcp/pm_netlink.c | 4 +++- tools/testing/selftests/net/mptcp/userspace_pm.sh | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Documentation/netlink/specs/mptcp_pm.yaml b/Documentation/netl= ink/specs/mptcp_pm.yaml index d1b4829b580ad09baf4afd73b67abd7b4ef6883a..fc47a2931014c0304efd3215cc2= 4485ea22e1ede 100644 --- a/Documentation/netlink/specs/mptcp_pm.yaml +++ b/Documentation/netlink/specs/mptcp_pm.yaml @@ -28,13 +28,13 @@ definitions: traffic-patterns it can take a long time until the MPTCP_EVENT_ESTABLISHED is sent. Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, spo= rt, - dport, server-side, [flags]. + dport, [server-side], [flags]. - name: established doc: >- A MPTCP connection is established (can start new subflows). Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, spo= rt, - dport, server-side, [flags]. + dport, [server-side], [flags]. - name: closed doc: >- diff --git a/include/uapi/linux/mptcp_pm.h b/include/uapi/linux/mptcp_pm.h index 7359d34da446b94be148b363079120db03ba8549..bf44a5cf5b5a1e6d789632682a9= bedbf8090feb9 100644 --- a/include/uapi/linux/mptcp_pm.h +++ b/include/uapi/linux/mptcp_pm.h @@ -16,10 +16,10 @@ * good time to allocate memory and send ADD_ADDR if needed. Depending o= n the * traffic-patterns it can take a long time until the MPTCP_EVENT_ESTABL= ISHED * is sent. Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, - * sport, dport, server-side, [flags]. + * sport, dport, [server-side], [flags]. * @MPTCP_EVENT_ESTABLISHED: A MPTCP connection is established (can start = new * subflows). Attributes: token, family, saddr4 | saddr6, daddr4 | daddr= 6, - * sport, dport, server-side, [flags]. + * sport, dport, [server-side], [flags]. * @MPTCP_EVENT_CLOSED: A MPTCP connection has stopped. Attribute: token. * @MPTCP_EVENT_ANNOUNCED: A new address has been announced by the peer. * Attributes: token, rem_id, family, daddr4 | daddr6 [, dport]. diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 483ddbb9ec406a3e965376ee5a833ae295896a02..33a6bf536c020b59717472aca2d= 38add26255419 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -413,7 +413,9 @@ static int mptcp_event_created(struct sk_buff *skb, if (err) return err; =20 - if (nla_put_u8(skb, MPTCP_ATTR_SERVER_SIDE, READ_ONCE(msk->pm.server_side= ))) + /* only set when it is the server side */ + if (READ_ONCE(msk->pm.server_side) && + nla_put_u8(skb, MPTCP_ATTR_SERVER_SIDE, 1)) return -EMSGSIZE; =20 if (READ_ONCE(msk->pm.remote_deny_join_id0)) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 3d45991f24ede919264185e3b5c2a3b95c1dcc85..87323942cb8a0779717e6c0cb6b= e46314d303d26 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -241,7 +241,7 @@ make_connection() =20 print_test "Established IP${is_v6} MPTCP Connection ns2 =3D> ns1" if [ "${client_token}" !=3D "" ] && [ "${server_token}" !=3D "" ] && - [ "${client_serverside}" =3D 0 ] && [ "${server_serverside}" =3D 1 ] && + [ "${client_serverside:-0}" =3D 0 ] && [ "${server_serverside:-0}" =3D= 1 ] && [ "${client_nojoin:-0}" =3D 0 ] && [ "${server_nojoin:-0}" =3D 1 ] then test_pass --=20 2.51.0 From nobody Thu Oct 2 07:43:34 2025 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 642CA2F291B; Fri, 19 Sep 2025 12:09:23 +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=1758283763; cv=none; b=O/XopHgIq9c4sV2gq3vcA4y1hFUSm6fH/8s1tC4UYKQpDrescjI82XqdPyfszB6sdMn5VL1ExIlm1AGMOseHMbwAJb1TNmkaTKwMYj72fSTxbgz3hebv2byZ/bxsPuzQuof/3TEfZFVPacA7FS9jMhwEo8w10dmgrOvNA2us2uA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758283763; c=relaxed/simple; bh=H7NObkyvfcoRPyXEgtV/Spg1ML0gmYh6Vd5VqF7DHyI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=S6W5icq0oWwczPFgJv+xtUretFQ1bX0tqjRn8icpZwDEx0IjNYuMbmgejuudZp3OhTf9tdjz3p5irpqZzfx4p6Dy9Xn9n0GFkTC1IJtI21dgm01/dzBygimPkWOAaZsMo/BNLxndHzWEaOMkk/P6l/SpBF3vxuekz8IqUWoFzPU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DTIreopD; 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="DTIreopD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8898EC4CEF0; Fri, 19 Sep 2025 12:09:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1758283763; bh=H7NObkyvfcoRPyXEgtV/Spg1ML0gmYh6Vd5VqF7DHyI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=DTIreopDXJ8BA0hQovsnOKIhfNqPqJ/s1fX1ngTKmf3sNNx5Jif/UvrhLyehs/KIt 23TU8CdII8gF28NQzHrfV2pOs+QWy5SmdFQsL5ztJIWa/X7Pkpa0G708fUdmYdeLkl xK4Usu6YEAVmTbBVE0pKlanFqUHSw5C58CGkai49bMaEQKVQ3ISiBxc88gf661Mlu+ 6Y9dv+JQaq1DaLUn9gK+es3ZFi2mTky3BdphFHyQ6yzvn+YuOEd3/e3O6t1Wss5rJw Uxv43XIY/uxAQqz6cu1UwwT8kkeXf2lunTmOM7CGtoL0TnP2kfZZf3SSgniz4Bxkqx g3zCABi8LRCvw== From: "Matthieu Baerts (NGI0)" Date: Fri, 19 Sep 2025 14:08:59 +0200 Subject: [PATCH net-next 2/6] mptcp: pm: netlink: announce server-side flag Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250919-net-next-mptcp-server-side-flag-v1-2-a97a5d561a8b@kernel.org> References: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> In-Reply-To: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> To: Mat Martineau , Geliang Tang , Donald Hunter , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , Simon Horman , Shuah Khan Cc: netdev@vger.kernel.org, mptcp@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "Matthieu Baerts (NGI0)" X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1878; i=matttbe@kernel.org; h=from:subject:message-id; bh=H7NObkyvfcoRPyXEgtV/Spg1ML0gmYh6Vd5VqF7DHyI=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDLOuj/JiIn1VhH1KZobvUZwyQkz44JzBr8fHHDV2/Zk+ 3Z5rgctHaUsDGJcDLJiiizSbZH5M59X8ZZ4+VnAzGFlAhnCwMUpABNZ+JCR4c37jxeM2mcu810m xL9Hsv71afsJTRaV/Wa3DCqnmy9MqGBkaF27cZpa84/LRwokZgYdvXp3gvelAolZK848ZJkT4N4 hywAA X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Now that the 'flags' attribute is used, it seems interesting to add one flag for 'server-side', a boolean value. This is duplicating the info from the dedicated 'server-side' attribute, but it will be deprecated in the next commit, and removed in a few versions. Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) --- include/uapi/linux/mptcp.h | 1 + net/mptcp/pm_netlink.c | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h index 5fd5b4cf75ca1e0099e0effa351507d3ab002f1e..95d621f6d59810126cbc37b1d6b= af896a40dd9bc 100644 --- a/include/uapi/linux/mptcp.h +++ b/include/uapi/linux/mptcp.h @@ -32,6 +32,7 @@ #define MPTCP_INFO_FLAG_REMOTE_KEY_RECEIVED _BITUL(1) =20 #define MPTCP_PM_EV_FLAG_DENY_JOIN_ID0 _BITUL(0) +#define MPTCP_PM_EV_FLAG_SERVER_SIDE _BITUL(1) =20 #define MPTCP_PM_ADDR_FLAG_SIGNAL (1 << 0) #define MPTCP_PM_ADDR_FLAG_SUBFLOW (1 << 1) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 33a6bf536c020b59717472aca2d38add26255419..aa0c73faaa6acad3fd66ea09427= 26ecd4d0abcc0 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -413,10 +413,13 @@ static int mptcp_event_created(struct sk_buff *skb, if (err) return err; =20 - /* only set when it is the server side */ - if (READ_ONCE(msk->pm.server_side) && - nla_put_u8(skb, MPTCP_ATTR_SERVER_SIDE, 1)) - return -EMSGSIZE; + if (READ_ONCE(msk->pm.server_side)) { + flags |=3D MPTCP_PM_EV_FLAG_SERVER_SIDE; + + /* only set when it is the server side */ + if (nla_put_u8(skb, MPTCP_ATTR_SERVER_SIDE, 1)) + return -EMSGSIZE; + } =20 if (READ_ONCE(msk->pm.remote_deny_join_id0)) flags |=3D MPTCP_PM_EV_FLAG_DENY_JOIN_ID0; --=20 2.51.0 From nobody Thu Oct 2 07:43:34 2025 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 40F8D30FC1E; Fri, 19 Sep 2025 12:09:25 +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=1758283766; cv=none; b=bEeQMwq5Sqp/ehomt+fnbXck7xscpCbKZODnVIoa7z4bukdpAbHZQ+5jMG4VG300eaZckuBcHhqzCmKBWoql05q5uwC+HRIxRrbCzVfalFytJRn8f6J+IQv3sUxY/fF+oSyrygpWjRy3W73J58CNttlnTnTWP1eFdkD6jYs/NQg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758283766; c=relaxed/simple; bh=cOC4ACMpttzSGbbpqXDXgZXuredZmIIfxtg1D195peM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g0VXyfhOnSoS9OhjmuVisUlQQMC8TkkkrT2DCcehQqkeeWpegiXLUJXcxRwNxk9UolaxgFLM+XHrUJ4oY8am3SVjMG4Kl9AncfwjpbzxAGrXenLSw6AsOUtWZDRLipVy4jh9jbw/8mMSYklmaKKlkIw758a2Du96XwZ34miEKro= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uMaw+ETt; 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="uMaw+ETt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F61CC4CEF5; Fri, 19 Sep 2025 12:09:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1758283765; bh=cOC4ACMpttzSGbbpqXDXgZXuredZmIIfxtg1D195peM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=uMaw+ETtuJjs1h8NTkI3IXd4fhEEF36P6+nTqthhJPuwebZeibMmFn6OJmOEXMEUr 1iQ5STMFigTNZ6DJlStynH4+uQBGc3FjKgGXTzEWQ88doWww/zCKrPmvOSz/AyT9KM RhiB3rbTPJc8DQxqWcJY58Dox3Yzz+smgZq8WfWDPhCGiCAIMxFbc9P7baVmWPkdse NBOEDIZkoz/EXNinEPcyHVC4sIs4Z2+YV8P8ZMbHrbifOwpulAAMflWQTNUV+dR/en AWkbBa9WoRQYKA9lmzoW7xMwUlpLgJ7kKTViycDINKY7AY+GlVcQ+/JnsCuaEkZFme kCJ2+TYlKGueA== From: "Matthieu Baerts (NGI0)" Date: Fri, 19 Sep 2025 14:09:00 +0200 Subject: [PATCH net-next 3/6] mptcp: pm: netlink: deprecate server-side attribute Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250919-net-next-mptcp-server-side-flag-v1-3-a97a5d561a8b@kernel.org> References: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> In-Reply-To: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> To: Mat Martineau , Geliang Tang , Donald Hunter , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , Simon Horman , Shuah Khan Cc: netdev@vger.kernel.org, mptcp@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "Matthieu Baerts (NGI0)" X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1461; i=matttbe@kernel.org; h=from:subject:message-id; bh=cOC4ACMpttzSGbbpqXDXgZXuredZmIIfxtg1D195peM=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDLOuj/bu8ulS+PjkvrWzOCVVX+sFBeJHlATnmJtpvJ0v 233+sWfO0pZGMS4GGTFFFmk2yLzZz6v4i3x8rOAmcPKBDKEgYtTACZyay7DT8aTT64b7J/6Y7fq vySz21kP07cuqjpw88ztyTODFP3mJTxh+CuX17RKr9dw9RZZifqGt/Uxbhzqt7huPbLi9X8i/W/ ZOgYA X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Now that such info is in the 'flags' attribute, it is time to deprecate the dedicated 'server-side' attribute. It will be removed in a few versions. Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) --- Documentation/netlink/specs/mptcp_pm.yaml | 1 + net/mptcp/pm_netlink.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/netlink/specs/mptcp_pm.yaml b/Documentation/netl= ink/specs/mptcp_pm.yaml index fc47a2931014c0304efd3215cc24485ea22e1ede..ba30a40b9dbf2d2d4f25cc07b30= 9ea560712f65e 100644 --- a/Documentation/netlink/specs/mptcp_pm.yaml +++ b/Documentation/netlink/specs/mptcp_pm.yaml @@ -266,6 +266,7 @@ attribute-sets: - name: server-side type: u8 + doc: "Deprecated: use 'flags'" =20 operations: list: diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index aa0c73faaa6acad3fd66ea0942726ecd4d0abcc0..d5b383870f79956ce5e10bf3846= 95621604f3ce9 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -416,7 +416,7 @@ static int mptcp_event_created(struct sk_buff *skb, if (READ_ONCE(msk->pm.server_side)) { flags |=3D MPTCP_PM_EV_FLAG_SERVER_SIDE; =20 - /* only set when it is the server side */ + /* Deprecated, and only set when it is the server side */ if (nla_put_u8(skb, MPTCP_ATTR_SERVER_SIDE, 1)) return -EMSGSIZE; } --=20 2.51.0 From nobody Thu Oct 2 07:43:34 2025 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 162FF3101A3; Fri, 19 Sep 2025 12:09:28 +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=1758283769; cv=none; b=pFVlQrGX/ZziYNDlhVWToco+d3W+Mg/pCgUuyYltMAxrsXoi20gFzStGDra66n6mNZLHIjeEbmVYnrUX26jsoHF/ha8TantU7E1EiLhyLjipObn3F+p5xuF9oKyu40JvTTY/ADfYzVjw1W1dQXQgv3JUMZt+gBJD3jB0S0phAdU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758283769; c=relaxed/simple; bh=oDLvnTwLCa3sWaxsvqNmO3APT6MP7ApIhxWpZvrDDc0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V7S27sS/a4Q04rH7tKXqB1lTGT+jGVVnB6awe/btXO03ZnCqdM4lBWrqsXlpkbXLZAjd9eMG2ogBBqvBEMIW9/CC6VSsUHqRolJtHVAJpAm0fEg4i3+CONwclA8nh9KyViWmfA/HfePX4gQMkCYA000hoHrOxmkLQbKgPklNjZM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BkX92YNz; 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="BkX92YNz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36584C4CEF0; Fri, 19 Sep 2025 12:09:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1758283768; bh=oDLvnTwLCa3sWaxsvqNmO3APT6MP7ApIhxWpZvrDDc0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=BkX92YNzz9PAL+XNTyA4VjjI1apiGSWGsmk8LKMpwuxjJ37iFmPNlnZvkonaAF1eG BddS6qFA/M+zr1GJWe3+MpFvZoAD2bSkQZUIY8j3lhEGWJYa5JnZDbHB7sGJ0QOAyQ v9XXF4qxGpLoo1wZRyFFtDRWOFK1P043AYU27aTridoK6rzG5tiov+iMC4qV7mJbml 9fLOKlFovqpmFKm0a7l9+ChV28AbpGr0l75+KMunFnkJ2LNEIkFnmAF90jYeTyjzI9 RGeqcT+m/zfoATgCJRpEWYkkjW9dhaD/e93wOZY3h5xcY8jWZe204GFnm/jr1LCn/o qKTk6yU986RDQ== From: "Matthieu Baerts (NGI0)" Date: Fri, 19 Sep 2025 14:09:01 +0200 Subject: [PATCH net-next 4/6] selftests: mptcp: pm: get server-side flag Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250919-net-next-mptcp-server-side-flag-v1-4-a97a5d561a8b@kernel.org> References: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> In-Reply-To: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> To: Mat Martineau , Geliang Tang , Donald Hunter , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , Simon Horman , Shuah Khan Cc: netdev@vger.kernel.org, mptcp@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "Matthieu Baerts (NGI0)" X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2116; i=matttbe@kernel.org; h=from:subject:message-id; bh=oDLvnTwLCa3sWaxsvqNmO3APT6MP7ApIhxWpZvrDDc0=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDLOuj83PDWtYa5sR/pEnZcHVe9NmhN95d+7TZJuEspz/ hse2HB4akcpC4MYF4OsmCKLdFtk/sznVbwlXn4WMHNYmUCGMHBxCsBEtO8x/GYNfs2d3Nd1SDKx 9yrDo3hBa0WdHXvY8+3vb5He8/Hov0RGhgablAN3lhyyki60OviS4fons745U5dvuSR3sX+CvJD 7LE4A X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 server-side info linked to the MPTCP connect/established events can now come from the flags, in addition to the dedicated attribute. The attribute is now deprecated -- in favour of the new flag, and will be removed later on. Print this info only once. Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) --- tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/testing/= selftests/net/mptcp/pm_nl_ctl.c index 93fea3442216c8fef43731a99c1d5710f234b150..d4981b76693bbddca74169437a5= 40ad6294cf1d5 100644 --- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c +++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c @@ -2,6 +2,7 @@ =20 #include #include +#include #include #include #include @@ -113,6 +114,8 @@ static int capture_events(int fd, int event_group) error(1, errno, "could not join the " MPTCP_PM_EV_GRP_NAME " mcast group= "); =20 do { + bool server_side =3D false; + FD_ZERO(&rfds); FD_SET(fd, &rfds); res_len =3D NLMSG_ALIGN(sizeof(struct nlmsghdr)) + @@ -187,18 +190,22 @@ static int capture_events(int fd, int event_group) else if (attrs->rta_type =3D=3D MPTCP_ATTR_ERROR) fprintf(stderr, ",error:%u", *(__u8 *)RTA_DATA(attrs)); else if (attrs->rta_type =3D=3D MPTCP_ATTR_SERVER_SIDE) - fprintf(stderr, ",server_side:%u", *(__u8 *)RTA_DATA(attrs)); + server_side =3D !!*(__u8 *)RTA_DATA(attrs); else if (attrs->rta_type =3D=3D MPTCP_ATTR_FLAGS) { __u16 flags =3D *(__u16 *)RTA_DATA(attrs); =20 /* only print when present, easier */ if (flags & MPTCP_PM_EV_FLAG_DENY_JOIN_ID0) fprintf(stderr, ",deny_join_id0:1"); + if (flags & MPTCP_PM_EV_FLAG_SERVER_SIDE) + server_side =3D true; } =20 attrs =3D RTA_NEXT(attrs, msg_len); } } + if (server_side) + fprintf(stderr, ",server_side:1"); fprintf(stderr, "\n"); } while (1); =20 --=20 2.51.0 From nobody Thu Oct 2 07:43:34 2025 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 E38F030E84D; Fri, 19 Sep 2025 12:09:31 +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=1758283773; cv=none; b=YEbLC6jM4oCeb40CZ0SQwfnkkKNY99OkkxI1VcQqGjxmrcGrcT4u2eiXtgbysWuWAnMJ7Dxh4nbd/srp41OWavTmXxhyLn2KOnQ/kplTLFDUnwImn+SfRxgD5YMGVezEARL4ns6yrFSOG+FUh5CjPvmgbz3WgtQgyYmUqLLk/us= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758283773; c=relaxed/simple; bh=S8agwRjUryD5J3lYuJKTawceF/AlQ9JPXlcvHILCP+I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Dar78lkbJTXVxBNYvvHidIZDE2juckH5rh9lJ0mNzikETBUBU6muF1VQ6SfsHcpGYwHSnsZkTvZfPeveXSUwIeEyI4mLjhcL1kd0ovBSyKd1Ku4I2SzmOzh8CaAka/aaRHaZUBSoJpgG/b23buo9troTR6PPneX4EJtJSUZSMHw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=W7200veW; 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="W7200veW" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0D2B0C4CEF9; Fri, 19 Sep 2025 12:09:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1758283771; bh=S8agwRjUryD5J3lYuJKTawceF/AlQ9JPXlcvHILCP+I=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=W7200veWH/m73TiX7Po9uHXWUykRS11TML4/QQ3V188CTnJ+y7OyGdcNo+JrlurvP lfBs5qH2AO81/s2IW1X8WxAqibr+0Mx9EWu/vHQLmaVzIsw6ulmDzyYoLe2bwKCB0q EJMKkAejzf7mUpHwG/CJtashrCtBj/lfCVAC/JMKUc5dKfOmfw7kGWp2TE+xCb4RBN KsCsGo/VlabXCrMxoiHILICmfJOjeJYeVQ2KSh/nMjq9toqAyBNc2Q+CcEDiJLAvw2 9gK3ZZvo5RHpzceii9wY6yYqhAEp4ll01LwVjX5gMe6y2vBBTvJSx48HVFjuvxWneN W4X+tapC3xd+Q== From: "Matthieu Baerts (NGI0)" Date: Fri, 19 Sep 2025 14:09:02 +0200 Subject: [PATCH net-next 5/6] mptcp: use _BITUL() instead of (1 << x) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250919-net-next-mptcp-server-side-flag-v1-5-a97a5d561a8b@kernel.org> References: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> In-Reply-To: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> To: Mat Martineau , Geliang Tang , Donald Hunter , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , Simon Horman , Shuah Khan Cc: netdev@vger.kernel.org, mptcp@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "Matthieu Baerts (NGI0)" X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1348; i=matttbe@kernel.org; h=from:subject:message-id; bh=S8agwRjUryD5J3lYuJKTawceF/AlQ9JPXlcvHILCP+I=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDLOur+45nfmjq6jbPFzIZHah7+L5z6eY/KLSTitfP7xM i47DsnTHaUsDGJcDLJiiizSbZH5M59X8ZZ4+VnAzGFlAhnCwMUpABMpjWFkmJ1wNfzsDsnPl4yn RiSVJTPUnp5TNplF8OjHqjjl2qjJ3Ay/2W6m/P+17aGxoKW4imvE3GWlLZ8vTpzQqTpj374XTak VbAA= X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Simply to use the proper way to declare bits, and to align with all other flags declared in this file. No functional changes intended. Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) --- include/uapi/linux/mptcp.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h index 95d621f6d59810126cbc37b1d6baf896a40dd9bc..15eef878690b8556af21be8d959= b6a2c9fe617d3 100644 --- a/include/uapi/linux/mptcp.h +++ b/include/uapi/linux/mptcp.h @@ -34,11 +34,11 @@ #define MPTCP_PM_EV_FLAG_DENY_JOIN_ID0 _BITUL(0) #define MPTCP_PM_EV_FLAG_SERVER_SIDE _BITUL(1) =20 -#define MPTCP_PM_ADDR_FLAG_SIGNAL (1 << 0) -#define MPTCP_PM_ADDR_FLAG_SUBFLOW (1 << 1) -#define MPTCP_PM_ADDR_FLAG_BACKUP (1 << 2) -#define MPTCP_PM_ADDR_FLAG_FULLMESH (1 << 3) -#define MPTCP_PM_ADDR_FLAG_IMPLICIT (1 << 4) +#define MPTCP_PM_ADDR_FLAG_SIGNAL _BITUL(0) +#define MPTCP_PM_ADDR_FLAG_SUBFLOW _BITUL(1) +#define MPTCP_PM_ADDR_FLAG_BACKUP _BITUL(2) +#define MPTCP_PM_ADDR_FLAG_FULLMESH _BITUL(3) +#define MPTCP_PM_ADDR_FLAG_IMPLICIT _BITUL(4) =20 struct mptcp_info { __u8 mptcpi_subflows; --=20 2.51.0 From nobody Thu Oct 2 07:43:34 2025 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 AEB1A3112B4; Fri, 19 Sep 2025 12:09:34 +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=1758283774; cv=none; b=fkSgm8zlxupcMSDNI2u95VaktAYm1x/zmTtIkMYCft/KI4veIv9/Jqt96aSrHU00Vi7qyh3eAanhrAcZ0hTr/y45ZtQeDECZISZLwTEWJiWXji0ugxo9zfXq1PWfw8socl/y6jCj/jbxN4EEeC/lTwX1/KtpwZHNRyVty88H74Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758283774; c=relaxed/simple; bh=VEFdLyXaaEcCsg1hodeJ9zVfvHkzQkxNGmndJdo92hY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gXxvV5choTi1vZNVhA8L/LtPDhtHN5E9PH3YHx6s/EEZ09zPeCzwYWQdGIK6JxgXT1r7Vq9AqFUTZrJnV3iNmMyUkK0ydBaKLyOTbpnyBFar4k2E4kr6PaVPjCiY3L2Jcz2lI02y3JdVLmR0LBAhl4iapsJmXmQLgN7p0YPk1mY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=j8Uptx72; 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="j8Uptx72" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D8636C4CEF0; Fri, 19 Sep 2025 12:09:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1758283774; bh=VEFdLyXaaEcCsg1hodeJ9zVfvHkzQkxNGmndJdo92hY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=j8Uptx72Xu4CP4JM/5upxQvtf5gq5kX9FXELtlFdovw3sR69XywHKGzzw+2u7DTHm BJmlWvQ8gPIbY02AiOXtYk8SHy+94+LV/lY3ap+mHYKkweCDcqIJqZHvc+wy/vhM1L NRxV+r+YqbmK1H7FZwudURMJptO8ZrUFJWdiLQr0Y2ss0T+cWbJG/cOJxXxAWJA9i6 vkJUjUms43FFOxlKPA5DcunpIXn9yfMoX31yT5mKtpPUYyC+6015r76AYR/vCjvibP Gda1SiuK/a4k5DrHI4pRxRyV79j8z2G7y294wnhe9BrjUaq5Vkw1lGpUfJsK9Z4GFh dt9HRiTmGCvBg== From: "Matthieu Baerts (NGI0)" Date: Fri, 19 Sep 2025 14:09:03 +0200 Subject: [PATCH net-next 6/6] mptcp: remove unused returned value of check_data_fin Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250919-net-next-mptcp-server-side-flag-v1-6-a97a5d561a8b@kernel.org> References: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> In-Reply-To: <20250919-net-next-mptcp-server-side-flag-v1-0-a97a5d561a8b@kernel.org> To: Mat Martineau , Geliang Tang , Donald Hunter , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , Simon Horman , Shuah Khan Cc: netdev@vger.kernel.org, mptcp@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "Matthieu Baerts (NGI0)" X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1514; i=matttbe@kernel.org; h=from:subject:message-id; bh=VEFdLyXaaEcCsg1hodeJ9zVfvHkzQkxNGmndJdo92hY=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDLOur9q9d++k/HjT5PlR4rT3KWdCier9TCX/Xu1e6fH3 DXzUkTKO0pZGMS4GGTFFFmk2yLzZz6v4i3x8rOAmcPKBDKEgYtTACZi48jwv1jyne7H1sduIgcu au79s1tz+6NX9vPC2s7kG/1qPmf9eTMjw5rnfKsPlBctW3yf7coH81mWrpq2Rmt+3V159P0k3b3 u7xkB X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 When working on a fix modifying mptcp_check_data_fin(), I noticed the returned value was no longer used. It looks like it was used for 3 days, between commit 7ed90803a213 ("mptcp: send explicit ack on delayed ack_seq incr") and commit ea4ca586b16f ("mptcp: refine MPTCP-level ack scheduling"). This returned value can be safely removed. Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) --- net/mptcp/protocol.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index d9fbddb99ad0fb53f160af7654433a12c609ee25..735a209d40725f077de1056de5e= 1c64ffec77f55 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -545,11 +545,10 @@ static void mptcp_cleanup_rbuf(struct mptcp_sock *msk= , int copied) } } =20 -static bool mptcp_check_data_fin(struct sock *sk) +static void mptcp_check_data_fin(struct sock *sk) { struct mptcp_sock *msk =3D mptcp_sk(sk); u64 rcv_data_fin_seq; - bool ret =3D false; =20 /* Need to ack a DATA_FIN received from a peer while this side * of the connection is in ESTABLISHED, FIN_WAIT1, or FIN_WAIT2. @@ -588,12 +587,10 @@ static bool mptcp_check_data_fin(struct sock *sk) break; } =20 - ret =3D true; if (!__mptcp_check_fallback(msk)) mptcp_send_ack(msk); mptcp_close_wake_up(sk); } - return ret; } =20 static void mptcp_dss_corruption(struct mptcp_sock *msk, struct sock *ssk) --=20 2.51.0