Application areas such as time sensitive networking and packet processing usually require some combination of high throughput, low latency and determinism in their packet processing characteristics. Satisfying these requirements with standard sockets have been found to be challenging, so application writers have resorted to use bare-metal solutions such as DPDK and vendor specific SDKs. While these solutions often manage to meet the tough performance goals, they break a number of security properties of Linux, poses integration challenges and are a lot harder to use than standard sockets.
In this session, we present XDP sockets (AF_XDP), that was introduced in Linux 4.18. XDP sockets have been designed from ground up to be able to deterministically deliver sub microsecond packet latencies and process many millions of packets a second. We will present how to use XDP sockets from user space, an overview of the kernel and driver implementation, as well as a performance evaluation.
Magnus Karlsson is a Principal Engineer at Intel. Magnus joined Intel in late 2014 through the acquisition of LSI's/Avago's networking processor business and has worked for the past 25 years with low-level SW such as operating systems, hypervisors, networking, and boot loaders as... Read More →
Björn is a Linux kernel networking hacker at Intel, with a a soft spot for memory models, all things networking, and RISC-V. He's a wannabe librarian, coffee addict, and kernel maintainer.