Nel pacchetto GCC è stato aggiunto un backend per la compilazione in eBPF

Nella suite di compilatori GCC è stato adottato il codice per la compilazione di programmi per l'interprete di bytecode integrato nel kernel Linux eBPF. Grazie all'uso della compilazione JIT, il bytecode nel kernel viene tradotto in istruzioni macchina in tempo reale ed eseguito con le prestazioni di codice nativo. I patch con supporto per eBPF sono state adottate sono stati integrati nella branch su cui si basa il rilascio di GCC 10.

Oltre al backend per la generazione di bytecode, GCC include un porting di libgcc per eBPF e strumenti per la creazione di file ELF, che permettono di eseguire il codice in una macchina virtuale eBPF utilizzando i bootloader forniti dal kernel. I patch per il supporto di eBPF in GCC sono stati preparati da ingegneri della Oracle, i quali avevano già fornito supporto per eBPF in GNU binutils. È in corso di sviluppo anche un simulatore e patch per GDB, che permetteranno di eseguire il debug di programmi eBPF senza caricarli nel kernel.

I programmi per eBPF possono essere definiti su un sottoinsieme del linguaggio C, compilati e caricati nel kernel. Prima dell'esecuzione, l'interprete eBPF controlla il bytecode per verificare l'applicazione delle istruzioni consentite e impone determinate regole sul codice (ad esempio, l'assenza di cicli).
Inizialmente, per la compilazione di eBPF in Linux veniva usato uno strumento basato su LLVM. Il supporto di eBPF in GCC è interessante in quanto consente di utilizzare un unico set di strumenti per la costruzione del kernel Linux e dei programmi eBPF, senza l'installazione di dipendenze aggiuntive.

Nella forma di programmi eBPF, è possibile creare gestori per operazioni di rete, filtrare il traffico, gestire la larghezza di banda, monitorare il funzionamento dei sistemi, intercettare chiamate di sistema, controllare l'accesso, contare la frequenza e il tempo di esecuzione delle operazioni, eseguire il tracciamento utilizzando kprobes/uprobes/tracepoints.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster