În GCC a fost acceptat un backend pentru compilarea în eBPF

Setul de compilatoare GCC acceptat cod pentru compilarea programelor pentru interpretatorul de bytecode încorporat în nucleul Linux eBPF. Datorită utilizării compilării JIT, în nucleu bytecode-ul este în timp real transformat în instrucțiuni mașină și executat cu performanța codului nativ. Patch-uri cu suport pentru eBPF acceptate în ramura de dezvoltare a versiunii GCC 10.

Pe lângă backend-ul pentru generarea bytecode-ului, GCC include un port libgcc pentru eBPF și instrumente pentru generarea fișierelor ELF, care permit executarea codului în mașina virtuală eBPF folosind încărcătoarele furnizate de nucleu. Patch-uri pentru suportul eBPF în GCC au fost pregătite de inginerii de la Oracle, care anterior au asigurat suportul eBPF în GNU binutils. De asemenea, se află în dezvoltare un simulator și patch-uri pentru GDB, care vor permite depanarea programelor eBPF fără a fi încărcate în nucleu.

Programele pentru eBPF pot fi definite pe un subset al limbajului C, compilate și încărcate în nucleu. Înainte de executare, interpretatorul eBPF verifică bytecode-ul pentru utilizarea instrucțiunilor permise și impune anumite reguli asupra codului (de exemplu, absența buclelor).
Inițial, pentru compilarea eBPF în Linux era utilizat un instrumentar bazat pe LLVM. Suportul eBPF în GCC este interesant deoarece permite utilizarea aceluiași instrumentar pentru a construi nucleul Linux și programele eBPF, fără a instala dependențe suplimentare.

Sub formă de programe eBPF, pot fi create manipulatoare pentru operațiuni de rețea, se poate filtra traficul, gestiona lățimea de bandă, monitoriza funcționarea sistemelor, intercepta apelurile de sistem, controla accesul, număra frecvența și timpul execuției operațiunilor, efectua trasări folosind kprobes/uprobes/tracepoints.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster