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.