https://github.com/fwsgonzo/userspace
https://github.com/fwsgonzo/userspace
cpp cpp17 includeos network-stack tcp-ip userspace-networking
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/fwsgonzo/userspace
- Owner: fwsGonzo
- Created: 2019-04-21T10:47:55.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2020-03-19T19:21:24.000Z (almost 6 years ago)
- Last Synced: 2025-02-01T09:41:39.120Z (12 months ago)
- Topics: cpp, cpp17, includeos, network-stack, tcp-ip, userspace-networking
- Language: C++
- Size: 93.8 KB
- Stars: 0
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Userspace Linux platform
### Installation
* Get a modern compiler
* gcc 7.3 or later
* clang-8 or later
* Create userspace services that includes userspace.cmake
* Build the userspace service like a normal CMake project
* mkdir -p build && cd build
* cmake ..
* make -j16
* Run the resulting binary as a normal linux program
* You can avoid having to run with sudo with bridge permissions
### Options
* Apply your own CMake code to the 'service' target:
* `target_link_libraries(service mylib)`
* CMake options:
* See the top of userspace.cmake
* For PGO training you will have to automate the process yourself
### Testing it
Run one of the test services in /services with one of the scripts. If you get the error `RTNETLINK answers: File exists`, flush the interface with `sudo ip addr flush dev bridge43`. Where bridge43 is the interface name. You might have to do the same if the interface stops responding. If all else fails, restart your machine.