20-24 September 2021
US/Pacific timezone

Improving the eBPF Developer Experience with Rust

21 Sep 2021, 08:40
40m
Networking and BPF Summit/Virtual-Room (LPC Virtual)

Networking and BPF Summit/Virtual-Room

LPC Virtual

150
Networking & BPF Summit (Closed) BPF & Networking Summit

Speakers

Dave Tucker (Red Hat) Alessandro Decina (Deepfence)

Description

Rust is becoming an increasingly popular choice as a systems programming language. In fact, it's been the #1 most loved language on Stack Overflow for the last 6 years. Aside from being fast, type safe and memory safe, its tooling is excellent which yields high developer productivity. It has been used to write embedded systems software, it is central to the WebAssembly ecosystem, and it is very close to being used inside the Linux Kernel.

eBPF offers many exciting possibilities, but getting started developing eBPF programs is hard. While there are many eBPF libraries that target writing userspace applications in most popular programming languages, very few of them also seek to improve the experience of writing, building and debugging the eBPF program itself.

Aya is an eBPF library built for exactly this purpose. Using Aya, we seek to improve the eBPF developer experience with Rust!

In this talk, we will demonstrate how Aya can be used to quickly develop an eBPF application as well as covering plans for new features to further improve the experience.

Learn how to:
- Quickly start a new eBPF Project
- Compile Rust programs to eBPF bytecode
- Generate bindings to kernel types using BTF
- Allow seamless sharing of code between eBPF and user space
- Load eBPF programs from user-space and interact with maps

I agree to abide by the anti-harassment policy I agree

Primary authors

Dave Tucker (Red Hat) Alessandro Decina (Deepfence)

Presentation Materials