[e2e] Modular/Pluggable TCP Congestion Control for FreeBSD
fred at cisco.com
Tue Dec 18 10:53:18 PST 2007
Thanks to each of you.
On Dec 18, 2007, at 4:55 AM, 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
>> the congestion control code in the TCP stack. It allows for new
>> congestion control algorithms to be developed as loadable kernel
>> This improves FreeBSD's usefulness as a TCP research platform and
>> 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"  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 congestion
>> 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 , 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.
> 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.
More information about the end2end-interest