Enhancing Rust with BTF debug format support

In this talk, we will delve into the recent advancements made towards supporting the BTF (BPF Type Format) debug format within Aya and bpf-linker. We are going to explain how BTF is generated, what’s the role of LLVM there and what we had to do in order to generate appropriate BTF information for Rust programs.

Abstract

eBPF is a mechanism for running sandboxed programs in the Linux kernel. It’s used mostly for packet filtering, tracing and implementing security policies. Aya is a library which allows people to use that technology, using Rust as a programming language.

However, there are some areas of eBPF where Aya needs to catch up in terms of feature parity. One of them is BTF (BPF Type Format), which is a compact debug format used by the Linux kernel for accessing structure fields. This way, eBPF programs can be compiled once of all kernel versions, which makes deployment of eBPF-based projects much easier. Last but not least, BTF allows for easier debugging of BPF programs - thanks to it, we can see a stack trace when an eBPF program fails to load.

In this talk, we will delve into the recent advancements made towards supporting the BTF (BPF Type Format) debug format within Aya and bpf-linker. We are going to explain how BTF is generated, what’s the role of LLVM there and what we had to do in order to generate appropriate BTF information for Rust programs.

Video

GoLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".


Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2024 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS