forged tsecr giving -ve numbers in rtt calculation causing retran

Mike Silbersack silby at silby.com
Sun Jan 18 23:21:05 PST 2004


On Fri, 16 Jan 2004, Richard Wendland wrote:

> I'd hazard a guess that you are seeing zero, not forged, TSECRs.
> Windows sets TSECR zero on SYN-ACK when it does a passive open.  This is
> established Windows behaviour for several years, and there is a reading
> of RFC1323 that might justify this.

Hm, wasn't this accounted for in rev 1.174 / 1.107.2.31?  From Matt's
commit log:

---
...
FreeBSD sends a
timestamp with the SYN, W2K returns a timestamp of 0 in the SYN+ACK
causing FreeBSD to calculate an insane SRTT and RTT, resulting in
a maximal retransmit timeout (60 seconds).
...
This commit works around the W2K bug.
---

Of course, that doesn't account for other non-zero strange values.  I
guess the timestamp code needs a lot of work. :(

Mike "Silby" Silbersack


More information about the freebsd-net mailing list