Apply by doing: cd /usr/src patch -p0 < 032_tcp2.patch And then rebuild your kernel. Index: sys/netinet/tcp_input.c =================================================================== RCS file: /cvs/src/sys/netinet/tcp_input.c,v retrieving revision 1.158.2.4 retrieving revision 1.158.2.5 diff -u -p -r1.158.2.4 -r1.158.2.5 --- sys/netinet/tcp_input.c 20 Mar 2005 23:44:05 -0000 1.158.2.4 +++ sys/netinet/tcp_input.c 1 Apr 2005 15:32:53 -0000 1.158.2.5 @@ -1406,13 +1406,17 @@ trimthenstep6: /* * If last ACK falls within this segment's sequence numbers, - * record its timestamp. - * Fix from Braden, see Stevens p. 870 + * record its timestamp if it's more recent. + * Cf fix from Braden, see Stevens p. 870 */ if (opti.ts_present && TSTMP_GEQ(opti.ts_val, tp->ts_recent) && SEQ_LEQ(th->th_seq, tp->last_ack_sent)) { + if (SEQ_LEQ(tp->last_ack_sent, th->th_seq + tlen + + ((tiflags & (TH_SYN|TH_FIN)) != 0))) + tp->ts_recent = opti.ts_val; + else + tp->ts_recent = 0; tp->ts_recent_age = tcp_now; - tp->ts_recent = opti.ts_val; } /*