From owner-freebsd-net Tue Sep 24 13:19:56 2002 Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8C9DA37B401 for ; Tue, 24 Sep 2002 13:19:55 -0700 (PDT) Received: from isilon.com (isilon.com [65.101.129.58]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C08143E7B for ; Tue, 24 Sep 2002 13:19:55 -0700 (PDT) (envelope-from pete@isilon.com) Received: from localhost (localhost [127.0.0.1]) by isilon.com (8.12.2/8.11.1) with ESMTP id g8OKJsUc037655 for ; Tue, 24 Sep 2002 13:19:54 -0700 (PDT) (envelope-from pete@isilon.com) Date: Tue, 24 Sep 2002 13:19:54 -0700 (PDT) From: Peter Godman To: freebsd-net@freebsd.org Subject: NewReno implementation questions. Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org While looking at why packet loss was so disastrous in the application I'm working on, I noticed an oddity in a CURRENT snapshot taken in January, which I believe is the same today. Basically, there's some ack handling code that looks like: if (SEQ_LEQ(th->th_ack, tp->snd_una)) { if (tlen == 0 && tiwin == tp->snd_wnd) { /* dupack handling code */ ... } else { tp->t_dupacks = 0; } So what this seems to say to my untrained eye is that we should reset the dupacks, i.e. leave newreno fast recovery, if non-ack-only traffic comes from the other end. However, that the remote side decided to send data seems unrelated to whether we have successfully completed recovery and consequently don't need to retransmit in response to partial acks. I appreciate any and all advice about this code and whether this is desirable behaviour for some reason I haven't thought of. I will triple check RFC 2852 to see whether and if so why this is prescribed behaviour. Thanks Peter Godman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message