Page MenuHomeFreeBSD

Tidying up all the conditionals, when a spurious RTO is unwound
ClosedPublic

Authored by rscheff on Jan 27 2022, 3:54 PM.
Tags
None
Referenced Files
F109829111: D34062.id101998.diff
Mon, Feb 10, 1:38 AM
F109799335: D34062.id102005.diff
Sun, Feb 9, 4:50 PM
F109774274: D34062.diff
Sun, Feb 9, 8:31 AM
Unknown Object (File)
Wed, Feb 5, 11:22 AM
Unknown Object (File)
Wed, Feb 5, 1:10 AM
Unknown Object (File)
Mon, Jan 27, 8:11 AM
Unknown Object (File)
Sun, Jan 19, 1:31 PM
Unknown Object (File)
Sat, Jan 18, 9:51 PM

Details

Summary

This is a split-off from D33979, where only an acute issue is addressed.

The below points were noted incidentially while addressing that TF_PREVVALID
must not, just by itself, be used as sole condition for restoring old TCP state.

  • Use the semantically correct TSTMP_xx macro when comparing timestamps. (No functional change)
  • check for bad retransmits only when TSopt is present in ACK (don't assume there will be a valid TSopt in the TCP options struct)
  • exclude tsecr == 0, since that most likely indicates an invalid ts echo return (tsecr) value.

Diff Detail

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