unet is a user space TCP/IP stack I'm writing to learn about networking. It is inspired by picotcp and smoltcp, two awesome well documented network stacks.
- boost - Required
- gflags - Optional
- googletest - Optional
- benchmark - Optional
You will need Meson and Ninja to build. The basic steps are:
meson build && cd build && ninja
The following special targets are provided:
- install: Installs the library and headers on your system
- test: Runs unit tests, don't forget to
meson configure -Db_sanitize=address
- benchmark: Runs benchmarks, don't forget to
meson configure -Dbuildtype=release
- smoke: Runs smoke tests
- format: Runs
clang-format
on the source
A dev VM w/a build environment is provided. Just vagrant up && vagrant ssh
.
The included unit tests will run on Linux, macOS, etc. The included smoke tests will only run successfully on a Linux system because they rely on a TAP interface. The provided Linux VM has a TAP interface setup for these tests.