Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Aug 2014 15:55:21 +0100
From:      Tom Jones <jones@sdf.org>
To:        "Eggert, Lars" <lars@netapp.com>, freebsd-net@freebsd.org
Subject:   Re: Patches for RFC6937 and draft-ietf-tcpm-newcwv-00
Message-ID:  <20140826145517.GD12732@gmail.com>
In-Reply-To: <814E0886-1B6B-4316-8BAB-684DAFDE1983@netapp.com>
References:  <259C9434-C6FE-42EA-823D-ECB024DBF3D7@netapp.com> <B7145157-9A03-4053-BFCC-627633E20122@neville-neil.com> <814E0886-1B6B-4316-8BAB-684DAFDE1983@netapp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <gnn@neville-neil.com> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140826145517.GD12732>