Kasama sa GCC compiler suite
Bilang karagdagan sa isang backend para sa pagbuo ng bytecode, ang GCC ay may kasamang libgcc port para sa eBPF at mga tool para sa pagbuo ng mga ELF file na ginagawang posible na magsagawa ng code sa eBPF virtual machine gamit ang mga kernel-provided loader. Ang mga patch upang suportahan ang eBPF sa GCC ay inihanda ng mga inhinyero mula sa Oracle, na mayroon na
Ang mga programa para sa eBPF ay maaaring tukuyin sa isang subset ng wikang C, na pinagsama-sama at na-load sa kernel. Bago ang pagpapatupad, sinusuri ng interpreter ng eBPF ang bytecode para sa paggamit ng mga pinahihintulutang tagubilin at nagpapataw ng ilang partikular na panuntunan sa code (halimbawa, walang mga loop).
Sa una, ang mga tool na nakabatay sa LLVM ay ginamit upang i-compile ang eBPF sa Linux. Ang suporta sa eBPF sa GCC ay kawili-wili dahil pinapayagan ka nitong gumamit ng isang toolkit upang buuin ang Linux kernel at mga programa ng eBPF, nang hindi nag-i-install ng mga karagdagang dependency.
Sa anyo ng mga programang eBPF, maaari kang lumikha ng mga tagapangasiwa ng pagpapatakbo ng network, mag-filter ng trapiko, mamahala ng bandwidth, magmonitor ng mga system, humarang sa mga tawag sa system, kontrolin ang pag-access, bilangin ang dalas at oras ng mga operasyon, at magsagawa ng pagsubaybay gamit ang mga kprobes/uprobes/tracepoint.
Pinagmulan: opennet.ru