Inkluderet i GCC compiler suite
Udover en backend til bytekodegenerering inkluderer GCC en libgcc-port til eBPF og værktøjer til generering af ELF-filer, der gør det muligt at eksekvere kode i den virtuelle eBPF-maskine ved hjælp af kerne-leverede loaders. Patches til at understøtte eBPF i GCC blev udarbejdet af ingeniører fra Oracle, som allerede havde
Programmer til eBPF kan defineres i en delmængde af C-sproget, kompileres og indlæses i kernen. Før udførelse kontrollerer eBPF-fortolkeren bytekoden for brug af tilladte instruktioner og pålægger koden visse regler (for eksempel ingen sløjfer).
Oprindeligt blev LLVM-baserede værktøjer brugt til at kompilere eBPF på Linux. eBPF-understøttelse i GCC er interessant, fordi den giver dig mulighed for at bruge ét værktøjssæt til at bygge Linux-kernen og eBPF-programmerne uden at installere yderligere afhængigheder.
I form af eBPF-programmer kan du oprette netværksoperationshandlere, filtrere trafik, administrere båndbredde, overvåge systemer, opsnappe systemkald, kontrollere adgang, tælle frekvens og tidspunkt for operationer og udføre sporing ved hjælp af kprobes/uprobes/tracepoints.
Kilde: opennet.ru