The journey of BPF from restricted C language towards extended and safe C.
summary
BPF moves from a tiny, restricted C subset to an extended, safer C by adding concrete features: a preserve access index front-end that yields symbolic field accesses, runtime-resolved type IDs and sizes, exception-style safe loads with generated exception tables, a Linker and libraries, and a typed allocation model (kptr/new) that enforces ownership. Production use is proven by Katran’s XDP load balancer; community activity averages ~70 emails/day and ~110 monthly contributors. Work-in-progress adds statically checked locks and assertions to help the verifier accept more complex data structures.
AI-written summary · about
chapters (8)
- 0:00Welcome and introduction
- 0:43Mission and motivation behind BPF
- 7:25BPF as innovation enabler
- 10:58Evolution from restricted to extended C
- 17:00C language extensions in BPF
- 22:16Modern BPF vs classic BPF
- 27:44BPF as a better kernel development tool
- 29:51Q&A on BPF user expectations
related talks
32meBPF: BPF kernel infrastructure
47mBPF: The Status of BTF, producers, consumers.
45mSupporting BPF in the GNU Toolchain
34mWhat's new in the BPF world?
29meBPF on the Rise - Getting Started
33meBPF: exploring use case of BPF kernel infrastructure
32meBPF: The Next Power Tool of SREs
57mBPF and Security. Friends and Foes
