15 releases
0.8.0 | Jun 16, 2023 |
---|---|
0.7.0 | Jan 20, 2022 |
0.6.1 | Jul 15, 2021 |
0.5.5 | Feb 17, 2020 |
0.4.2 | Oct 29, 2018 |
#503 in Unix APIs
119 downloads per month
Used in 2 crates
265KB
6.5K
SLoC
Portus
Portus is an implementation of a congestion control plane (CCP). It is a library that can be used to write new congestion control algorithms in user-space.
Congestion control algorithm implementations live in independent crates which use this library for common functionality. Each algorithm crate provides a binary which runs a CCP with that algorithm activated.
Further documentation is available on docs.rs.
Setup
- Install rust. See http://rust-lang.org/ for details.
make
. This will build and lint the portus library and bundled algorithm libraries and binaries, and run unit tests.
Notes
- The
ipc::netlink
andipc::kp
modules will only compile on Linux. If the CCP kernel module (github.mit.edu/nebula/ccp-kernel) is loaded, the test will refuse to run.
Run
There are no algorithm binaries in this repository: it is just a library and runtime for CCP algorithms. You may be interested in https://github.com/ccp-project/generic-cong-avoid, which provides implementations of Reno and Cubic, or https://github.com/ccp-project/bbr, a BBR implementation.
Dependencies
~5–14MB
~177K SLoC