Modify TCP receive buffer size auto scaling to use the smoothed RTT
authoryasuoka <yasuoka@openbsd.org>
Mon, 7 Nov 2022 11:22:55 +0000 (11:22 +0000)
committeryasuoka <yasuoka@openbsd.org>
Mon, 7 Nov 2022 11:22:55 +0000 (11:22 +0000)
commit00007ca37eafa7b89f0bc525e5d9422d2458477f
treeb0b249ff012805691d40f2c39fbe7996dd25c4f7
parent44e1f38769613700cf6d7ee3779e7f8af5df97e8
Modify TCP receive buffer size auto scaling to use the smoothed RTT
(SRTT) instead of the timestamp option.  Since the timestamp option is
disabled on some OSs (eg. Windows) or dropped by some
firewalls/routers, in such a case the window size had been fixed at
16KB, this limits throughput at very low on high latency networks.
Also replace "tcp_now" from 2HZ tick counter to binuptime in
milliseconds to calculate the SRTT better.

tested by krw matthieu jmatthew dlg djm stu stsp
ok claudio
lib/libc/sys/sysctl.2
sys/netinet/tcp_input.c
sys/netinet/tcp_output.c
sys/netinet/tcp_subr.c
sys/netinet/tcp_timer.c
sys/netinet/tcp_timer.h
sys/netinet/tcp_usrreq.c
sys/netinet/tcp_var.h