Rust is a modern high performance systems language.
VPP is a high performance data plane. To date there is no Rust API bindings for VPP yet.
This internship would change that situation and provide the community with a way to very effectively use VPP from a modern ans safe language.
Having a high performance VPP API bindings library would be extremely helpful for more thorough and effective testing and better integration ppportunities.
https://gist.github.com/ayourtch/37107fc1e605d7d14b1c676b25a989f5 - Link to a work-in-progress roadmap
Study and analyze the existing bindings with other languages.
Identify the areas of improvement
Learn and practice the capabilities provided by Rust to make the bindings ergonomic and maintainable.
Progress or completion of one or the several items of the roadmap as enclosed.
Relation to LF Networking
Rust, reading Python and Golang
After the project is completed, it will be maintained as another means of interfacing with VPP and potentially used as another test language.
Preferred Hours and Length of Internship
Mentor(s) Names and Contact Info
Andrew Yourtchenko (firstname.lastname@example.org)