Sisältyy GCC-kääntäjäsarjaan
Tavukoodin luomiseen tarkoitetun taustaohjelman lisäksi GCC sisältää libgcc-portin eBPF:lle ja työkalut ELF-tiedostojen luomiseen, jotka mahdollistavat koodin suorittamisen eBPF-virtuaalikoneessa ytimen toimittamilla latausohjelmilla. Oraclen insinöörit valmistivat korjaustiedostoja eBPF:n tukemiseksi GCC:ssä
eBPF:n ohjelmat voidaan määrittää C-kielen osajoukossa, kääntää ja ladata ytimeen. Ennen suoritusta eBPF-tulkki tarkistaa tavukoodin sallittujen käskyjen käytön varalta ja asettaa koodille tiettyjä sääntöjä (esimerkiksi ei silmukoita).
Aluksi eBPF:n kääntämiseen Linuxissa käytettiin LLVM-pohjaisia työkaluja. eBPF-tuki GCC:ssä on mielenkiintoinen, koska sen avulla voit käyttää yhtä työkalupakkia Linux-ytimen ja eBPF-ohjelmien rakentamiseen ilman lisäriippuvuuksien asentamista.
eBPF-ohjelmien muodossa voit luoda verkkotoimintojen käsittelijöitä, suodattaa liikennettä, hallita kaistanleveyttä, valvoa järjestelmiä, siepata järjestelmäpuheluita, ohjata pääsyä, laskea toimintojen taajuutta ja kestoa sekä suorittaa jäljitystä kprobes/uprobes/tracepoints avulla.
Lähde: opennet.ru