HomeFreeBSD

tcp: fix duplicate retransmissions when RTO happens during SACK loss recovery

Description

tcp: fix duplicate retransmissions when RTO happens during SACK loss recovery

When snd_nxt doesn't track snd_max, partial SACK ACKs may elicit
unexpected duplicate retransmissions. This is usually masked by
LRO not necessarily ACKing every individual segment, and prior
to RFC6675 SACK loss recovery, harder to trigger even when an
RTO happens while SACK loss recovery is ongoing.

Address this by improving the logic when to start a SACK loss recovery
and how to deal with a RTO, as well as improvements to the adjusted
congestion window during transmission selection.

Reviewed By: tuexen, cc, transport
Sponsored by: NetApp, Inc.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D43355

Details

Provenance
rscheffAuthored on Oct 10 2024, 10:50 AM
Reviewer
transport
Differential Revision
D43355: tcp: fix erroneous transmission selection after RTO w/ SACK incoming
Parents
rGd9daa28c364d: sysctl vm.vm_objects: report cdev name for device-backed objects
Branches
Unknown
Tags
Unknown