From nobody Tue May 6 18:17:36 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 3AB99212D6F for <mptcp@lists.linux.dev>; Wed, 22 Jan 2025 13:55:55 +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=1737554156; cv=none; b=i7aYU4pfO+ty8Ao2anW0UqsqQdoKKRtrJRYCY7U5f762Sw1s3lZ09g5uBowONyXBpp31bTnZGDJfCEDgGz8qImv2k9/aV8mORD7VNPUUSLEr06JAxFxBpQdmpywH0RXQ139unHHwSiobz1bI15Aq0Gd/Yl5xcVQ/x+EHLzPFGOY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737554156; c=relaxed/simple; bh=nTY0AoEf626hk3bDfIL98/ogDyGvSyTa0s0+ixLE/18=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ASBCuiwPME1hGoXx7bnjV67A7sOw7eD7wqZ9wo+Sp14V4EMeINAJckn3RlGbdTY033v0XQd5YFIdG2CZzbRN2sBOknXvGxnP4sYcm2lAwCC8Z6eIigSqgE2Xa1e/xSIjft2gDn3UD7UhR+FRKf7o9z29ZMWWZ8kLyt4u/bhfpG4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aGxNVaIL; 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="aGxNVaIL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EA362C4CED3; Wed, 22 Jan 2025 13:55:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737554155; bh=nTY0AoEf626hk3bDfIL98/ogDyGvSyTa0s0+ixLE/18=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=aGxNVaILEhTvFbEv7WQM7CSDPwAfvZ4xR6kD0yBO0/MNL5SYCGb01cNgJyPaQLQX3 YL5RBGK9HiX/fgbBdGIfwnZDUEPyIPdygJfsn3woLJn7FNs32B/MZ0uGthfzN750km NSBGw8WYnEpkKuUSKRVcGkbNk46ImaUNeuWVTq/qhvnVq2ezy6RhILt1zE4yHXG5sK nRgnJlJVJeuoNGPap2i/RddPnAVsN90PjxPyKTKB42ZzN5jV5/93THzDYw/9ZRlbRF oExodvcH1zXW7cGvaN0NsaS0Yxbx7cpGs1p5qdLXaPnFofsvHFySlwpF2B+UkEKVBN YRWSHKVD35y+A== From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org> Date: Wed, 22 Jan 2025 13:31:44 +0100 Subject: [PATCH mptcp-next v3 1/2] mptcp: pm: remove unused ret value to set flags Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: <mptcp.lists.linux.dev> List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev> List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250122-mptcp-issue-540-v3-1-4aeed3022f23@kernel.org> References: <20250122-mptcp-issue-540-v3-0-4aeed3022f23@kernel.org> In-Reply-To: <20250122-mptcp-issue-540-v3-0-4aeed3022f23@kernel.org> To: mptcp@lists.linux.dev Cc: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>, Mat Martineau <martineau@kernel.org> X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1622; i=matttbe@kernel.org; h=from:subject:message-id; bh=nTY0AoEf626hk3bDfIL98/ogDyGvSyTa0s0+ixLE/18=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnkPjo4S6lKGRCRa6nAwELV0Zv6AMbGH7OI4j70 ZlO4ah/mwqJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ5D46AAKCRD2t4JPQmmg c4R1D/490PSxwDwiToOF+tm8ad6oALJysR1PIqPXuuIWPXIt22S+bLU4Ei9iGWHJhgzRwdv3dKt cZayqjW19rWzYF10DAoNOjVK4Di92XSwfdYaIbWG2kBvxXEyy5uRfLyolqIcdhBZbAeswEqYKWw 9xHt9wpp6g9rM4K//0BG7yBP5vT3NnX+SxonHs0ezPvzZLmnspc0D8rt+832VraorUnwwfT9E0z 1txgrEBEk1k7M3M7IiznM42GhVoc80MwuQg5wCNieHyBPIdOCRJahYpW1cgN3LSF/tJ2xFuZEfb Xx9T1vbBM0AZWcaNPZXSUeFmEZ53nmPdUZ4GgyeVX+MCJtqzouULZm3pX94VF5PgU/+TgaNxisE ULxYmLbr3ESq5qg/Ssr8q06YjOnNsM0mScpiz/w4mUbFnH6u6R90rzfZHBmOcEpywaA0X29CIuW yqZiK+hOQxk+/a7atyBOky10WvHJQrTQqJhHYGqwQsoOM/kmjEKoDr0lwo7IzTXcOoRU6wSA9Nw E8qsCycH/EHkPsmkvpttHzPkMQAiRp/EvpUiMG6F0lTqvcw1ln+xQYx9rnEVxslMMxBJz6bF3cq B93uWa5s420N5IWDbspBaRLRDeg+PAyDNWmebjAXD/33tg4c0Zw79n1QRpHggrTCrOdvhV8Qf3u JGpaT/D20qN4ssA== X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 The returned value is not used, it can then be dropped. Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> --- net/mptcp/pm_netlink.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 99705a9c2238c6be96e320e8cd1d12bfa0e0e7f0..ff1e5695dc1db5e32d5f45bef7c= f22e43aea0ef1 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1922,13 +1922,11 @@ static void mptcp_pm_nl_fullmesh(struct mptcp_sock = *msk, spin_unlock_bh(&msk->pm.lock); } =20 -static int mptcp_nl_set_flags(struct net *net, - struct mptcp_addr_info *addr, - u8 bkup, u8 changed) +static void mptcp_nl_set_flags(struct net *net, struct mptcp_addr_info *ad= dr, + u8 bkup, u8 changed) { long s_slot =3D 0, s_num =3D 0; struct mptcp_sock *msk; - int ret =3D -EINVAL; =20 while ((msk =3D mptcp_token_iter_next(net, &s_slot, &s_num)) !=3D NULL) { struct sock *sk =3D (struct sock *)msk; @@ -1938,7 +1936,7 @@ static int mptcp_nl_set_flags(struct net *net, =20 lock_sock(sk); if (changed & MPTCP_PM_ADDR_FLAG_BACKUP) - ret =3D mptcp_pm_nl_mp_prio_send_ack(msk, addr, NULL, bkup); + mptcp_pm_nl_mp_prio_send_ack(msk, addr, NULL, bkup); if (changed & MPTCP_PM_ADDR_FLAG_FULLMESH) mptcp_pm_nl_fullmesh(msk, addr); release_sock(sk); @@ -1948,7 +1946,7 @@ static int mptcp_nl_set_flags(struct net *net, cond_resched(); } =20 - return ret; + return; } =20 int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry *local, --=20 2.47.1 From nobody Tue May 6 18:17:36 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 6289D212D6F for <mptcp@lists.linux.dev>; Wed, 22 Jan 2025 13:55:57 +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=1737554157; cv=none; b=k+JsXStdihJj2I7q18ZiiJUOiU12iJsSdyvsVUEUeVB2McmlqLKjm/MLAbOKcFcU+ZZCBFGbQh5+eTqjrplKTl98j5bpgVL9dqtsndu6864m3yqOlQpISAYbWcNGwd6VdEZiC9kflMRgiN8dLuIOpBPHK5Ss8/PZW2dSPVjQdGY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737554157; c=relaxed/simple; bh=P5RC019cKT/eBtc7V29rRBzlBTQ5XDbSmBJnmu36ZkQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jv3Vd3b5qpke8fSojikwcJyb4PZId49Pre1auSeLTRdn+cpWqUO2p6hHgZPao6wUefvsgIVyoteCLeiGAanCUE4vdFTnnijF1mLYmbSFNdT8HGW8f9z2iiTn+YNtzJM8Ea1IKAEBnr6mMsXSKoHEXHo5sKe1JAtMwPRH3YY9P7E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cmhk0nax; 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="cmhk0nax" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 46776C4CEE0; Wed, 22 Jan 2025 13:55:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737554156; bh=P5RC019cKT/eBtc7V29rRBzlBTQ5XDbSmBJnmu36ZkQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=cmhk0naxmUHeMgJUcLmAdzDX8Li7bU3KCQIKipEw2k2KxxTh5blUZU1mZ9bbvPTQc OjKBog+z7v7J/Xtdo13IDAHMLVn45rax5r1KtqNWWYLKESkm/ojhg0ngpGhPNWq910 mFNOFV7tdOQNi/M8JZqZui3QH8GItUrJmHWJPI+xjZYpH078SwHtZJZ9dv3N1xmdxB nu82N9t6EPwPlfMjcpqtHian1+pVHHHGQPyp9GfycLa0O3cgfcELzbb9oDiiMym60T g50/50hGg8JTiLzD0uFxBUTNOkRb3Op6XAT1p6lAZXV301d71cc/2bbd7sj/RJmEjF GFhX02BJAxDWw== From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org> Date: Wed, 22 Jan 2025 13:31:45 +0100 Subject: [PATCH mptcp-next v3 2/2] mptcp: pm: change to fullmesh only for 'subflow' Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: <mptcp.lists.linux.dev> List-Subscribe: <mailto:mptcp+subscribe@lists.linux.dev> List-Unsubscribe: <mailto:mptcp+unsubscribe@lists.linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250122-mptcp-issue-540-v3-2-4aeed3022f23@kernel.org> References: <20250122-mptcp-issue-540-v3-0-4aeed3022f23@kernel.org> In-Reply-To: <20250122-mptcp-issue-540-v3-0-4aeed3022f23@kernel.org> To: mptcp@lists.linux.dev Cc: "Matthieu Baerts (NGI0)" <matttbe@kernel.org> X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3010; i=matttbe@kernel.org; h=from:subject:message-id; bh=P5RC019cKT/eBtc7V29rRBzlBTQ5XDbSmBJnmu36ZkQ=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBnkPjoWeLmW4QfBoLt7tf5adsDgk4KJSjLtbPql pVQOcUgr32JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZ5D46AAKCRD2t4JPQmmg c1j2D/9P5zAQAbaneC5S9IQKibySY05IUku0yVU14Az5NM/Ud6QV5beGZM5MSa+67G0C+acwV9m i0c9C0dsjzuZKimbfZ9oKk7NIgKfJCNUmEeqjAdXkS+a691Zh9k+U1GNUyAczfYWfr8VtkMBkNt vWmYtv8BPx01sPlv3C9pRxGwOPOatXp/JxWRD+wit568DxgjsR/wIKF/Q/45SnoJ9HhuU0m46It PkllrMvdt1f0wLo6RtUs6akR6Tre9z5PKkrW4ZrPIib+Phl+mWLpmwX/ehcIWe3OfUzhigqU493 GjHWoRK4bFIENCwm0nd0fM2oe4+i8azlOlzCFxH/OMRik2JqOTd9nQFpYYkr73/O4L3YvB65d9T 4L1xtzvf6zyvmplCIg65pBCEAOMteuDnTu70ef8mi3bFmh8MNUqfPFjQ5sjBya/nNnTobb0YGxL oN73u8rbcw4eqy8vg4wEjg2Xi265dVJqTY6gw7iEfom/PMCVxISPqqMQKSXuUVBb8Dj4N+RPUeO PSGNKvXKNrPDxuUErLP4uoJI6ysZ09aXC6W/uAScHPeMXo9y/7jpVcQJDO6yEYTxcN1duJx18XB LaDE/E3bJW59HqpS1vAOUJw9DobsRyiQ4JpXc6mypufore7g8rJDpfTmNF3RY2iWGxTg3wFXRRM ZDnrf5P+O8tUuQw== X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 If an endpoint doesn't have the 'subflow' endpoint -- in fact, has no type, so not 'subflow', 'signal', nor 'implicit' -- there are then no subflows created from this local endpoint to at least the initial destination address. In this case, no need to call mptcp_pm_nl_fullmesh() which is there to recreate the subflows to reflect the new value of the fullmesh attribute. Similarly, there is then no need to iterate over all connections to do nothing, if only the 'fullmesh' flag has been changed, and the endpoint doesn't have the 'subflow' one. So stop early when dealing with this specific case. Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Reviewed-by: Mat Martineau <martineau@kernel.org> --- Notes: v2: - clarify the modifications: new comment and updated description (Mat) --- net/mptcp/pm_netlink.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index ff1e5695dc1db5e32d5f45bef7cf22e43aea0ef1..1a0695e087af02347678b9b6914= d303554bcf1f3 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1923,11 +1923,16 @@ static void mptcp_pm_nl_fullmesh(struct mptcp_sock = *msk, } =20 static void mptcp_nl_set_flags(struct net *net, struct mptcp_addr_info *ad= dr, - u8 bkup, u8 changed) + u8 flags, u8 changed) { + u8 is_subflow =3D !!(flags & MPTCP_PM_ADDR_FLAG_SUBFLOW); + u8 bkup =3D !!(flags & MPTCP_PM_ADDR_FLAG_BACKUP); long s_slot =3D 0, s_num =3D 0; struct mptcp_sock *msk; =20 + if (changed =3D=3D MPTCP_PM_ADDR_FLAG_FULLMESH && !is_subflow) + return; + while ((msk =3D mptcp_token_iter_next(net, &s_slot, &s_num)) !=3D NULL) { struct sock *sk =3D (struct sock *)msk; =20 @@ -1937,7 +1942,8 @@ static void mptcp_nl_set_flags(struct net *net, struc= t mptcp_addr_info *addr, lock_sock(sk); if (changed & MPTCP_PM_ADDR_FLAG_BACKUP) mptcp_pm_nl_mp_prio_send_ack(msk, addr, NULL, bkup); - if (changed & MPTCP_PM_ADDR_FLAG_FULLMESH) + /* Subflows will only be recreated if the SUBFLOW flag is set */ + if (is_subflow && (changed & MPTCP_PM_ADDR_FLAG_FULLMESH)) mptcp_pm_nl_fullmesh(msk, addr); release_sock(sk); =20 @@ -1959,7 +1965,6 @@ int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry = *local, struct mptcp_pm_addr_entry *entry; struct pm_nl_pernet *pernet; u8 lookup_by_id =3D 0; - u8 bkup =3D 0; =20 pernet =3D pm_nl_get_pernet(net); =20 @@ -1972,9 +1977,6 @@ int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry = *local, } } =20 - if (local->flags & MPTCP_PM_ADDR_FLAG_BACKUP) - bkup =3D 1; - spin_lock_bh(&pernet->lock); entry =3D lookup_by_id ? __lookup_addr_by_id(pernet, local->addr.id) : __lookup_addr(pernet, &local->addr); @@ -1996,7 +1998,7 @@ int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry = *local, *local =3D *entry; spin_unlock_bh(&pernet->lock); =20 - mptcp_nl_set_flags(net, &local->addr, bkup, changed); + mptcp_nl_set_flags(net, &local->addr, entry->flags, changed); return 0; } =20 --=20 2.47.1