Rack and BBR broken with the new timewait state purge.
authorRandall Stewart <rrs@FreeBSD.org>
Mon, 24 Oct 2022 19:47:29 +0000 (15:47 -0400)
committerRandall Stewart <rrs@FreeBSD.org>
Mon, 24 Oct 2022 19:47:29 +0000 (15:47 -0400)
commit31bc602ff811a20c8794f48061cccde9277c6a53
treeb5f1a2e030eb5389552e16a5d948fa29e5fee253
parent13b1d6f0c934e61736c2520df391e003b9fecd6a
Rack and BBR broken with the new timewait state purge.

We recently got rid of the explicit INP_TIMEWAIT state, this has caused some
minor breakage to both rack and bbr. Basically the timewait check that was
in tcp_lro.c is now gone. This means that compressed_ack and mbuf_queued
packets will arrive at TCP without going through tcp_input_with_port(). We need
to expand the check that was stripped to look at the tcp_state (t_state) and
not "LRO" packets that are in the TCPS_TIMEWAIT state.

Reviewed by: tuexen, gliebus
Sponsored by: Netflix Inc
Differential Revision: https://reviews.freebsd.org/D37080
sys/netinet/tcp_lro.c