From owner-freebsd-net@FreeBSD.ORG Fri Jun 20 08:14:05 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 3B7328F8 for ; Fri, 20 Jun 2014 08:14:05 +0000 (UTC) Received: from mail-wg0-x22f.google.com (mail-wg0-x22f.google.com [IPv6:2a00:1450:400c:c00::22f]) (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 C601622EE for ; Fri, 20 Jun 2014 08:14:04 +0000 (UTC) Received: by mail-wg0-f47.google.com with SMTP id k14so3293194wgh.6 for ; Fri, 20 Jun 2014 01:14:02 -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=M9mda/aiqMsvcw78p6+/u5Du+FuyRyeTa6Y/8nwsyQg=; b=vpkSj2bY7mPMRfJKiBEtDBVmlJGuvebhX4vABVhyEKzwT21UoTU61LQLMlpyTgDbTL 1dF9vN2cKT9TeFUEiB3tl0kYwVMHHQIcAhiriwPmkouoqslw8wIGWt4vgSh5OKIg9pUe oLiq5DhlDsEqOSasEPY1YnS07MtOgL4GM5t9W5I1erLTd+uCz8rrDpwi0Jse/f4vTBuF uNFlPG9vKx8ggWjZm+M0H0WCF2pZZ0VaUo1vS42mi5ho2KBMeWBLbkMM+CZQIQ1BF2Tf 34cQ0LDfjsoWiWanxqB13TuYEqZaYsjxMZHvsZEZWEmt4ChE78PZIKWMXcJzM5KteMYx 8+Dg== X-Received: by 10.180.126.8 with SMTP id mu8mr2293585wib.10.1403252042026; Fri, 20 Jun 2014 01:14:02 -0700 (PDT) Received: from gmail.com (host86-149-215-142.range86-149.btcentralplus.com. [86.149.215.142]) by mx.google.com with ESMTPSA id cy4sm2513085wib.5.2014.06.20.01.14.00 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Jun 2014 01:14:01 -0700 (PDT) Sender: Tom Jones Date: Fri, 20 Jun 2014 09:13:58 +0100 From: Tom Jones To: freebsd-net@freebsd.org Subject: Re: Patches for RFC6937 and draft-ietf-tcpm-newcwv-00 Message-ID: <20140620081356.GA54735@gmail.com> References: <259C9434-C6FE-42EA-823D-ECB024DBF3D7@netapp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Hackerspace: 57North Hacklab User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Jun 2014 08:14:05 -0000 On Thu, Jun 19, 2014 at 02:35:13PM -0700, 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 Hi George, I have a set of patches for draft-ietf-tcpm-newcwv-06 that I was going to bring to the list in the next few days. My implementation is a port of the Linux implementation by a colleague of mine at the University of Aberdeen. Feeback on how Aris hooked in his newcwv calls would be helpful. -- Tom @adventureloop adventurist.me #pragma summon cthulhu :wq