All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthieu Baerts <matttbe@kernel.org>
To: Anil Kaushik <anilkaushikwireless@gmail.com>
Cc: mptcp@lists.linux.dev
Subject: Re: [RFC PATCH mptcp-next v3 2/3] mptcp: pm: kernel: retry subflows closed after an error
Date: Wed, 21 Oct 2026 19:48:12 +0200	[thread overview]
Message-ID: <ffc98c40-09d5-4299-8128-72cc0ed6beae@kernel.org> (raw)
In-Reply-To: <7c7308c5-c150-41a1-9d84-9981acfb5962@kernel.org>

Hi Anil,

I noticed new versions, but I don't know if you saw my reply here. Do
you mind replying to my previous questions / comments here below, please?

On 16/10/2026 10:43, Matthieu Baerts wrote:
> Hi Anil,
> 
> Thank you for your reply.
> 
> On 16/10/2026 07:49, Anil Kaushik wrote:
>>> Add a sensible default value (what do you recommend?)
>>
>> 15 SYN retries: about 20 minutes with the 120s max RTO.
> 
> I guess it could even be longer, no? With an exponential backoff, it's
> not spamming the network too much.
> 
> I wonder if we shouldn't get something similar to tcp_retries2. But
> here, with the syn, we also need to tcp_syn_linear_timeouts into
> account. Either we keep it to 15 by default and, (if not 0), we add
> tcp_syn_linear_timeouts, or we initialise it to 19.
> 
>>> modify icsk_syn_retries instead [...] WDYT?
>>
>> Good idea, I will do that: one new subflow per failure, with its SYN
>> retries set from the new netlink limit, 0 = disabled. It also removes
>> the socket reuse, the retries counter and the 60s check.
>>
>> One point to think though, If ICMP unreachable stops the SYN at once.
>> I would not retry
>> again then. Is that OK?
> 
> Good point. In your specific case, what do you observe?
> 
> To me, the best is to have the network manager (something from
> userspace) removing the MPTCP endpoints when they are not "usable", but
> here it can be specific to the destination. I would then say to look at
> this case later. In this case, we could eventually disconnect the
> subflow, and add a timer to retry later. But that's also more prone to
> bugs, so if we can avoid that, probably better to!
> 
>>> Do we have other similar ones? [...] ss -Mte, would that work?
>>
>> I will drop the MIB counter. The test can use the MPJ counters and the
>> netlink events.
> 
> Thanks! You can expose the new limit in "struct mptcp_info", instead of
> "reserved".
> 
>>> Is it specific for your case?
>>
>> No, it came from a Sashiko review: a dead subflow waiting to be closed
>> could be re-created after its endpoint or the peer's address was
>> removed. I will try to move it to pm_kernel.c.
> 
> What did you end-up doing for this?
> 
>>> can we not check why it failed instead?
>>
>> With your idea it is not needed: only one retry, nothing to count.
> 
> Good
> 
>>> what error do you get when the issue is detected via TCP Keepalive?
>>
>> ETIMEDOUT, so it is retried.
> 
> Thanks!
> 
>>> Why can we not always re-used?
>>
>> A subflow that carried data needs the full close cleanup. With your
>> idea we always create a new subflow, so there is only one path.
>>
>> For the rest: OK. I will go through pm.c, avoid struct holes and
>> duplicated connect code, drop the RFC tag, add a changelog per patch,
>> and test closing the connection while retrying plus the netlink events.
>> I will wait for the netdev Sashiko review before sending.
> 
> Thanks! BTW, it is easier if you reply inline here below, to keep the
> context:
> 
> https://subspace.kernel.org/etiquette.html#do-not-top-post-when-replying
> 
>> On Wed, Oct 14, 2026 at 11:43 PM Matthieu Baerts <matttbe@kernel.org> wrote:
> (...)
> 
> Cheers,
> Matt

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.


  reply	other threads:[~2026-10-21 17:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-14 14:33 [RFC PATCH mptcp-next v3 0/3] mptcp: pm: kernel: retry subflows closed after an error Anil Kaushik
2026-10-14 14:33 ` [RFC PATCH mptcp-next v3 1/3] selftests: mptcp: connect: retry write() on EAGAIN Anil Kaushik
2026-10-14 14:42   ` sashiko-bot
2026-10-16  5:11   ` netdev-bot+sashiko
2026-10-14 14:33 ` [RFC PATCH mptcp-next v3 2/3] mptcp: pm: kernel: retry subflows closed after an error Anil Kaushik
2026-10-14 14:50   ` sashiko-bot
2026-10-14 18:13   ` Matthieu Baerts
2026-10-16  5:49     ` Anil Kaushik
2026-10-16  8:43       ` Matthieu Baerts
2026-10-21 17:48         ` Matthieu Baerts [this message]
2026-10-21 18:20           ` Anil Kaushik
2026-10-22  7:32             ` Matthieu Baerts
2026-10-22  9:24               ` Anil Kaushik
2026-10-22 10:28                 ` Matthieu Baerts
2026-10-22 11:04                   ` Anil Kaushik
2026-10-22 13:30                     ` Matthieu Baerts
2026-10-22 14:31                       ` Anil Kaushik
2026-10-22 15:50                         ` Matthieu Baerts
2026-10-22 16:12                           ` Anil Kaushik
2026-10-22 17:58                             ` Matthieu Baerts
2026-10-16  5:11   ` netdev-bot+sashiko
2026-10-14 14:33 ` [RFC PATCH mptcp-next v3 3/3] selftests: mptcp: join: validate subflow retry after link failure Anil Kaushik
2026-10-16  5:11   ` netdev-bot+sashiko
2026-10-14 15:39 ` [RFC PATCH mptcp-next v3 0/3] mptcp: pm: kernel: retry subflows closed after an error 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=ffc98c40-09d5-4299-8128-72cc0ed6beae@kernel.org \
    --to=matttbe@kernel.org \
    --cc=anilkaushikwireless@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 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.