Instrukční sada BPF je nyní standardizována v RFC 9669

6. 11. 2024

Sdílet

Kyber tučňák Tux Autor: Root.cz s využitím DALL-E

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 Vernetmailing 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ě.

Našli jste v článku chybu?

Autor zprávičky

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.