The new eBPF project simplifies development, packaging, and sharing of eBPF Tools

Solo.io, an application networking company, this week announced a new open-source project, BumbleBee. The new project simplifies the developer experience for building, packaging, and distributing eBPF tools, according to Solo.

BumbleBee automatically generates boilerplate user-space code for developing eBPF tools, the company explained. It also brings a Docker-like experience to packaging an eBPF program. This allows it to plug into other OCI-image workflows for publishing and distribution.

The extended Berkeley Packet Filter (eBPF) standard is a kernel technology that can run sandboxed programs in an operating system kernel. This provides a safe way to enhance the kernel with observability, networking, and security technologies. These programs run in response to events such as the arrival of network packets. eBPF programs are typically written in higher-level language (like C) and then JIT compiled into x86 assembly for maximum performance and safety.

Seeking to accelerate the adoption of eBPF

While eBPF enables customizations of Linux kernel behavior, developing these extensions can be quite challenging. The eBPF architecture expects eBPF programs to be loaded in the form of bytecode. The kernel has data structures and formats that are specific to each kernel version. In addition, packaging and distributing these binary programs is tedious, time- consuming, and error-prone. The goal of BumbleBee is to simplify the development, packaging, and sharing of eBPF tools. Solo believes this will accelerate the adoption of eBPF.

Idit Levine, Solo.io’s founder and CEO, commented. “At Solo.io, we see eBPF as a critical enabling technology that will improve application networking,” he said. “We’ve been working during the last year to leverage eBPF technology with Gloo Mesh, our Istio-based service mesh offering for the enterprise,” he added.

“While developing eBPF extensions, we have faced many technical challenges — and this led us to develop BumbleBee to help streamline our eBPF efforts. Since we truly believe in the benefits of eBPF, we are happy to share BumbleBee with the community to accelerate eBPF adoption.”

BumbleBee includes a CLI (command line interface) that automatically generates the user-space code for eBPF programs. It does this by exposing maps automatically as logs, metrics, and histograms. The developer only has to worry about writing the eBPF code, Solo says. BumbleBee provides tooling to automate away the rest of the experience.