All of lore.kernel.org
 help / color / mirror / Atom feed
From: gang.yan@linux.dev
To: "Matthieu Baerts" <matttbe@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Chenguang Zhao" <chenguang.zhao@linux.dev>,
	mptcp@lists.linux.dev
Cc: "Chenguang Zhao" <zhaochenguang@kylinos.cn>
Subject: Re: [PATCH export v3 2/4] mptcp: reject joins after fallback in mptcp_is_fully_established
Date: Thu, 13 Aug 2026 09:32:53 +0000	[thread overview]
Message-ID: <564cb027be5e7972fc8f6f976707628ee32f38aa@linux.dev> (raw)
In-Reply-To: <41078a8c-00c7-4cb1-8e57-237b4ea6c2f0@kernel.org>

August 12, 2026 at 11:32 PM, "Matthieu Baerts" <matttbe@kernel.org mailto:matttbe@kernel.org?to=%22Matthieu%20Baerts%22%20%3Cmatttbe%40kernel.org%3E > wrote:


> 
> Note: Chenguang is looking at a bug where, when an MP_FAIL is received
> before being in fully_established, the kernel accept going to fully
> established, and creating new subflows, then reject them once done.
> 
> Same when receiving a 4th packet without MPTCP options.
> 
> I think the MP_FAIL should do a fallback if possible, but it is probably
> also required to check the fallback status or something similar when
> receiving an MPJ.

Hi, Matt

Sorry, I'm not very familiar with the details of this patch.

No offense intended, I just have a question I'd like to ask based on my
understanding and the RFC documentation: Should MP_FAIL trigger a fallback?

For the multiple‑subflow case, if one subflow encounters an MP_FAIL, it should
be closed with a RST, and the data will be retransmitted over the other healthy
subflows. This should not cause the entire MPTCP connection to fallback to regular
TCP, right?
RFC8684's contents:
'''
The receiver of this option MUST discard all data following the data sequence number
specified. Failed data MUST NOT be DATA_ACKed and so will be retransmitted on other subflows.
'''


For the single‑subflow case, according to the RFC, MP_FAIL should subsequently
lead to a fallback under the infinite mapping (INFINITEMAP) situation, shouldn't it?
RFC 8684's contents:
'''
A special case is when there is a single subflow and it fails with a checksum error.
If it is known that all unacknowledged data in flight is contiguous (which will usually
be the case with a single subflow), an infinite mapping can be applied to the subflow
without the need to close it first, essentially turning off all further MPTCP signaling.
'''

Thanks
Gang


> 
> > 
> > I would prefer avoiding additional conditionals, if not well reasoned.
> > 
> Agreed, the commit messages in this series are not explaining (enough)
> the reason and the context.
> 
> BTW, Chenguang, please use 'mptcp-net' for fixes (and mptcp-next for
> features). Also fixes should have a Fixes tag.
> 
> Cheers,
> Matt
> -- 
> Sponsored by the NGI0 Core fund.
>

  reply	other threads:[~2026-08-13  9:32 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-12  5:46 [PATCH export v3 0/4] mptcp: fix TCP fallback on single-subflow MP_FAIL Chenguang Zhao
2026-08-12  5:46 ` [PATCH export v3 1/4] mptcp: add MPFailFallback MIB Chenguang Zhao
2026-08-12  5:46 ` [PATCH export v3 2/4] mptcp: reject joins after fallback in mptcp_is_fully_established Chenguang Zhao
2026-08-12  9:45   ` Paolo Abeni
2026-08-12 15:32     ` Matthieu Baerts
2026-08-13  9:32       ` gang.yan [this message]
2026-08-13  8:45     ` Chenguang Zhao
2026-08-12  5:46 ` [PATCH export v3 3/4] mptcp: reset subflow on MP_FAIL when OoO queue is non-empty Chenguang Zhao
2026-08-12  6:07   ` sashiko-bot
2026-08-12 10:02   ` Paolo Abeni
2026-08-13  8:45     ` Chenguang Zhao
2026-08-12  5:46 ` [PATCH export v3 4/4] mptcp: fallback to TCP on MP_FAIL with a single subflow Chenguang Zhao
2026-08-12 10:43   ` Paolo Abeni
2026-08-13  8:48     ` Chenguang Zhao
2026-08-12 10:47   ` Paolo Abeni
2026-08-13  8:50     ` Chenguang Zhao
2026-08-12  6:57 ` [PATCH export v3 0/4] mptcp: fix TCP fallback on single-subflow MP_FAIL MPTCP CI

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=564cb027be5e7972fc8f6f976707628ee32f38aa@linux.dev \
    --to=gang.yan@linux.dev \
    --cc=chenguang.zhao@linux.dev \
    --cc=matttbe@kernel.org \
    --cc=mptcp@lists.linux.dev \
    --cc=pabeni@redhat.com \
    --cc=zhaochenguang@kylinos.cn \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.