La ejecución de programas de kernel eBPF sigue ganando popularidad y se utiliza para una variedad de casos de uso en entornos de producción, pero uno de los desafíos es la necesidad de compilar los programas (e) BPF para un kernel dado, mientras que BPF CO-RE ha estado trabajando para cambiar eso. El compilador LLVM Clang ya admite la capacidad de BPF”Compilar una vez, ejecutar en todas partes”, mientras que ahora los ingenieros de Oracle están trabajando para brindar el mismo nivel de soporte a GCC.

BPF CO-RE tiene como objetivo permitir que los programas BPF funcionen en todas las versiones del kernel y sin necesidad de tener LLVM/Clang (o GCC) en cada sistema ni los encabezados del kernel para compilar programas BPF sobre la marcha con el sistema convencional Acercarse. BPF CO-RE permite adaptar el programa en tiempo de carga dependiendo del kernel con ajustes dinámicos para las diferencias en las estructuras de datos del kernel utilizadas. En tiempo de compilación, se registra información adicional sobre las estructuras de datos del kernel utilizadas, de modo que cuando se carga en tiempo de ejecución en un kernel diferente, lo ideal es que se puedan realizar automáticamente los cambios necesarios.

LLVM Clang es compatible con BPF CO-RE, mientras que David Faust de Oracle envió un conjunto de parches hoy para mostrar este soporte de”Compilar una vez, ejecutar en todas partes”para el back-end BPF de la colección de compiladores GNU.

Los parches de GCC propuestos por ahora se pueden encontrar en la lista de correo .

Puede encontrar más información sobre BPF CO-RE en general a través de esta presentación de Facebook y el blog de BPF .

Categories: IT Info