On 8/21/20 3:56 AM, Jesper Dangaard Brouer wrote: > Hi XDP-newbies and cloud-providers, > > I want to promote the recent excellent work by David Ahern (maintainer of > several kernel networking components). Ahern explains in detail how to use > XDP for lowering CPU usage (and increasing performance) on the host machine > running the Cloud VMs. Making it more efficient for a cloud provider. > > Ahern is explaining and calling for collaboration at many levels. (Note > [xxx] brackets indicate link below). His [Talk#1] at NetDevConf have not > been released on [YouTube] yet, but [Slides] are available. In [Blogpost#2] > you can see the results for XDP vs OVS, and to understand how CPU-overhead > is measured read [Blogpost#1]. He have even released the [Code] on GitHub, > and encourage people to reproduce his results. > > I encourage other cloud providers to collaborate with Ahern. XDP is a core > kernel building block, but we need to create FOSS projects that explore > different use-case (e.g xdp-cloud-provider). XDP is still early days, and as > Ahern already discovered, trying out this Cloud-VMs use-case have identified > several gotchas and missing XDP features that we should work on > adding/fixing in upstream kernels. > Hi Jesper: Thanks for bringing this to xdp-newbies. I would definitely welcome others to get involved. I had high hopes that this use case would fall out of zabiplane work, but that project died. Right now the code is integrated into in my repo for my convenience as I move between hosts and VMs. If / when others get involved, I am open to moving the code for the cloud host use case to another repo (under xdp-project/xdp-cloud-provider?) and setting up lists similar to what you have for xdp-project as a whole. I also have other code in a private repository that I can pull over as well — e.g., handling decap of vxlan packets to get the inner packet to do the forwarding lookup. It is best used with hardware hints which can mark vxlan packets to limit the overhead. We really need to get the hardware hints code committed it is key to making this use case a reality.
![]() |