Ozan Sazak

An Applied Introduction to eBPF with Go

What if you could reprogram the Linux kernel in minutes, without a reboot? Learn how to build powerful system tools with Go and eBPF.

An Applied Introduction to eBPF with Go
#1about 2 minutes

What is eBPF and why should you use it

eBPF allows you to run custom sandboxed code inside the Linux kernel without modifying kernel source code or loading modules.

#2about 3 minutes

Understanding user space versus kernel space architecture

An operating system is divided into user space for applications and kernel space for core functions, with system calls acting as the interface.

#3about 2 minutes

Why eBPF is better than traditional kernel programming

eBPF provides a safer and more dynamic way to run code in the kernel compared to recompiling the kernel or writing unstable kernel modules.

#4about 2 minutes

How the eBPF architecture and workflow operates

An eBPF program written in C is compiled to bytecode, loaded into the kernel, and executed by a virtual machine when a specific event occurs.

#5about 3 minutes

Writing an eBPF program in C to trace processes

This code walkthrough demonstrates how to write a C program that uses a ring buffer map to capture process ID and name on creation.

#6about 3 minutes

Loading the eBPF program with a Go user space application

Learn how to use the Cilium eBPF library in Go to generate bindings, load the eBPF object, and attach it to a kernel probe (Kprobe).

#7about 3 minutes

A deeper look at eBPF hooks and maps

Understand the role of different hook types like Kprobes and map types like ring buffers for attaching to events and sharing data.

#8about 5 minutes

Tracing network packets at the driver level with XDP

This example shows how to use an XDP hook and an LRU hash map to efficiently count incoming IP packets directly from the network interface.

#9about 2 minutes

Exploring real-world eBPF projects and use cases

Discover how open-source projects like Cilium and companies like Edge Delta use eBPF for Kubernetes networking, security, and observability.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust