Kernel Bypass Networking

Discussions focus on high-performance networking techniques that bypass the kernel stack, such as DPDK, AF_XDP, XDP, and Netmap, comparing their speed advantages, use cases, and trade-offs against traditional kernel networking.

📉 Falling 0.4x DevOps & Infrastructure
3,004
Comments
19
Years Active
5
Top Authors
#1743
Topic ID

Activity Over Time

2008
1
2009
1
2010
21
2011
14
2012
28
2013
60
2014
136
2015
240
2016
216
2017
156
2018
255
2019
247
2020
274
2021
234
2022
302
2023
262
2024
308
2025
227
2026
22

Keywords

RAM XDP CSPF AMD ROUTE BPF cloudflare.com ECC TLS IP kernel packets bypass nic network user space packet userspace performance stack

Sample Comments

a-dub • Jan 31, 2022 • View on HN

will this compete with the performance of kernel bypass networking? (and potentially obsolete it someday?)

tyingq • Aug 27, 2020 • View on HN

I believe they are talking about "user space networking", like Intel's DPDK. Skipping the kernel and context switches, etc.

tptacek • Apr 5, 2024 • View on HN

What I think you're describing here is AF_XDP (just for a simpler search term).

xmichael999 • Feb 18, 2019 • View on HN

Any reason this article completely skipped over the userspace tools like DPDK and Netmap (there are many others). Considering cloudflare uses a customer version of nginx using the dpdk stack?

Thaxll • Oct 2, 2014 • View on HN

What is the performance, does it bypass the kernel for the network stack or it's just a linux bundled with compatible hardware?

lern_too_spel • Jan 29, 2020 • View on HN

You're correct. I don't know why you're downvoted. Anything you can do to get performance with kernel bypass techniques can be done inside the kernel as well.

gpderetta • Dec 16, 2018 • View on HN

For network io, an userspace accelerated network stack is probably better though.

s1m0n • Sep 7, 2015 • View on HN

Wouldn't it be more efficient to just have all or nearly all packets bypass the network kernel? Why compromise?

saber6 • Feb 7, 2020 • View on HN

That's the point of DPDK: to get the kernel out of the way of packet processing.Userland packet processing (in network context) is much more flexible and less brittle than forcing certain functionality to exist solely in the Kernel layer. However things do exist that allow you to (mostly) transparently re-jigger a standard app's TCP/IP calls. One such example is using LD_PRELOAD to "hijack" the sys-calls for certain things and snake it to your (super high performance)

gjulianm • Jul 5, 2022 • View on HN

That's not the reality. The kernel network stack does a lot of things that for some applications are not needed, so DPDK is used for those cases when they need very high performance. For example, packet capture, routing, packet generation... I don't think I've seen anyone rewriting what the kernel does precisely because when you use DPDK you don't want to do what the kernel does.