mptcp.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Geliang Tang <geliangtang@gmail.com>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <geliangtang@gmail.com>
Subject: [MPTCP][PATCH mptcp-next] mptcp: don't fallback when data_fin enabled
Date: Fri,  7 May 2021 15:58:58 +0800	[thread overview]
Message-ID: <c8b33d7b10e063f3bd93d25955d539a6af7f0372.1620374286.git.geliangtang@gmail.com> (raw)

This patch fixed this fallback error:

<7>[ 1477.059635] MPTCP: msk=000000006bf0cf61
<7>[ 1485.132216] MPTCP: subflow=000000002296fc22
<7>[ 1485.132233] MPTCP: subflow=000000002296fc22, family=2
<7>[ 1485.132242] MPTCP: subflow=000000002296fc22
<7>[ 1485.132411] MPTCP: msk=000000005b84960a
<7>[ 1485.132688] MPTCP: subflow=000000002388ad62
<7>[ 1485.132695] MPTCP: subflow=000000002388ad62, family=2
<7>[ 1485.132702] MPTCP: subflow=000000002388ad62
<7>[ 1485.132974] MPTCP: ssk=000000005ab5dbc8, local_key=9186175039591172243, token=2833190200, idsn=13562085501921405456
<7>[ 1485.133131] MPTCP: subflow=000000002296fc22
<7>[ 1485.133200] MPTCP: subflow_req=00000000ca26b42c, listener=000000002296fc22
<7>[ 1485.133209] MPTCP: MP_CAPABLE version=1, flags=1, optlen=4 sndr=582, rcvr=18446744072046692096 len=65535 csum=65535
<7>[ 1485.133227] MPTCP: req=00000000ca26b42c local_key=9900409276882973726, token=2796355457, idsn=5747750831347864753
<7>[ 1485.133288] MPTCP: subflow_req=00000000ca26b42c, local_key=9900409276882973726
<7>[ 1485.133384] MPTCP: subflow=000000002388ad62 synack seq=72748901
<7>[ 1485.133393] MPTCP: MP_CAPABLE version=1, flags=1, optlen=12 sndr=9900409276882973726, rcvr=18446633460193955073 len=0 csum=0
<7>[ 1485.133402] MPTCP: subflow=000000002388ad62, remote_key=9900409276882973726
<7>[ 1485.133409] MPTCP: msk=00000000875940e7, token=2833190200
<7>[ 1485.133416] MPTCP: msk=00000000875940e7, token=2833190200 side=0
<7>[ 1485.133457] MPTCP: subflow=000000002388ad62, local_key=9186175039591172243, remote_key=9900409276882973726 map_len=0
<7>[ 1485.133490] MPTCP: listener=000000002296fc22, req=00000000ca26b42c, conn=000000005b84960a
<7>[ 1485.133499] MPTCP: MP_CAPABLE version=1, flags=1, optlen=20 sndr=9186175039591172243, rcvr=9900409276882973726 len=0 csum=0
<7>[ 1485.133587] MPTCP: subflow=000000000587a2a5
<7>[ 1485.133625] MPTCP: msk=000000005dcb6e30, token=2796355457 side=1
<7>[ 1485.133658] MPTCP: MP_CAPABLE version=1, flags=1, optlen=20 sndr=9186175039591172243, rcvr=9900409276882973726 len=39782 csum=65535
<7>[ 1485.134972] MPTCP: msk=00000000875940e7 snd_data_fin_enable=0 shutdown=3 state=4 pending=0
<7>[ 1485.134987] MPTCP: msk=00000000875940e7 snd_data_fin_enable=1 pending=0 snd_nxt=13562085501921405457 write_seq=13562085501921405458
<7>[ 1485.134998] MPTCP: Sending DATA_FIN on subflow 000000005ab5dbc8
<7>[ 1485.135083] MPTCP: DSS
<7>[ 1485.135089] MPTCP: data_fin=1 dsn64=1 use_map=1 ack64=0 use_ack=1
<7>[ 1485.135097] MPTCP: data_ack=2683442354
<7>[ 1485.135102] MPTCP: data_seq=13562085501921405457 subflow_seq=0 data_len=1 csum=0:0
<7>[ 1485.135198] MPTCP: msk=000000005dcb6e30 snd_data_fin_enable=0 pending=0 snd_nxt=5747750831347864754 write_seq=5747750831347864754
<7>[ 1485.135233] MPTCP: msk=00000000875940e7 state=4
<7>[ 1485.135297] MPTCP: msk=000000005b84960a state=7
<7>[ 1485.135302] MPTCP: msk=000000005b84960a
<7>[ 1485.135387] MPTCP: msk=000000005dcb6e30
<7>[ 1485.135436] MPTCP: subflow_req=00000000ca26b42c
<7>[ 1485.135472] MPTCP: check_fully_established:fallback to TCP (msk=00000000875940e7)
<7>[ 1485.135628] MPTCP: msk=000000005b84960a
<7>[ 1485.339305] MPTCP: msk=00000000875940e7 snd_data_fin_enable=1 pending=0 snd_nxt=13562085501921405458 write_seq=13562085501921405458
<7>[ 1485.339329] MPTCP: msk=00000000875940e7

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/176

Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
 net/mptcp/options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mptcp/options.c b/net/mptcp/options.c
index f3e379a0f08d..940b32511443 100644
--- a/net/mptcp/options.c
+++ b/net/mptcp/options.c
@@ -901,7 +901,7 @@ static bool check_fully_established(struct mptcp_sock *msk, struct sock *ssk,
 	 * MP_JOIN subflows.
 	 */
 	if (!mp_opt->mp_capable) {
-		if (subflow->mp_join)
+		if (subflow->mp_join || mptcp_data_fin_enabled(msk))
 			goto reset;
 		subflow->mp_capable = 0;
 		pr_fallback(msk);
-- 
2.31.1


             reply	other threads:[~2021-05-07  7:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-07  7:58 Geliang Tang [this message]
2021-05-07  8:51 ` [MPTCP][PATCH mptcp-next] mptcp: don't fallback when data_fin enabled Matthieu Baerts
2021-05-07  9:08   ` Geliang Tang
2021-05-07 12:19     ` Matthieu Baerts
2021-05-07 15:23       ` Matthieu Baerts
2021-05-08  2:58         ` Geliang Tang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c8b33d7b10e063f3bd93d25955d539a6af7f0372.1620374286.git.geliangtang@gmail.com \
    --to=geliangtang@gmail.com \
    --cc=mptcp@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).