From owner-cvs-all Tue Sep 17 15:21:39 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 02ED537B401; Tue, 17 Sep 2002 15:21:38 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id BBE3943E4A; Tue, 17 Sep 2002 15:21:37 -0700 (PDT) (envelope-from dillon@FreeBSD.org) Received: from freefall.freebsd.org (dillon@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g8HMLbCo005356; Tue, 17 Sep 2002 15:21:37 -0700 (PDT) (envelope-from dillon@freefall.freebsd.org) Received: (from dillon@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g8HMLbg3005351; Tue, 17 Sep 2002 15:21:37 -0700 (PDT) Message-Id: <200209172221.g8HMLbg3005351@freefall.freebsd.org> From: Matt Dillon Date: Tue, 17 Sep 2002 15:21:37 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/netinet tcp_input.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG dillon 2002/09/17 15:21:37 PDT Modified files: sys/netinet tcp_input.c Log: Guido reported an interesting bug where an FTP connection between a Windows 2000 box and a FreeBSD box could stall. The problem turned out to be a timestamp reply bug in the W2K TCP stack. 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). If there is any packet loss on the connection for the first six or so packets the retransmit case may be hit (the window will still be too small for fast-retransmit), causing a 60+ second pause. The W2K box gives up and closes the connection. This commit works around the W2K bug. 15:04:59.374588 FREEBSD.20 > W2K.1036: S 1420807004:1420807004(0) win 65535 (DF) [tos 0x8] 15:04:59.377558 W2K.1036 > FREEBSD.20: S 4134611565:4134611565(0) ack 1420807005 win 17520 (DF) Bug reported by: Guido van Rooij Revision Changes Path 1.174 +23 -5 src/sys/netinet/tcp_input.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message