Résolution de la portabilité eBPF : BPF CO-RE à la rescousse

2025-04-23
Résolution de la portabilité eBPF : BPF CO-RE à la rescousse

L’exécution des programmes eBPF dépend fortement de la version du noyau, et les différences dans les définitions de struct entre les versions du noyau peuvent entraîner des pannes de programmes. Cet article présente BPF CO-RE, une technique qui génère des informations de relocalisation lors de la compilation et utilise des informations BTF (BPF Type Format) lors de l’exécution pour corriger les décalages de champ, résolvant ainsi le problème de portabilité des programmes eBPF. Même sans prise en charge BTF sur le noyau cible, le prétéléchargement et l’intégration de fichiers BTF permettent la compatibilité entre les noyaux. L’auteur fournit également un référentiel GitHub avec une solution complète qui télécharge et intègre automatiquement les données BTF, produisant un seul binaire qui s’exécute sur une large gamme de noyaux sans nécessiter de prise en charge BTF sur le système cible.

Développement