|
Description
VPP provides a host stack that supports TCP, UDP, and QUIC. The VPP transport stack is both much more scalable and much more performant than the kernel transport stack. Golang is a very commonly used Cloud Native Development langauge. Because Golang utilizes its own net.Listener and net.Conn instead of the C style BSD socket API, it should be much easier to produce a drop in replacement binding to the VPP TCP stack rather than the kernel stack. This project is to write an opportunistic (meaning it falls back to normal kernel networking if VPP Host Stack isn't available) Go binding to the VPP Hoststack.
Deliverables:
FD.io
Undergraduate should be fine as long as they have programming experience. This projects presumes the ability to program generally.
Skills in Go are highly preferred. Ability to read C code is extremely helpful.
Work is underway to allow the opportunistic use of VPP's Host Stack in Envoy. That work plus this work could lead to Cloud Native applications that could utilize an Envoy based Service Mesh with their 'TCP' traffic moving purely over a memory buffer to Envoy and then out via kernel bypass via VPP. This approach would significantly improve performance and scaling when deployed.
Either 40 hours a week for 12 weeks or 20 hours a week for 24 weeks are acceptable.
Ed Warnicke - hagbard@gmail.com - edwarnicke on the FD.io slack
Florin Coras - florin.coras@gmail.com - Florin Coras on the FD.io slack