xPUs[1] have emerged as a way to address host CPU capacity being unable to keep up with link speed growths (1-400 gpbs is here and 1Tbps is coming).
Two talks cover xPU interaction with the Linux network stack. Both illustrate offloading of the kernel's VxLAN, L2 forward and routing tables.
The first talk, by Sandeep Nagapattinam et al, highlights an abstraction using P4 mapped to OVS. Offloading is done on the Intel Mount Evans IPU[2]. https://netdevconf.info/0x16/session.html?Linux-kernel-networking-accelerati...
The second talk, by Alexander Petrovskiy et al, covers a use case of accelerating L3 E-VPN exposing using the kernel tc flower offload mechanism and FRR for BGP distribution. Offloading is done on the Nvidia BlueField DPU[3]. More Details: https://netdevconf.info/0x16/session.html?Towards-a-layer%E2%80%933-data%E2%...
cheers, jamal
[1] XPU is a generalization of what some in the market refer to as a DPU(Data Processing Unit) and others refer to as IPU (Infrastructure Processing Unit). [2]https://www.intel.com/content/www/us/en/products/network-io/infrastructure-p... [3]https://www.nvidia.com/en-us/networking/products/data-processing-unit/