BPF: The future of configs
BPF has some wow-presentations, showing how it enables new performance measuring and tracing. Brendan Gregg has a whole bunch, for example. But I don’t think’s it’s very well explained just why BPF is such a big deal.
Most of the demos are essentially cool and useful looking tools, with an “oh by the way BPF made this happen”. Similar to how it’s common to see announcements about some software, where the very title of the announcement ends with “written in Go”. It gives a vibe of “so what?”.
If you’re interested in system tooling and configuration, and aren’t already aware of BPF, then this is for you.
I’m not an expert on BPF, but this will hopefully help someone else bootstrap faster.
bpftrace
bpftrace is really cool. Clearly it’s inspired by dtrace. But one should not mistake bpftrace for BPF. bpftrace is only yet another tool that uses BPF, albeit one that allows you to create trace points in a domain specific language.
This is not the full power of BPF. It’s not at all the big picture.
BPF and configs
Let’s take packet filtering as an example. Once upon a time in Linux
there was ipfwadm. I Continue reading

