Resolviendo la Portabilidad de eBPF: BPF CO-RE al Rescate

2025-04-23
Resolviendo la Portabilidad de eBPF: BPF CO-RE al Rescate

La ejecución de programas eBPF depende en gran medida de la versión del kernel, y las diferencias en las definiciones de struct entre las versiones del kernel pueden provocar que los programas fallen. Este artículo presenta BPF CO-RE, una técnica que genera información de reubicación durante la compilación y utiliza información BTF (BPF Type Format) en tiempo de ejecución para corregir los offsets de campo, resolviendo así el problema de portabilidad de los programas eBPF. Incluso sin soporte BTF en el kernel de destino, la descarga previa e incrustación de archivos BTF logra la compatibilidad entre kernels. El autor también proporciona un repositorio de GitHub con una solución completa que descarga e incrusta automáticamente datos BTF, produciendo un único binario que se ejecuta en una amplia gama de kernels sin requerir soporte BTF en el sistema de destino.

Desarrollo