ABOUT THE AUTHOR

Dariusz Sosnowski

Senior Software Engineer

Dariusz is a Senior Software Engineer at CodiLime working with low-level system and networking software. He currently works on CodiLime’s in-house R&D team, researching data-plane packet processing solutions. He also took part in a project to port Tungsten Fabric's vRouter to Windows Server. After work, he likes running and is hoping to finish a half marathon someday. He’s also a film buff.

Dariusz Sosnowski

Recent posts by Dariusz:

Thumbnail of an article about How can DPDK access devices from user space?
SOFTWARE DEVELOPMENT
NETWORKS

How can DPDK access devices from user space?

DPDK (Data Plane Development Kit) is a set of libraries for implementing user space drivers for NICs (Network Interface Controllers). It provides a set of abstractions which allows a sophisticated packet processing pipeline to be programmed. But how does DPDK work? How is it able to access the hardware directly? How does it communicate with the hardware? Why does it require a UIO module (Userspace input-output)? What are hugepages and why are they so crucial? In this blog post I will try to explain, with a reasonable amount of detail, how a standard kernel space NIC driver works, how a user space program can access hardware and what can be gained from having it do so.