Re: [PATCH mptcp-next v3] mptcp: honour configured min/max RTO in retransmit paths
Kalpan Jani <[email protected]> Tue, 04 Aug 2026 17:58:34 +0530
| Newsgroups | dev.linux.lists.mptcp |
|---|---|
| Message-ID | <19fccbf4342.1a9db47f221406.2661422723033045309@mpiricsoftware.com> |
Hi Matt,
Thanks for taking a look.
> I guess at least the commit message should be updated, because the MPTCP
> sockets do not perform routing lookups. It could only do it when a
> subflow has been selected, which is not the case in the cases you
> modified. Same for the socket option: it is not available yet.
Ah right, I missed that. So effectively only the two sysctls matter here,
since that's what gets seeded in __mptcp_init_sock(). I'll fix the commit
message to say that, and drop the claims about the route metric and the
socket options.
> Also, maybe better to directly use icsk_rto_{min,max} to avoid
> confusions, no? By doing that, you can remove the exception for "ip
> route ... rto_min 0" that doesn't influence anything here anyway from
> what I understood.
Yes, makes sense. That also gets rid of the __mptcp_init_sock() special
case I added in v2 for the lockdep splat, so everything reads the icsk
fields the same way. And agreed the rto_min 0 check can go, the sysctl
can't go below 1us anyway.
I'd still keep the max_t(..., 1) inside the ilog2() though: nothing
stops someone from setting tcp_rto_min_us higher than tcp_rto_max_ms
(they're validated separately), and then rto_max / rto_min is 0. I'll
add a comment for that.
> It would be good to have a validation for this. Because it is
> time-sensitive, the easier would be to do it with Packetdrill. Here, no
> need to create a new one, simply extend existing ones, e.g.
> mptcp/dss/dss_fin_retrans_* -> we could set the tcp_rto_max_ms sysctl to
> have a shorter time, no? If at least one test is modified to validate
> your modifications in mptcp_set_datafin_timeout(), that would be good.
Good idea. I'll try with tcp_rto_max_ms=3D1000 (the minimum) in
dss_fin_retrans_established.pkt: with the default rto_min that caps the
shift at ilog2(5) =3D 2, so the intervals should stop doubling after
~800ms. The current test only checks 3 retransmissions and the
divergence should be on the 4th one, so I'll extend it a bit and check
it fails on a kernel without the patch. Packetdrill patch to follow
separately.
Will send a v4 with all that if it sounds good to you.
Cheers,
Kalpan Jani
From: Matthieu Baerts <[email protected]>
To: "Kalpan Jani"<[email protected]>, "mptcp"<[email protected]=
x.dev>
Cc: "martineau"<[email protected]>, "pabeni"<[email protected]>, "shardu=
l.b"<[email protected]>, "janak"<[email protected]>, "kalpanjani00=
9"<[email protected]>, "Lixiasong1"<[email protected]>
Date: Mon, 03 Aug 2026 23:04:58 +0530
Subject: Re: [PATCH mptcp-next v3] mptcp: honour configured min/max RTO in =
retransmit paths
> Hi Kalpan,
>=20
> On 03/08/2026 06:52, Kalpan Jani wrote:
> > Hi all,
> >=20
> > Gentle ping on this v3, sent on 2026-06-17:-
> >=20
> > https://lore.kernel.org/all/20260617114508.253716-1-kalpan.jani@mpir=
icsoftware.com/
>=20
> Sorry, thank you for your patience. The priority is on the fixes, and we
> are trying to go through all patches when we can. But I admit is way
> longer than usual.
>=20
> > I didn't get any CI results or review comments on it, so I want to
> > make sure it didn't get lost somewhere. As far as I can tell it was
> > sent to the right list with the right prefix.
>=20
> It looks like the CI didn't manage to send the notification. I restarted=
it.
>=20
> It looks like the AI review was available:
>=20
>=20
> https://sashiko.dev/#/patchset/20260617114508.253716-1-kalpan.jani%40mpi=
ricsoftware.com
>=20
> I guess at least the commit message should be updated, because the MPTCP
> sockets do not perform routing lookups. It could only do it when a
> subflow has been selected, which is not the case in the cases you
> modified. Same for the socket option: it is not available yet.
>=20
> Also, maybe better to directly use icsk_rto_{min,max} to avoid
> confusions, no? By doing that, you can remove the exception for "ip
> route ... rto_min 0" that doesn't influence anything here anyway from
> what I understood.
>=20
> > Happy to rebase and resend as v4 if that is easier, or to rework it
> > if this isn't the approach you'd like for issue #618.
>=20
> It would be good to have a validation for this. Because it is
> time-sensitive, the easier would be to do it with Packetdrill. Here, no
> need to create a new one, simply extend existing ones, e.g.
> mptcp/dss/dss_fin_retrans_* =E2=86=92 we could set the tcp_rto_max_ms sy=
sctl to
> have a shorter time, no? If at least one test is modified to validate
> your modifications in mptcp_set_datafin_timeout(), that would be good.
>=20
> WDYT?
>=20
> Cheers,
> Matt
> --=20
> Sponsored by the NGI0 Core fund.
>=20
>=20