Tuesday, October 15, 2019

Linux eager to fail TCP Fast Open

I was trying to test a few servers for TCP Fast Open support. After some failed attempts, my client stopped sending fast open cookie request entirely, and it wouldn't send them until I restarted. After some looking around, I found that Linux disables client-side TCP Fast Open globally, for an hour, then 2,4,8 hours, if it encounters 3 consecutive timeouts. I only learned this because I looked at the kernel source code: https://github.com/torvalds/linux/blob/master/net/ipv4/tcp_fastopen.c#L553

I think this is very significant. Is this documented anywhere? I don't see it mentioned in the RFC: https://tools.ietf.org/html/rfc7413

at least not globally on the client side. Do people know about this? Any reference would be helpful. Thank you!



No comments:

Post a Comment