On 8/7/19 11:12 PM, Eric Dumazet wrote:
On 8/8/19 1:52 AM, Josh Hunt wrote:
The current implementation of TCP MTU probing can considerably
underestimate the MTU on lossy connections allowing the MSS to get down to
48. We have found that in almost all of these cases on our networks these
paths can handle much larger MTUs meaning the connections are being
artificially limited. Even though TCP MTU probing can raise the MSS back up
we have seen this not to be the case causing connections to be "stuck" with
an MSS of 48 when heavy loss is present.
Prior to pushing out this change we could not keep TCP MTU probing enabled
b/c of the above reasons. Now with a reasonble floor set we've had it
enabled for the past 6 months.
I am still sad to see you do not share what is a reasonable value and let
everybody guess.
It seems to be a top-secret value.
Haha, no sorry I didn't mean for it to come across like that.
We are currently setting tcp_base_mss to 1348 and tcp_mtu_probe_floor to
1208. I thought I mentioned it in our earlier mails, but I guess I did
not put the exact #s. 1348 was derived after analyzing common MTU we see
across our networks and noticing that an MTU of around 1400 would cover
a very large % (sorry I don't have the #s handy) of those paths. 1400 -
20 - 20 - 12 = 1348. For the floor we based it off the v6 min MTU of
1280 and subtracted out headers, etc, so 1280 - 40 - 20 - 12 = 1208.
Using a floor of 1280 MTU matches what the RFC suggests in section 7.7
for v6 connections, we're just applying that to v4 right now as well. I
guess that brings up a good point, would per-IP proto floor sysctls be
an option here for upstream (the RFC suggests different floors for v4
and v6)? For now I'm not sure it makes sense b/c of the problems we see
with lossy connections, but in the future if that can be resolved it
seems like it would give some more flexibility.
I'd like to investigate this all further at some point to see if we can
make it work better for lossy connections. It looks like one of the
problems is there are a # of conditions which cause us to not probe in
the upward direction. I'm not sure if any of those can be
relaxed/changed and if so would help these connections out.
Thanks
Josh