Rust CNI is an implementation of the Container Network Interface (CNI) in Rust. CNI provides a general solution for network connectivity for containers.
The project is currently in its early stages of development, and we welcome contributions from the community. If you are interested in contributing.
Rust CNI aims to provide a more performant and reliable alternative to the existing CNI implementations. By leveraging the features and strengths of Rust, we hope to address some of the common issues faced by other implementations, such as memory safety and concurrency.
I'm current writing a golang style Netlink library for rust: netlink-ng. Much easier to use, believe me.
- Fast and efficient networking for containers
- Memory safe and concurrent handling of network connections
- Easy to integrate with existing container orchestration tools
- Fully compatible with the CNI specification
Here is a list of CNI plugins that we plan to support. This list is based on the plugins listed at CNI plugins.
- bridge
- flannel
- portmap
- ipvlan
- macvlan
- ptp
- vlan
- loopback
- tuning
- bandwidth
- sbr
- firewall
- static
- host-local
- dhcp
Rust CNI is released under the MIT License.