Capítulo 5. CO-RE, BTF y Libbpf

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

En el capítulo anterior te encontraste por primera vez con el BTF (Formato de Tipo BPF). En este capítulo se explica por qué existe y cómo se utiliza para que los programas eBPF sean portables entre distintas versiones del núcleo. Es una parte clave del enfoque "compilar una vez, ejecutar en todas partes" (CO-RE) de BPF, que resuelve el problema de hacer que los programas eBPF sean portables entre distintas versiones del núcleo.

Muchos programas eBPF acceden a estructuras de datos del núcleo, y un programador eBPF necesitaría incluir los archivos de cabecera de Linux pertinentes para que su código eBPF pueda localizar correctamente los campos dentro de esas estructuras de datos. Sin embargo, el núcleo de Linux está en continuo desarrollo, lo que significa que las estructuras de datos internas pueden cambiar entre las distintas versiones del núcleo. Si tomaras un archivo objeto eBPF compilado en una máquina1 y lo cargaras en una máquina con una versión diferente del núcleo, no habría ninguna garantía de que las estructuras de datos fueran las mismas.

El enfoque CO-RE es un gran paso adelante para abordar este problema de portabilidad de forma eficaz. Permite que los programas eBPF incluyan información sobre la disposición de las estructuras de datos con las que se compilaron, y proporciona un mecanismo para ajustar cómo se accede a ...

Get Aprendizaje eBPF now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.