Stream-based heterogonous link aggregation
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
client
deps
libreactor
multilink
scripts
terminate
tests
.gitignore
.gitmodules
.ycm_extra_conf.py
CMakeLists.txt
COPYING
LICENSE
README.md
TODO.md
future_usage.md
identity_default

README.md

Multilink

Multilink is an implementation of my stream-based aggregation of unreliable heterogeneous network links paper. That is, it allows you to create one stable and fast connection based on mutliple crappier links. It is not usable yet, but it soon will be.

Build

  1. Checkout submodules
git submodule update --init --recursive
  1. Install dependencies
apt-get install libboost-program-options-dev libboost-filesystem-dev ninja-build cmake

or equivalent for your distro.

  1. Configure
mkdir build && (cd build && cmake -GNinja ..)
  1. Build
ninja -C build

If build fails with linker error mentioning boost::program_options, it may be a problem with your compiler version.

Bundled libraries

  • lwip (deps/lwip) - with modifications from BadVPN. The lwip_tcp.cpp is inspired by the BadVPN tun2socks.
  • json11 (deps/json11) - JSON manipulation librarary from Dropbox.