Skip to content

History ​

Origin ​

bpfman began as bpfd, a project from Red Hat's Emerging Technologies group. Its first commit landed in 2021, and the GitHub repository was created on 2021-12-02 (source: bpfman/bpfman and Red Hat Emerging Technologies). The problem it set out to solve: loading eBPF programs normally requires elevated privilege and gives each application sole ownership of a kernel hook. bpfd proposed a single managed point that could load programs on behalf of many applications and let them coexist.

The README still records the former name (README.md:37):

text
_Formerly know as `bpfd`_

Timeline ​

YearMilestone
2021First commit as bpfd; GitHub repo created 2021-12-02
2023Renamed bpfd to bpfman; CNCF Sandbox application filed (cncf/sandbox issue #76, 2023-12-20)
2024Accepted into CNCF Sandbox (2024-06-19); daemonless architecture lands
2026v0.6.0 released (2026-03-31) with load and attach as separate operations

How it evolved ​

Two shifts matter. The first was the rename. In late 2023 the project moved from bpfd to bpfman, framed as the same project under a new name, and applied to CNCF Sandbox at the same time (sources: eBPF wrapped 2023, bpfman blog). The Sandbox application argued for a safe way to load eBPF without privileged pods and was accepted on 2024-06-19 (source: cncf/sandbox issue #76).

The second shift was technical: bpfman became daemonless. The earlier design assumed a long-running system daemon that clients talked to over gRPC (gRPC Remote Procedure Call). The current design has the command-line interface (CLI) call the core library in its own process and persist state to an embedded database, so no daemon is required for local use (source: eBPF wrapped 2023). A gRPC server still exists for cases that need privilege separation, but it is optional. Older write-ups that describe bpfman as a system daemon predate this change.

A further consequence of v0.6.0: loading and attaching are now separate operations. load places a program in the kernel; attach binds it to a hook later, returning the program id from one step to the next.

Where it stands now ​

bpfman is a CNCF Sandbox project. The latest release at the documented commit is v0.6.0 (2026-03-31). All listed maintainers are from Red Hat (MAINTAINERS.md: Dave Tucker, Andrew McDermott, Andre Fredette, Billy McFall, with Andrew Stoycos emeritus), so it is effectively a single-vendor Sandbox project. There is an ongoing proposal to make bpfman the default eBPF program manager in Fedora (source: Introduction to BPF Manager / Fedora 40).