Re: [PATCH net 2/2] Revert "net: advertise TCP MSS from the configured MTU, not the learned PMTU"
From: Jiayuan Chen
Date: Tue Oct 27 2026 - 09:51:31 EST
On 10/27/26 9:12 PM, Esko Mobius wrote:
On 10/27/26 1:45 PM, Jiayuan Chen wrote:
This precondition does all the work. The server only learns the PMTUYou are right. Without seeding, 6.12.107 stalls the same way:
when it sends a full-size segment itself. [...]
Please re-run the 6.12.107 case without seeding the PMTU.
kernel PMTU seeded SYN-ACK MSS 1 MB upload
6.12.107 no 1460 stalls
6.12.107 yes (ping) 1416 OK
My reproducer took a shortcut there. What it should have modelled is
our production setup, which is the masquerading relay you describe:
the clients share the relay's address, so ordinary downloads by other
clients keep the server's PMTU entry fresh. Modelling that directly,
with no artificial seeding (cliA downloads 1 MB, then cliB, behind a
firewall dropping frag-needed, uploads 1 MB through the same relay):
kernel SYN-ACK MSS to cliB cliB upload
6.12.107 1416 OK
6.12.111 1460 stalls
Thanks Esko for the testing, and Eric for the explanation. Agreed.
So I agree it was never a designed mechanism, it is the side effect
Eric describes. We have since added MSS clamping on our relays.
If it helps, I can send a v2 that describes the masquerading case
instead of the seeded one in the changelog. And I am happy to test
the net-next follow-up on this setup.
No need for a v2 from my side, I just wanted to confirm the actual scenario.
I saw your report earlier but was swamped and could not get to it in time, sorry about that.
Reviewed-by: Jiayuan Chen <jiayuan.chen@xxxxxxxxx>
Thanks,
Esko