Learning eBPF: Maps, Ring Buffers and Output

I set the stage for learning eBPF. As mentioned in the previous post, eBPF is a technology that allows us to run code in the kernel. This is a compelling technology, but it comes with a few limitations. One of them is that we can’t use the standard output to print messages. At least not directly. Let’s explore how we can do this. Why can’t I use the standard input/output? Let’s look at this picture The eBPF programs are executed in the kernel....

June 10, 2023 · 7 min · Robert Nemet

Learning eBPF: Setting up the environment

For a while, I’ve been following stuff around eBPF, and it is very promising. What I just wrote is an understatement. At first glance, eBPF is bringing many new possibilities to our toolbox. You can start with performance profiling, tracing, security, networking, etc. But let’s start from the beginning. By the way, I’m doing this on OSX. For eBPF, you need Linux kernel 4.1 or newer. So, I’ll be running some VMs....

May 8, 2023 · 6 min · Robert Nemet