Cilium's BPF kernel datapath revamped
summary
A redesigned TC BPF datapath implements FD-based TC BPF attachments with a 32-slot multi-attach array (default 32 slots) so multiple programs attach without implicit takeover, exposes attach/query/detach APIs, and adds BPF link support that pins ownership and allows atomic program updates. Microbenchmarks show it halves cycles to reach a BPF verdict when cache-hot. Kernel and libbpf integration exist as a proof-of-concept branch and supports migration from legacy CLS BPF.
AI-written summary · about
chapters (7)
- 0:00Introduction and motivation
- 3:56BPF links overview
- 8:33TC object model context
- 13:51BPF links in TC challenges
- 16:24Redesigned TC BPF datapath
- 20:43BPF links integration
- 23:11Q&A discussion
related talks
34mWhat's new in the BPF world?
32meBPF: BPF kernel infrastructure
21mCilium Beyond Linux: Extending eBPF to Windows...
38mUnderstanding and Troubleshooting the eBPF Datapath in Cilium
30mA Beginner's Guide to eBPF Programming for Networking
28mLessons from Building Scalable Network Policy Enforcement with eBPF
44mCilium - Container Security and Networking Using BPF and XDP
17mLightning Talk: eBPF based UPF (User Plane Function) for 5G
