Termasuk dalam suite pengkompil GCC
Selain bahagian belakang untuk penjanaan bytecode, GCC menyertakan port libgcc untuk eBPF dan alatan untuk menjana fail ELF yang memungkinkan untuk melaksanakan kod dalam mesin maya eBPF menggunakan pemuat yang disediakan kernel. Tampalan untuk menyokong eBPF dalam GCC telah disediakan oleh jurutera dari Oracle, yang telah pun melakukannya
Program untuk eBPF boleh ditakrifkan dalam subset bahasa C, disusun dan dimuatkan ke dalam kernel. Sebelum pelaksanaan, jurubahasa eBPF menyemak kod bait untuk penggunaan arahan yang dibenarkan dan mengenakan peraturan tertentu pada kod (contohnya, tiada gelung).
Pada mulanya, alatan berasaskan LLVM digunakan untuk menyusun eBPF pada Linux. Sokongan eBPF dalam GCC adalah menarik kerana ia membolehkan anda menggunakan satu kit alat untuk membina program kernel Linux dan eBPF, tanpa memasang kebergantungan tambahan.
Dalam bentuk program eBPF, anda boleh membuat pengendali operasi rangkaian, menapis trafik, mengurus lebar jalur, memantau sistem, memintas panggilan sistem, mengawal akses, mengira kekerapan dan masa operasi, dan melakukan pengesanan menggunakan kprobes/uprobes/titik jejak.
Sumber: opennet.ru