From owner-freebsd-net@FreeBSD.ORG Tue Dec 18 15:25:09 2007 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 5E63A16A420 for ; Tue, 18 Dec 2007 15:25:09 +0000 (UTC) (envelope-from rpaulo@gmail.com) Received: from fk-out-0910.google.com (fk-out-0910.google.com [209.85.128.191]) by mx1.freebsd.org (Postfix) with ESMTP id C02A813C4CC for ; Tue, 18 Dec 2007 15:25:08 +0000 (UTC) (envelope-from rpaulo@gmail.com) Received: by fk-out-0910.google.com with SMTP id b27so2878157fka.11 for ; Tue, 18 Dec 2007 07:25:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:message-id:from:to:cc:subject:in-reply-to:references:user-agent:x-cite-me:mime-version:content-type:sender; bh=yA2enVgHlU9452o7I76LQRYmPQp79E0vtXQXBEyGFz0=; b=DTiVGNExpuZiSOz8kuaGn9eSnIZdc3XHni5KqejOQuMJNp/g+ZOzo2zAGszqteFB975dAI7Kbdpw9fqz36PqTObkNf3fF1b0Zy+UAjfzGBoF5TP36OaNU/GWqIvE0HgzTnJImCseTqHHIXI9Y8C+pCGD15F4iMQT9/fzV2Nq9C0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:message-id:from:to:cc:subject:in-reply-to:references:user-agent:x-cite-me:mime-version:content-type:sender; b=u0qsELBaZjnUUqh0l4FSgqcJP7pfKOjARxx2jcd78eDPVeX3YOZbCYbRTRpjcB9SVDjCyDUtEI/H7U2rv7EiI+YRwdrEzM/pvZid0n560ZaTGTSHk6JO9o1jDCS/sZQh2l55XkKENAxbEsWGBgcD4XU6CG2gIFwHopiwhXhXTH4= Received: by 10.82.107.15 with SMTP id f15mr2969788buc.0.1197991506787; Tue, 18 Dec 2007 07:25:06 -0800 (PST) Received: from epsilon.local.gmail.com ( [193.126.201.240]) by mx.google.com with ESMTPS id m8sm6291900gvf.2007.12.18.07.25.05 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 18 Dec 2007 07:25:06 -0800 (PST) Date: Tue, 18 Dec 2007 15:24:40 +0000 Message-ID: <86sl20nhzb.wl%rpaulo@fnop.net> From: Rui Paulo To: Andre Oppermann In-Reply-To: <4767C338.4070709@freebsd.org> References: <47675291.5070101@swin.edu.au> <4767C338.4070709@freebsd.org> User-Agent: Wanderlust/2.15.5 (Almost Unreal) Emacs/21.3 Mule/5.0 (SAKAKI) X-cite-me: rpaulo MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: Rui Cc: "freebsd-net@freebsd.org" Subject: Re: Modular/Pluggable TCP Congestion Control for FreeBSD 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: Tue, 18 Dec 2007 15:25:09 -0000 Rui Paulo At Tue, 18 Dec 2007 13:55:20 +0100, Andre Oppermann wrote: > > Lawrence Stewart wrote: > > Hi all, > > We've been involved in a research project to implement and test an > > emerging TCP congestion control algorithm under FreeBSD. As a part of > > this, we've put together a patch for FreeBSD 7.0-BETA4 that modularises > > the congestion control code in the TCP stack. It allows for new > > congestion control algorithms to be developed as loadable kernel modules. > > This improves FreeBSD's usefulness as a TCP research platform and > > makes > > it easier to customise the stack for specific scenarios like high > > bandwidth, long delay paths. > > There is an accompanying technical report "Light-Weight Modular > > TCP Congestion Control for FreeBSD 7" [1] that covers the design, > > features, kernel interface and usage of the framework. Also on our > > website is > > a beta release of a module that implements the H-TCP[2] congestion control > > algorithm proposed by the Hamilton Institute. > > We believe that modular congestion control is a worthwhile addition > > to > > FreeBSD. We've performed significant internal testing and there are > > currently no known issues or regressions with the implementation > > compared to a 'vanilla' FreeBSD 7.0-BETA4 kernel. We would welcome > > further review and testing from the wider community in the hope of > > getting this > > patch folded into FreeBSD 8-CURRENT. > > SIFTR [3], our tool for monitoring FreeBSD kernel TCP connection > > state, has also > > received a minor update to v1.1.5, with the addition of 6 new, > > useful variables. > > All code and documentation is available on our website[3]. > > I've started to completely overhaul tcp_input and tcp_output > including separating out the congestion control. Actually it > is similiar to the way you seem to do it. > > A quick glance at your patch shows a couple of style issues > and a complete lack of locking. > > Let me get you a Perforce account so we can develop and complete > this work together. I'll create a Perforce branch and import my > code and work in progress. Andre, perhaps you could keep us, committers, more up to date with your projects? I've been asked to port my NetBSD tcp_congctl(9) API to FreeBSD at some point in time and I wasn't aware that you were working on the same thing. Perhaps you could create a branch for you in p4 so we could follow your work? Thanks. -- Rui Paulo