Thereโs a fast-growing industry trend in the adoption of eBPF to accelerate Kubernetes infrastructure (Cilium, Calico โฆ). AFXDP is a new type of socket that is optimized for high performance packet processing based on eBPF and eXpress Data Path-XDP. XDP allows you to attach an eBPF program to a lower-level hook inside the kernel (aka the NIC Driver). It offers some very promising performance increases for microservices while allowing them to adhere to cloud native design principles. There are however some challenges for deploying a microservice based on AFXDP. This talk will cover an introduction to AF_XDP, why it is suited to cloud native microservices, how it can be deployed today and the deployment challenges as well as their solutions.
The industry is shifting from the Virtual Network Function (VNF) to the Cloud-native Network Function (CNF). Cloud native networking requires more than just high performance, it requires a whole host of cloud native qualities. The Linux kernel network stack is not able to deliver the necessary performance and the existing high-performance data plane solutions donโt integrate well with cloud native methodologies.
AFXDP (Address Family eXpress Data Path), a new socket type first introduced in Linux kernel 4.18 and quickly being included by default in the major distros, is an excellent fit for containerized network functions. AFXDP trades away some of the performance attained by the extremely performant data plane networking solutions, but what it gains in return is a huge amount of flexibility, portability and usability that make it an ideal network solution for cloud native functions
In this talk we would like to discuss the challenges we faced in deploying microservices that wish to use AF_XDP on Kubernetes and some of the solutions we are working on to address these challenges. In doing so we hope to create an awareness of these challenges and gain feedback and hopefully even some help from the community to solve them and take cloud native networking to the next level.