TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How is eBPF a big deal?

5 pointsby singluereover 4 years ago
Hi everyone! I've been hearing from friends who are infra/sec engineers about how eBPF is a big deal and a game changer. Since I barely understand the associated jargon and the value, it provides, I was wondering if someone can explain in simple words, how it is a game changer?

4 comments

tptacekover 4 years ago
It&#x27;s a scripting language for the kernel (well, a language VM). There&#x27;s something like 2500 different tracepoints you can attach scripts to, in addition all of network I&#x2F;O. The programs you load with eBPF are very unlikely to disrupt the system, because of the limitations of the eBPF verifier.<p>Other people are talking about observability stuff, but for comparison, we build features on it: <a href="https:&#x2F;&#x2F;fly.io&#x2F;blog&#x2F;bpf-xdp-packet-filters-and-udp&#x2F;" rel="nofollow">https:&#x2F;&#x2F;fly.io&#x2F;blog&#x2F;bpf-xdp-packet-filters-and-udp&#x2F;</a>
lovelearningover 4 years ago
eBPF gives access to kernel-level information that&#x27;s normally hidden from userland tools.<p>For example, I once wanted to find out which processes were sending out DNS queries.<p>It sounds like a simple problem but common tools like netstat or wireshark can&#x27;t tell you the process which sent out a DNS query, only the sending port.<p>The reason is that the sending port is a short-lived randomly selected ephemeral port which the kernel opens, sends a quick chirp of data and closes within milliseconds. The sending process isn&#x27;t traceable even using more complex tools like strace or auditd.<p>I used eBPF &#x2F; bcc APIs to instrument a kernel-level function and data structures in UDP networking code and report the PID and port every time a DNS query is sent out.<p>It&#x27;s like attaching a user-friendly debugger to large portions of the linux kernel.
detaroover 4 years ago
Not sure if this is jargon-free enough, but maybe it helps: <a href="https:&#x2F;&#x2F;www.joyfulbikeshedding.com&#x2F;blog&#x2F;2019-01-31-full-system-dynamic-tracing-on-linux-using-ebpf-and-bpftrace.html" rel="nofollow">https:&#x2F;&#x2F;www.joyfulbikeshedding.com&#x2F;blog&#x2F;2019-01-31-full-syst...</a>
kasey_junkover 4 years ago
Safe. Low impact. Kernel level observability.<p>You’ve not been able to get all 3 of those at the same time.