Page MenuHomeFreeBSD

tcp: ensure that SACK hole->rxmit never ends up left of the hole with LRD
ClosedPublic

Authored by rscheff on Aug 4 2025, 7:34 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Oct 10, 5:32 AM
Unknown Object (File)
Fri, Oct 10, 5:32 AM
Unknown Object (File)
Fri, Oct 10, 5:32 AM
Unknown Object (File)
Fri, Oct 10, 12:02 AM
Unknown Object (File)
Sun, Sep 28, 9:13 PM
Unknown Object (File)
Fri, Sep 26, 8:21 AM
Unknown Object (File)
Sep 16 2025, 5:07 PM
Unknown Object (File)
Sep 9 2025, 5:37 PM

Details

Summary

When a RTO happens during SACK loss recovery, snd_recover can possibly pulled left.
With Lost Retransmission Detection (LRD) this can lead to rxmit of a hole to end up
pointing to the left of the hole, which is unexpected and leads to complications.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Aug 4 2025, 7:52 PM

I am ok with this patch. But I want to be sure how snd_recover shrinks. Is it because tp->snd_recover = tp->snd_recover_prev in CC_RTO_ERR? But that shall not be in SACK recovery.