Inkludita en la GCC-kompila serio
Aldone al backend por bajtkoda generacio, GCC inkluzivas libgcc-havenon por eBPF kaj ilojn por generado de ELF-dosieroj, kiuj ebligas efektivigi kodon en la virtuala maŝino de eBPF uzante kern-provizitajn ŝargilojn. Flikaĵoj por subteni eBPF en GCC estis preparitaj de inĝenieroj de Oracle, kiuj jam havis
Programoj por eBPF povas esti difinitaj en subaro de la C-lingvo, kompilitaj kaj ŝarĝitaj en la kernon. Antaŭ ekzekuto, la eBPF-interpretisto kontrolas la bajtkodon por la uzo de permesitaj instrukcioj kaj trudas certajn regulojn al la kodo (ekzemple, neniuj bukloj).
Komence, LLVM-bazitaj iloj estis uzitaj por kompili eBPF sur Linukso. eBPF-subteno en GCC estas interesa ĉar ĝi permesas vin uzi unu ilaron por konstrui la Linuksan kernon kaj eBPF-programojn, sen instali pliajn dependecojn.
En la formo de eBPF-programoj, vi povas krei retoperaciajn prizorgantojn, filtri trafikon, administri bendolarĝon, monitori sistemojn, kapti sistemajn vokojn, kontroli aliron, kalkuli la frekvencon kaj tempon de operacioj, kaj fari spuradon uzante kprobes/uprobes/tracepoints.
fonto: opennet.ru