Page MenuHomeFreeBSD

Keep doing SACK loss recovery when ACKs suddenly lack SACK blocks
Needs ReviewPublic

Authored by rscheff on Thu, Aug 4, 6:48 PM.

Details

Reviewers
thj
tuexen
jtl
rrs
glebius
Group Reviewers
transport
Summary

While a receiver should continue sending SACK blocks for the
duration of a SACK loss recovery, if for some reason the
TCP options no longer contain these SACK blocks, but we
already started maintaining the Scoreboard, keep on handling
incoming ACKs (without SACK) as belonging to the SACK recovery.

This should mitigate an issue with some clients.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 46871
Build 43760: arc lint + arc unit

Event Timeline

  • missed closing bracket, and PRR conditional
This revision is now accepted and ready to land.Thu, Aug 11, 3:27 PM

Will modify the 3 conditionals to an inline function, with added comments to the two corner cases (RTO when only pure non-SACK dupacks get received; RTO when client renegs receive buffer - and stops sending SACK blocks

  • make logic check an static inline function throughout
This revision now requires review to proceed.Fri, Aug 12, 12:00 AM