[PATCH net] mptcp: relax check on MPC passive fallback

Paolo Abeni posted 1 patch 1 month, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/ddfc9eec6981880271d0293d05369b3385fb9e86.1705425136.git.pabeni@redhat.com
There is a newer version of this series
net/mptcp/subflow.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH net] mptcp: relax check on MPC passive fallback
Posted by Paolo Abeni 1 month, 1 week ago
While testing the blamed commit below, I was able to miss (!)
packetdrill failures in the fastopen test-cases.

On passive fastopen the child socket is created by incoming TCP MPC syn,
allow for both MPC_SYN and MPC_ACK header.

Fixes: 724b00c12957 ("mptcp: refine opt_mp_capable determination")
Reviewed-by: Matthieu Baerts <matttbe@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
 net/mptcp/subflow.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c
index 1117d1e84274..0dcb721c89d1 100644
--- a/net/mptcp/subflow.c
+++ b/net/mptcp/subflow.c
@@ -783,7 +783,8 @@ static struct sock *subflow_syn_recv_sock(const struct sock *sk,
 		 * options.
 		 */
 		mptcp_get_options(skb, &mp_opt);
-		if (!(mp_opt.suboptions & OPTION_MPTCP_MPC_ACK))
+		if (!(mp_opt.suboptions &
+		      (OPTION_MPTCP_MPC_SYN | OPTION_MPTCP_MPC_ACK)))
 			fallback = true;
 
 	} else if (subflow_req->mp_join) {
-- 
2.43.0
Re: [PATCH net] mptcp: relax check on MPC passive fallback
Posted by Eric Dumazet 1 month, 1 week ago
On Tue, Jan 16, 2024 at 6:19 PM Paolo Abeni <pabeni@redhat.com> wrote:
>
> While testing the blamed commit below, I was able to miss (!)
> packetdrill failures in the fastopen test-cases.
>
> On passive fastopen the child socket is created by incoming TCP MPC syn,
> allow for both MPC_SYN and MPC_ACK header.
>
> Fixes: 724b00c12957 ("mptcp: refine opt_mp_capable determination")
> Reviewed-by: Matthieu Baerts <matttbe@kernel.org>
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>

Reviewed-by: Eric Dumazet <edumazet@google.com>

Thanks.