forged tsecr giving -ve numbers in rtt calculation causing
retran
Richard Wendland
richard at starburst.demon.co.uk
Mon Jan 19 16:26:13 PST 2004
> Hm, wasn't this accounted for in rev 1.174 / 1.107.2.31? From Matt's
> commit log:
True. My notes must have been from an older version. Sorry.
> Of course, that doesn't account for other non-zero strange values. I
> guess the timestamp code needs a lot of work. :(
This does suggest Ken is seeing TSecr messed up in some other way than
simple zeroing.
I'd expect this to be a pretty rare event, and perhaps my suggestion
that the 64 sec TCPTV_REXMTMAX limit be implemented correctly is a
good enough solution on its own for a rare event. It should certainly
avoid the insane -450000000 tp->t_rxtcur Ken has seen. It's simple to
implement, does what was probably originally intended, and also protects
from bizarre problems with non-timestamp option SRTT calculation.
Full validation of TSecr would be nice, but perhaps excessive for
something that should not happen. A 64 second RTO may discourage such
strangeness :)
Richard
--
Richard Wendland richard at wendland.org.uk
More information about the freebsd-net
mailing list