GCC ayeuna kalebet backend pikeun kompilasi kana eBPF

Kaasup dina GCC compiler suite ditarima kode pikeun ngompilasi program pikeun kernel Linux juru basa bytecode eGMP. Hatur nuhun kana pamakéan kompilasi JIT, nu bytecode kernel ditarjamahkeun on fly kana parentah mesin sarta dieksekusi kalawan kinerja kode asli. Patch kalayan dukungan eBPF ditarima ka cabang ti mana GCC 10 release dimekarkeun.

Salian backend pikeun generasi bytecode, GCC ngawengku port libgcc pikeun eBPF sarta parabot pikeun generating file ELF nu ngamungkinkeun pikeun ngaéksekusi kode dina mesin virtual eBPF ngagunakeun loaders-disadiakeun kernel. Patch pikeun ngadukung eBPF di GCC disiapkeun ku insinyur ti Oracle, anu parantos disadiakeun rojongan eBPF di GNU binutils. Simulator sareng patch pikeun GDB ogé nuju dikembangkeun, anu bakal ngamungkinkeun anjeun nga-debug program eBPF tanpa ngamuat kana kernel.

Program pikeun eBPF tiasa dihartikeun dina sawaréh tina basa C, disusun sareng dimuat kana kernel. Sateuacan palaksanaan, juru eBPF pariksa bytecode pikeun pamakéan parentah diidinan sarta maksakeun aturan nu tangtu dina kode (contona, euweuh loop).
Mimitina, pikeun ngompilasi eBPF dina Linux Toolchain berbasis LLVM dianggo. Dukungan eBPF dina GCC pikaresepeun sabab ngamungkinkeun panggunaan hiji toolchain pikeun kompilasi kernel. Linux sareng program eBPF, tanpa masang dependensi tambahan.

Dina bentuk program eBPF, anjeun tiasa ngadamel pawang operasi jaringan, lalu lintas nyaring, ngatur rubakpita, sistem monitor, telepon sistem intercept, aksés kontrol, ngitung frékuénsi sareng waktos operasi, sareng ngalaksanakeun tracing nganggo kprobes / uprobes / tracepoints.

sumber: opennet.ru

Mésér hosting anu dipercaya pikeun situs anu gaduh panyalindungan DDoS, server VPS VDS 🔥 Meser hosting situs wéb anu tiasa dipercaya nganggo panyalindungan DDoS, server VPS VDS | ProHoster