From nobody Sat Aug 15 20:31:32 2026 Received: from out-177.mta0.migadu.com (out-177.mta0.migadu.com [91.218.175.177]) (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 16F9730F803 for ; Wed, 12 Aug 2026 05:47:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786513622; cv=none; b=KgvecSc3txh7YIC64nRUV5n9BteRQplB9kkT0SavU2lfEjh7w9NsYSO+TEHR91lMf/apI0n3YEcAIRouaiLyfpNpDi1ff+Y53k2xSQ24qe5feq73/pIUYhbqfcvTis7yi6CPvEaMNSoQa9bLx4skDYwtWqXBpGCp+t3sXsb7L9k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786513622; c=relaxed/simple; bh=ny3cZ8TlxLQpxtGaAgCFg3bihGlhEXROx0R1iRCODtE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gZbkJpmUKAUn0AoEziJxRJ3Fs/oi8SKUlhbuE5cxhuMj8rnndtVUDi+RDqQ8X2D6r8U6dVmhkbngzwziWOXVRVU8qM/DOVDFj2X4Y069nPOUvuOu8UEoCiw1reDvtTMT5PF6j4Psi8Qb73Nkh0+Kbs9KzF0TNNBQl0wqBSjAbMU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=ju21FnJq; arc=none smtp.client-ip=91.218.175.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="ju21FnJq" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1786513618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=V7ph7KvdAEdONiEXTCOn+oYhZc/rRMlUhbvZ9PQYdbs=; b=ju21FnJqROLnlQmLi0jS0hnEa832/hGlGg4/n1kepciuc9mRrTle+Ac3tb3W/090fa6wMu 4xjO0DEnK3gMDTz8/FofgXplppiS3+RzzmN/8IvFCZUyt8jPHVh9lLgjCAZaq3+eS0uojn TLPV31yQfyFCbb0MvPkiQFChkZtIHpY= From: Chenguang Zhao To: mptcp@lists.linux.dev Cc: chenguang.zhao@linux.dev, Chenguang Zhao Subject: [PATCH export v3 1/4] mptcp: add MPFailFallback MIB Date: Wed, 12 Aug 2026 13:46:50 +0800 Message-Id: <20260812054653.43799-2-chenguang.zhao@linux.dev> In-Reply-To: <20260812054653.43799-1-chenguang.zhao@linux.dev> References: <20260812054653.43799-1-chenguang.zhao@linux.dev> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: Chenguang Zhao Add a dedicated MIB to track TCP fallbacks triggered by receiving MP_FAIL. A follow-up change will use it from mptcp_pm_mp_fail_received() via mptcp_try_fallback(). Fixes: c65c2e3bae69 ("mptcp: track fallbacks accurately via mibs") Signed-off-by: Chenguang Zhao --- net/mptcp/mib.c | 1 + net/mptcp/mib.h | 1 + 2 files changed, 2 insertions(+) diff --git a/net/mptcp/mib.c b/net/mptcp/mib.c index 608cb568897c..3e1bb4ff07b7 100644 --- a/net/mptcp/mib.c +++ b/net/mptcp/mib.c @@ -90,6 +90,7 @@ static const struct snmp_mib mptcp_snmp_list[] =3D { SNMP_MIB_ITEM("DssFallback", MPTCP_MIB_DSSFALLBACK), SNMP_MIB_ITEM("DssReset", MPTCP_MIB_DSSRESET), SNMP_MIB_ITEM("SimultConnectFallback", MPTCP_MIB_SIMULTCONNFALLBACK), + SNMP_MIB_ITEM("MPFailFallback", MPTCP_MIB_MPFAILFALLBACK), SNMP_MIB_ITEM("FallbackFailed", MPTCP_MIB_FALLBACKFAILED), SNMP_MIB_ITEM("WinProbe", MPTCP_MIB_WINPROBE), SNMP_MIB_ITEM("BacklogDrop", MPTCP_MIB_BACKLOGDROP), diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h index 1ebdb55e9534..89ebf7086cc6 100644 --- a/net/mptcp/mib.h +++ b/net/mptcp/mib.h @@ -93,6 +93,7 @@ enum linux_mptcp_mib_field { MPTCP_MIB_DSSFALLBACK, /* Bad or missing DSS */ MPTCP_MIB_DSSRESET, /* MP_RST: bad data mapping */ MPTCP_MIB_SIMULTCONNFALLBACK, /* Simultaneous connect */ + MPTCP_MIB_MPFAILFALLBACK, /* Received MP_FAIL, fallback to TCP */ MPTCP_MIB_FALLBACKFAILED, /* Can't fallback due to msk status */ MPTCP_MIB_WINPROBE, /* MPTCP-level zero window probe */ MPTCP_MIB_BACKLOGDROP, /* Backlog over memory limit */ --=20 2.25.1 From nobody Sat Aug 15 20:31:32 2026 Received: from out-178.mta0.migadu.com (out-178.mta0.migadu.com [91.218.175.178]) (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 4474C270EC3 for ; Wed, 12 Aug 2026 05:47:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786513626; cv=none; b=O6YluZ/eBYbVocxMocyHeRddn2/IkkL1OuNEDy7jDftvBIERXnLIt+MOTV2FzSedTjdRlM0JE9GqbFLD5Jb4GQsjdFCEdKWdZp4rKsrss3p7IkubVaO7JJJjBnqkfalMNUusGW51Edmf2Iizc/DOwjw9wnmptnfJ1+pXIcUO7Lw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786513626; c=relaxed/simple; bh=dIhgbkCqwjxZKtXoit7clY5HiAf6j+c6rWANY41t/rI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=CH09iKQjJn+wzMYpDoiQz96RtXADJF16IE+I5qsoc9z0ZCH7FOp/E9QuMI8fGHP9NwSfxsLV3/9Qoi5oHFYoyFSiCYMCeJpnGGnWcwkG8oc70ot5BGxziL3yVa6O2+vWaMmdWUaHa7TbW/JzjthWfFww8/UEcWO29zsVKpLpnzQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=vCaQvBhf; arc=none smtp.client-ip=91.218.175.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="vCaQvBhf" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1786513622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=R73H97QJvE85QkRD5NEL3Z68SGfj043Kvqvg6LMUDOo=; b=vCaQvBhfUoSCC1QRol/fPHFINmoFhoMbmpmj8YL7NHd4fEPnpaCqGHahXQuHZV9/TywHHA ST3xW+liyNrAXWI3rpfcyOZQvu1BwKohcXKVyDhn7Ma1ATz0EAnylNQyh4yib/i863oEO9 ZF54mlwZjZHK9TF8lhNIRvJEwQ+cJHU= From: Chenguang Zhao To: mptcp@lists.linux.dev Cc: chenguang.zhao@linux.dev, Chenguang Zhao Subject: [PATCH export v3 2/4] mptcp: reject joins after fallback in mptcp_is_fully_established Date: Wed, 12 Aug 2026 13:46:51 +0800 Message-Id: <20260812054653.43799-3-chenguang.zhao@linux.dev> In-Reply-To: <20260812054653.43799-1-chenguang.zhao@linux.dev> References: <20260812054653.43799-1-chenguang.zhao@linux.dev> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: Chenguang Zhao After fallback, treat the connection as not fully established so later MP_JOIN attempts are rejected. Signed-off-by: Chenguang Zhao --- net/mptcp/protocol.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 7e168e450fb0..bf2483a7ed92 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -957,8 +957,11 @@ static inline void mptcp_start_tout_timer(struct sock = *sk) =20 static inline bool mptcp_is_fully_established(struct sock *sk) { + struct mptcp_sock *msk =3D mptcp_sk(sk); + return inet_sk_state_load(sk) =3D=3D TCP_ESTABLISHED && - READ_ONCE(mptcp_sk(sk)->fully_established); + READ_ONCE(msk->fully_established) && + !test_bit(MPTCP_FALLBACK_DONE, &msk->flags); } =20 static inline u64 mptcp_stamp(void) --=20 2.25.1 From nobody Sat Aug 15 20:31:32 2026 Received: from out-174.mta0.migadu.com (out-174.mta0.migadu.com [91.218.175.174]) (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 0F6CC30F803 for ; Wed, 12 Aug 2026 05:47:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786513631; cv=none; b=IbzY9IK+5TjvOoUoEw3yZwrc6jTAOBSMT0WWi6PP5wGWDR9EE0kJz5KFxRKp2/qO68mK4POTuwsDu8dg6ACVRBsOihCX3vGZWrZoTxQGncva826u+SwtULyfMYYKoQ+dKKhiSjvin+UrZpRu/cUqE70jpL1kFyVAK20AprbWwas= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786513631; c=relaxed/simple; bh=8L75x0wxoF6PsXlc3efRcNEijBk7AQTXODsEPhG910c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=ZzuXOX5nfTEAkRG7lkbb0fEeQbApsz8wdAIyWeRM3bL9CSJkmEGZArLRNMdIGOuFsmhU5gNcGNLmdn/tOfGNi42Lr0EcJku9tkRTCfVZ2xJ5nhnLYiIsh1YooOkMlGpTjEE5nq66vTjyJIpXt3fwFsLwny1VOrYD2nF9kZH2oUU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=qVZZ4vUm; arc=none smtp.client-ip=91.218.175.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="qVZZ4vUm" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1786513627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6mfpmizRnTWMR7M2xKNaR4gjr/3qGmyzhzv6APnPoOo=; b=qVZZ4vUmP4g8PK6G5L1KZLPN2ERkNT/065tokgyAQUHwNAFFlK5C9U5nJfKwxjnUQLYrrN JG3KxlJgb3Ru3gXpQdOLq10dJMZ3uYNU8/sN39RDGpEi26/NElDGEn8jW2Ac+luJkfE+Xu uWdl1IK5uHwjwpcURNmBwffD6FvCAQ0= From: Chenguang Zhao To: mptcp@lists.linux.dev Cc: chenguang.zhao@linux.dev, Chenguang Zhao Subject: [PATCH export v3 3/4] mptcp: reset subflow on MP_FAIL when OoO queue is non-empty Date: Wed, 12 Aug 2026 13:46:52 +0800 Message-Id: <20260812054653.43799-4-chenguang.zhao@linux.dev> In-Reply-To: <20260812054653.43799-1-chenguang.zhao@linux.dev> References: <20260812054653.43799-1-chenguang.zhao@linux.dev> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT From: Chenguang Zhao Infinite mapping needs contiguous data. If the MPTCP OoO queue is not empty, reset the subflow instead of falling back. Signed-off-by: Chenguang Zhao --- net/mptcp/pm.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index ba7c6f80a183..8c263084db7b 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -882,6 +882,16 @@ void mptcp_pm_mp_fail_received(struct sock *sk, u64 fa= il_seq) spin_unlock_bh(&msk->fallback_lock); return; } + + /* RFC8684 =C2=A73.7: Infinite mapping requires contiguous data */ + if (!subflow->fail_tout && + !RB_EMPTY_ROOT(&msk->out_of_order_queue)) { + spin_unlock_bh(&msk->fallback_lock); + MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_FALLBACKFAILED); + mptcp_subflow_reset(sk); + return; + } + msk->allow_subflows =3D false; spin_unlock_bh(&msk->fallback_lock); =20 --=20 2.25.1 From nobody Sat Aug 15 20:31:32 2026 Received: from out-174.mta0.migadu.com (out-174.mta0.migadu.com [91.218.175.174]) (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 C29AF30F803 for ; Wed, 12 Aug 2026 05:47:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786513633; cv=none; b=uIZVO1frqy8TeGDZA7Hk7ILFClsdlHoYMaaR1b9nK5bEQCVMI/rVtWfjTD/3kEtFh+Ifqj5ZPkLScEhkS+iV+0GcS4AyDr/WyJUNHCtP9cmPk3ZDcqJiy8T00YZc0fqBRic1AIt7qNPYIDWhe9HFqEqYi0J6y8Q7ufADmMQO4G8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786513633; c=relaxed/simple; bh=m/ZTkU9LPHJHMkq6fsZ8ateyUWxxMQ4RfFgnEK9P1tU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=htn7tbquIr7kv+zmu9Sv8QgnRVRScEDnV9EZMLdBZo/OErJMYq6vRhn/DKrvJX8Jfw9IjtSo5BG0IOlKWbXuU2cQlP39jN2U6ZVwE1bWpQH/Y8IWxEvRfg0bTBfMiLK+kIsZmr05s7rIfOkAnt1CPxT+675+5mSLcyFe5QzCupU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=X4wBnLYA; arc=none smtp.client-ip=91.218.175.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="X4wBnLYA" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1786513630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Y58GHDMA2z2UYVXWijYf8YT+cpfKwlW9sOC0RXa2MH0=; b=X4wBnLYAJBnRO8QEXkHcgmDb8oy5+7TT8+ALbskV5RjpaPczSGsa9Kt3Fxu5fAgZ3MY2Q1 EhD/cPulHTZ1rioqSBjvbAxukSBwmUspkGKCLedRrbJPpe5At+JawkO7rm+ntrnIGIYd/s EmkgIUZuxqgM5j5Z2nQu+QfF55FUsqw= From: Chenguang Zhao To: mptcp@lists.linux.dev Cc: chenguang.zhao@linux.dev, Chenguang Zhao Subject: [PATCH export v3 4/4] mptcp: fallback to TCP on MP_FAIL with a single subflow Date: Wed, 12 Aug 2026 13:46:53 +0800 Message-Id: <20260812054653.43799-5-chenguang.zhao@linux.dev> In-Reply-To: <20260812054653.43799-1-chenguang.zhao@linux.dev> References: <20260812054653.43799-1-chenguang.zhao@linux.dev> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT From: Chenguang Zhao Fall back immediately via mptcp_try_fallback() after accepting MP_FAIL on a single contiguous subflow, as required by RFC8684 =C2=A73.7. Fixes: 1e39e5a32ad7 ("mptcp: infinite mapping sending") Signed-off-by: Chenguang Zhao --- net/mptcp/pm.c | 9 ++++++--- net/mptcp/protocol.c | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 8c263084db7b..cb85caf1df43 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -876,7 +876,6 @@ void mptcp_pm_mp_fail_received(struct sock *sk, u64 fai= l_seq) =20 pr_debug("fail_seq=3D%llu\n", fail_seq); =20 - /* After accepting the fail, we can't create any other subflows */ spin_lock_bh(&msk->fallback_lock); if (!msk->allow_infinite_fallback) { spin_unlock_bh(&msk->fallback_lock); @@ -891,8 +890,6 @@ void mptcp_pm_mp_fail_received(struct sock *sk, u64 fai= l_seq) mptcp_subflow_reset(sk); return; } - - msk->allow_subflows =3D false; spin_unlock_bh(&msk->fallback_lock); =20 if (!subflow->fail_tout) { @@ -901,6 +898,12 @@ void mptcp_pm_mp_fail_received(struct sock *sk, u64 fa= il_seq) subflow->send_mp_fail =3D 1; subflow->send_infinite_map =3D 1; tcp_send_ack(sk); + + /* RFC8684 =C2=A73.7: fallback with a single subflow */ + if (!mptcp_try_fallback(sk, MPTCP_MIB_MPFAILFALLBACK)) { + MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_FALLBACKFAILED); + mptcp_subflow_reset(sk); + } } else { pr_debug("MP_FAIL response received\n"); WRITE_ONCE(subflow->fail_tout, 0); diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index f879b1061f2d..519e8d9c3164 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1418,7 +1418,9 @@ static void mptcp_update_infinite_map(struct mptcp_so= ck *msk, mpext->infinite_map =3D 1; mpext->data_len =3D 0; =20 - if (!mptcp_try_fallback(ssk, MPTCP_MIB_INFINITEMAPTX)) { + if (__mptcp_check_fallback(msk)) { + MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_INFINITEMAPTX); + } else if (!mptcp_try_fallback(ssk, MPTCP_MIB_INFINITEMAPTX)) { MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_FALLBACKFAILED); mptcp_subflow_reset(ssk); return; --=20 2.25.1