Përfshirë në paketën e përpiluesit të GCC
Përveç një backend për gjenerimin e bytecode, GCC përfshin një portë libgcc për eBPF dhe mjete për gjenerimin e skedarëve ELF që bëjnë të mundur ekzekutimin e kodit në makinën virtuale eBPF duke përdorur ngarkues të ofruar nga kernel. Arna për të mbështetur eBPF në GCC u përgatitën nga inxhinierë nga Oracle, të cilët tashmë e kishin bërë
Programet për eBPF mund të përcaktohen në një nënbashkësi të gjuhës C, të kompilohen dhe të ngarkohen në kernel. Përpara ekzekutimit, përkthyesi eBPF kontrollon bajtkodin për përdorimin e udhëzimeve të lejuara dhe vendos disa rregulla në kod (për shembull, pa unaza).
Fillimisht, mjetet e bazuara në LLVM u përdorën për të përpiluar eBPF në Linux. Mbështetja eBPF në GCC është interesante sepse ju lejon të përdorni një paketë veglash për të ndërtuar programet e kernelit Linux dhe eBPF, pa instaluar varësi shtesë.
Në formën e programeve eBPF, ju mund të krijoni mbajtës të funksionimit të rrjetit, të filtroni trafikun, të menaxhoni gjerësinë e brezit, të monitoroni sistemet, të përgjoni thirrjet e sistemit, të kontrolloni aksesin, të numëroni frekuencën dhe kohën e operacioneve dhe të kryeni gjurmimin duke përdorur kprobes/upprobes/pikat gjurmë.
Burimi: opennet.ru