[e2e] Modular/Pluggable TCP Congestion Control for FreeBSD

Lawrence Stewart lastewart at swin.edu.au
Tue Dec 18 23:54:42 PST 2007

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

All code and documentation is available on our website[3].

Jim and Lawrence

[1] http://caia.swin.edu.au/reports/071218A/CAIA-TR-071218A.pdf
[2] http://www.hamilton.ie/net/htcp3.pdf
[3] http://caia.swin.edu.au/urp/newtcp/tools.html

More information about the end2end-interest mailing list