From owner-freebsd-net@FreeBSD.ORG Thu Dec 17 19:28:46 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 797771065670 for ; Thu, 17 Dec 2009 19:28:46 +0000 (UTC) (envelope-from qing.li@bluecoat.com) Received: from whisker.bluecoat.com (whisker.bluecoat.com [216.52.23.28]) by mx1.freebsd.org (Postfix) with ESMTP id 619D88FC17 for ; Thu, 17 Dec 2009 19:28:46 +0000 (UTC) Received: from bcs-mail03.internal.cacheflow.com ([10.2.2.95]) by whisker.bluecoat.com (8.14.2/8.14.2) with ESMTP id nBHJSgwH014161; Thu, 17 Dec 2009 11:28:42 -0800 (PST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Date: Thu, 17 Dec 2009 11:28:36 -0800 Message-ID: In-Reply-To: <31264189.456321261063444556.JavaMail.coremail@bj126app49.126.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Bug discussion:Tcp snd_nxt will not be increased. Thread-Index: Acp/SY4IAyf5MlVuTLeGlVWWUClLyAABIxNA References: <31264189.456321261063444556.JavaMail.coremail@bj126app49.126.com> From: "Li, Qing" To: =?gb2312?B?zfW0urfn?= , "freebsd-net" Cc: Subject: RE: Bug discussion:Tcp snd_nxt will not be increased. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Dec 2009 19:28:46 -0000 Hi, Could you please tell us what version you are running? > > If the tcp_output just have some error, for example: when alloc mbuf, > it returns NULL, and then the snd_nxt number will not be return to > normal. > If just in this time, SYN Ack arrives, freeBSD can't handle this > situdition. > I have seen a related issue in older versions that I fixed, but it's = from=20 the SYN+ACK perspective. If my memory serves me right, local listener = receives a SYN packet, transmits the SYN+ACK, but memory allocation fails, so the SYN+ACK packet was never transmitted onto the wire, however, the SEQ = advanced by 1. As a result of SEQ update, the retransmitted SYN packet from the = other=20 end were discard as duplicates, eventually the connection times out. -- Qing