eBPF (což už není zkratka pro nic), běžně označovaný také jako BPF, je technologie, která má původ v linuxovém jádře a dokáže spouštět programy v privilegovaném kontextu, jako je jádro operačního systému. Architektura použité instrukční sady byla nyní standardizována v RFC 9669.
Používá se k bezpečnému a efektivnímu rozšiřování možností jádra za běhu, aniž by bylo nutné měnit zdrojový kód jádra nebo načítat jeho rozšiřující moduly. Bezpečnost je zajištěna pomocí verifikátoru v jádře, který provádí statickou analýzu kódu a odmítá programy, které padají, zasekávají se nebo jinak negativně zasahují do jádra.
eBPF se používá mimo jiné v síťových subsystémech, jako je XDP (eXpress Data Path), trasování a zabezpečení. Pro zvýšení výkonu jej používá například Knot DNS (viz článek na Rootu) a umožňuje násobně zlepšit efektivitu využití výkonu serveru.
David Vernet v mailing listu jádra popisuje, jak vypadala dlouhá cesta ke standardu a proč je vůbec potřeba takový standard mít. Krátká odpověď zní: offload na zařízení. Někteří výrobci, jako například Netronome, již implementovali prvky, které jsou schopny spouštět programy XDP přímo na zařízení, nikoliv na procesoru.
Pokud tedy v BPF implementujete nástroj, který se rozhodne určité pakety zahazovat, je výhodnější to dělat už v síťové kartě.