From owner-freebsd-net@FreeBSD.ORG Tue Aug 26 14:55:21 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 31900FE5 for ; Tue, 26 Aug 2014 14:55:21 +0000 (UTC) Received: from mail-wi0-x231.google.com (mail-wi0-x231.google.com [IPv6:2a00:1450:400c:c05::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BB359305C for ; Tue, 26 Aug 2014 14:55:20 +0000 (UTC) Received: by mail-wi0-f177.google.com with SMTP id ho1so4302339wib.4 for ; Tue, 26 Aug 2014 07:55:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:hackerspace:user-agent; bh=PLtysD1bb0PdcV5lCAC92CzAqvogrzHHG/N7EGrLVsw=; b=ypae7sMN/p/D5YjUOP5E6MXoIB2x9jRmpYBUICHi6FdQGG2MUzMQ/vdKK+VZc2IfR2 hcK3GNxCkpXy6vZumZ4OK/b0Oe12Xp2Qq567B5zJhqljMYT/wJWv6YzYtmMKCaKUkBBV ta9ryEH3sHPKruqa8DpzLFOd4fav/28TuJfkX6rckzgyXN4t0aaqyA1I9AmhOwMZa9ce aeWdfAzmpxhJejVQoUJSXXOL/NdyySeFulJF3ProjToAvTFiOvNaSAEfEwlurXgxV6fs XD9aBT5boiU+0/Q7VulPDjnwF338fUfS8MW1gMFAM6OJQzeKRzl6H2KOXg4C4E4fdVAL NkSQ== X-Received: by 10.180.86.65 with SMTP id n1mr22608423wiz.41.1409064918802; Tue, 26 Aug 2014 07:55:18 -0700 (PDT) Received: from gmail.com (tom-imac.erg.abdn.ac.uk. [139.133.204.26]) by mx.google.com with ESMTPSA id w1sm13070745wib.1.2014.08.26.07.55.17 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 Aug 2014 07:55:18 -0700 (PDT) Sender: Tom Jones Date: Tue, 26 Aug 2014 15:55:21 +0100 From: Tom Jones To: "Eggert, Lars" , freebsd-net@freebsd.org Subject: Re: Patches for RFC6937 and draft-ietf-tcpm-newcwv-00 Message-ID: <20140826145517.GD12732@gmail.com> References: <259C9434-C6FE-42EA-823D-ECB024DBF3D7@netapp.com> <814E0886-1B6B-4316-8BAB-684DAFDE1983@netapp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <814E0886-1B6B-4316-8BAB-684DAFDE1983@netapp.com> Hackerspace: 57North Hacklab User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2014 14:55:21 -0000 On Tue, Aug 26, 2014 at 02:43:49PM +0000, Eggert, Lars wrote: > Hi, > > the newcwv patch is probably stale now with Tom Jones' recent patch based on > a more up-to-date version of the Internet-Draft, but the PRR patch should > still be useful? My newcwv patch is much more up to date than Aris's, but it is slightly different in implementation. I have had a few suggestions from Adrian, but he couldn't comment on how it relates to the tcp internals. There is a PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191520 The biggest difference in structure between mine and Aris's patch is the use of tcp timers. It would be good to hear if my approach or Aris's is prefered. > On 2014-6-19, at 23:35, George Neville-Neil wrote: > > > On 4 Feb 2014, at 1:38, Eggert, Lars wrote: > > > >> Hi, > >> > >> below are two patches that implement RFC6937 ("Proportional Rate Reduction for TCP") and draft-ietf-tcpm-newcwv-00 ("Updating TCP to support Rate-Limited Traffic"). They were done by Aris Angelogiannopoulos for his MS thesis, which is at https://eggert.org/students/angelogiannopoulos-thesis.pdf. > >> > >> The patches should apply to -CURRENT as of Sep 17, 2013. (Sorry for the delay in sending them, we'd been trying to get some feedback from committers first, without luck.) > >> > >> Please note that newcwv is still a work in progress in the IETF, and the patch has some limitations with regards to the "pipeACK Sampling Period" mentioned in the Internet-Draft. Aris says this in his thesis about what exactly he implemented: > >> > >> "The second implementation choice, is in regards with the measurement of pipeACK. This variable is the most important introduced by the method and is used to compute the phase that the sender currently lies in. In order to compute pipeACK the approach suggested by the Internet Draft (ID) is followed [ncwv]. During initialization, pipeACK is set to the maximum possible value. A helper variable prevHighACK is introduced that is initialized to the initial sequence number (iss). prevHighACK holds the value of the highest acknowledged byte so far. pipeACK is measured once per RTT meaning that when an ACK covering prevHighACK is received, pipeACK becomes the difference between the current ACK and prevHighACK. This is called a pipeACK sample. A newer version of the draft suggests that multiple pipeACK samples can be used during the pipeACK sampling period." > >> > >> Lars > >> > >> > >> [prr.patch] > >> > >> [newcwv.patch] > > > > Apologies for not looking at this as yet. It is now closer to the top of my list. > > > > Best, > > George > -- Tom @adventureloop adventurist.me :wq