Zahrnuté v kompilátorovom balíku GCC
Okrem backendu na generovanie bajtkódu obsahuje GCC port libgcc pre eBPF a nástroje na generovanie súborov ELF, ktoré umožňujú spúšťať kód vo virtuálnom stroji eBPF pomocou zavádzačov poskytovaných jadrom. Záplaty na podporu eBPF v GCC pripravili inžinieri zo spoločnosti Oracle, ktorí to už urobili
Programy pre eBPF môžu byť definované v podmnožine jazyka C, skompilované a načítané do jadra. Pred vykonaním eBPF interpret skontroluje bajtový kód na použitie povolených inštrukcií a uloží určité pravidlá pre kód (napríklad žiadne slučky).
Spočiatku sa na kompiláciu eBPF v systéme Linux používali nástroje založené na LLVM. Podpora eBPF v GCC je zaujímavá, pretože vám umožňuje použiť jednu sadu nástrojov na zostavenie linuxového jadra a programov eBPF bez inštalácie ďalších závislostí.
Vo forme programov eBPF môžete vytvárať manipulátory sieťových operácií, filtrovať prevádzku, spravovať šírku pásma, monitorovať systémy, zachytávať systémové volania, riadiť prístup, počítať frekvenciu a čas operácií a vykonávať sledovanie pomocou kprobes/uprobes/tracepoints.
Zdroj: opennet.ru