HomeFreeBSD

The TCP PAWS fix for kernels with fast tick rates (r231767) changed the TCP
rS239346Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

The TCP PAWS fix for kernels with fast tick rates (r231767) changed the TCP
timestamp related stack variables to reference ms directly instead of ticks.
The h_ertt(4) Khelp module relies on TCP timestamp information in order to
calculate its enhanced RTT estimates, but was not updated as part of r231767.

Consequently, h_ertt has not been calculating correct RTT estimates since
r231767 was comitted, which in turn broke all delay-based congestion control
algorithms because they rely on the h_ertt RTT estimates.

Fix the breakage by switching h_ertt to use tcp_ts_getticks() in place of all
previous uses of the ticks variable. This ensures all timestamp related
variables in h_ertt use the same units as the TCP stack and therefore results in
meaningful comparisons and RTT estimate calculations.

Reported & tested by: Naeem Khademi (naeemk at ifi uio no)
Discussed with: bz
MFC after: 3 days

Details

Provenance
lstewartAuthored on
Parents
rS239345: Make 'junk' volatile so that compilers won't be tempted to optimize
Branches
Unknown
Tags
Unknown

Event Timeline