Modular/Pluggable TCP Congestion Control for FreeBSD
lastewart at swin.edu.au
Mon Dec 17 22:09:07 PST 2007
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"  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 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 , 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.
Jim and Lawrence
More information about the freebsd-net