I hope I can finish this.
A Work-in-progress composable and lightweight library for writing P4Runtime controller in Rust. The goal is to bring powerful & expressive tools into the world of P4 and SDN so that developers can test their ideas faster.
It's trying to provide multi-level APIs for writing controllers with different complexity (see Examples below). Some design come from the tutorials of P4 and ONOS.
- rusty-p4-core. The core of rusty-p4, providing the basic building blocks like App trait, Service trait, P4 runtime, Pipeconf, flow and some other things.
- rusty-p4-packet. Provides methods to parse packets.
- rusty-p4-northbound. Provides impls for northbound server.
- rusty-p4-app. Provides some simple application implementation.
Current version hasn't been published, so to use it, add
rusty-p4 = { git="https://github.com/another-s347/rusty-p4" }
to your Cargo.toml.