userspace network stack

This is an extremely small and fast TCP/UDP/IP stack implementation on top of packet socket or netchannels interface.

Benchmarks:

  • Socket vs netchannels. 128 bytes chunks over gigabit ethernet test.
  • 128 and 4096 bytes sending and receiving test over gigabit ethernet via netchannel.

Supported features:

  • TCP/UDP sending and receiving.
  • Timestamp, window scaling, MSS TCP options.
  • PAWS.
  • Slow start and congestion control.
  • Socket-like interface.
  • IP and ethernet processing code.
  • Complete retransmit algorithm.
  • Fast retransmit support.
  • Support for TCP listen state (peer-to-peer mode with single channel).
  • Netchannels interface and packet socket support.

TODO:

  • libunetstack.so or libtcp.so library interface.
  • SACK support

Userspace network stack was originally created to be user with peer-to-peer netchannels.

The latest version is always available in archive or
via git tree (web interface).