In GCC wurde ein Backend zur Kompilierung nach eBPF aufgenommen

Im Set der GCC-Compiler ein Code zur Kompilierung von Programmen fĂŒr den in den Linux-Kernel eingebetteten Bytecode-Interpreter eBPF. Dank der Anwendung von JIT-Kompilierung wird Bytecode im Kernel zur Laufzeit in Maschineninstruktionen ĂŒbersetzt und mit der Leistung von nativen Code ausgefĂŒhrt. Patches mit UnterstĂŒtzung fĂŒr eBPF angenommen in den Branch, auf dem die GCC 10-Version entwickelt wird.

Neben dem Backend zur Generierung von Bytecode beinhaltet GCC einen Port von libgcc fĂŒr eBPF und Tools zur Erstellung von ELF-Dateien, die es ermöglichen, Code in der eBPF-virtuellen Maschine mit den vom Kernel bereitgestellten Bootloadern auszufĂŒhren. Patches zur UnterstĂŒtzung von eBPF in GCC wurden von Ingenieuren der Firma Oracle vorbereitet, die zuvor bereits unterstĂŒtzt haben eBPF in GNU binutils. In Entwicklung befindet sich auch ein Simulator sowie Patches fĂŒr GDB, die das Debuggen von eBPF-Programmen ohne Kernbeladung ermöglichen.

Programme fĂŒr eBPF können in einer Teilmenge der C-Sprache definiert, kompiliert und in den Kernel geladen werden. Vor der AusfĂŒhrung ĂŒberprĂŒft der eBPF-Interpreter den Bytecode auf die Einhaltung der zulĂ€ssigen Instruktionen und legt bestimmte Regeln fĂŒr den Code fest (z. B. keine Schleifen).
UrsprĂŒnglich wurde zur Kompilierung von eBPF in Linux ein auf LLVM basierendes Toolset verwendet. Die UnterstĂŒtzung von eBPF in GCC ist interessant, da sie die Verwendung eines einzigen Toolsets zur Erstellung des Linux-Kernels und von eBPF-Programmen ermöglicht, ohne zusĂ€tzliche AbhĂ€ngigkeiten installieren zu mĂŒssen.

In Form von eBPF-Programmen lassen sich Netzwerkoperationen verarbeiten, Verkehr filtern, Bandbreite verwalten, SystemaktivitĂ€ten ĂŒberwachen, Systemaufrufe abfangen, Zugriffe kontrollieren, HĂ€ufigkeit und AusfĂŒhrungszeit von VorgĂ€ngen zĂ€hlen sowie mit kprobes/uprobes/tracepoints Debugging durchfĂŒhren.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster