Software Engineering Radio - the podcast for professional software developers

Episode 445: Thomas Graf on eBPF (extended Berkeley Packet Filter)

Feb 2, 2021
Thomas Graf, Co-Founder of Cilium and CTO of Isovalent, dives deep into the world of eBPF and XDP. He discusses how these technologies revolutionize networking, observability, and security by enabling efficient packet processing and real-time monitoring. Thomas contrasts traditional and modern kernel development practices while exploring the role of eBPF in microservices and Kubernetes. He emphasizes its benefits over conventional methods, such as improved system reliability and performance, along with how major tech companies are investing in this evolving field.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
ADVICE

Writing and Loading eBPF Programs

  • Write eBPF programs primarily in restricted subset of C using LLVM or GCC for compilation.
  • Use existing loaders like libbpf or TC to load, verify, and attach programs to kernel hook points.
INSIGHT

eBPF Verifier Protects Kernel

  • The eBPF verifier ensures programs are safe by checking code size, completeness, and absence of infinite loops.
  • This guarantees eBPF programs can't crash or stall the kernel, unlike kernel modules.
INSIGHT

eBPF Enables Live Troubleshooting

  • eBPF allows live application performance troubleshooting without modifying or restarting applications.
  • The kernel’s ability to observe system-wide activity provides powerful, transparent monitoring in production.
Get the Snipd Podcast app to discover more snips from this episode
Get the app