Announcing the Release of a Userspace TCP Stack
Dan Levin
dlevin at net.t-labs.tu-berlin.de
Tue Oct 26 21:20:55 UTC 2010
At Mike Perry's request, I'd like to announce the recent availability of a tunable, BSD-licensed Userspace TCP Stack. I'll just post my original email exchange from yesterday below, which includes all the details:
------------------------ 8< ------------------------
Hi Mike,
I hope my TCP code may prove useful. Our code comes out of a research
project for enabling legacy TCP-speaking end-hosts to interface with
new, clean slate wireless mesh transport protocols. Our sources can be
obtained as part of the TCPSpeaker Element of the Click Modular Router
project:
git clone git://bowl.net.t-labs.tu-berlin.de/click.git
git checkout tcpspeaker
All TCP-specific code is contained in the two files:
elements/local/tcpspeaker.cc
elements/local/tcpspeaker.hh
To build the code as a click element (which I'm not certain may be
your desired use case)
./configure --disable-linuxmodule --enable-userlevel --enable-local&&
make
To get a high-level overview of our design, which may assist in your
retooling it to your needs, here's a video from the SyClick workshop
which gives a nice explanation:
http://www.syclick.ua.ac.be/content/multiflowdispatcher-and-tcpspeaker-video
A 3-page abstract:
http://www.net.t-labs.tu-berlin.de/papers/LSMS-TCDSSS-10a.pdf
A (slightly longer) Thesis:
http://www.net.t-labs.tu-berlin.de/~dlevin/mthesis/main.pdf
This thesis contains a lot (possibly too much) documentation on the
TCPSpeaker Click Element. The implementation section may give some
useful insights. At the end in the Appendix, there are some tables
documenting the TCPSpeaker element handlers. Finally, if anyone wishes
to try running this within click, there are some example click
configurations given in the click repository under
conf/tcpspeaker-{avila,avila-baseline}.click
------------------------ 8< ------------------------
I'm happy to provide whatever further information or assistance I can, if our code appears useful to anyone.
-Dan
More information about the tor-dev
mailing list