HomeFreeBSD

TCP Stacks, Improve rack to better handle reordering

Description

TCP Stacks, Improve rack to better handle reordering

With a recent bug in the igb (and a few other) driver LRO mis-queuing, rack did things ok, better
than the base stack, due to the rack reordering protections in rack, but there was still room for improvements.
When a series of packets are completely mis-ordered you often times can get the acks shortly after you have
entered recovery and retransmitted the first of the packets indicated in the sack stream. Then the cum-ack
arrives basically acking all those packets. If you look at the time from when you sent the packet to when the
ack came back you can quickly determine that the ack was not to what you just transmitted but instead
was original and you had a completely false recovery entry. Dropping out of that you can then restore the
congestion state and continue on your way. The Dup-acks that also arrive help increase your reordering windows
which makes you less likely to repeat the scenario.

Differential Revision:https://reviews.freebsd.org/D53832

Details

Provenance
rrsAuthored on Jan 5 2026, 4:30 PM
Parents
rG58a14d9596bd: inetd.conf: Correct rsync example
Branches
Unknown
Tags
Unknown