Formerly know as bpfd
bpfman operates as an eBPF manager, focusing on simplifying the deployment and administration of eBPF programs. Its notable features encompass:
- System Overview: Provides insights into how eBPF is utilized in your system.
- eBPF Program Loader: Includes a built-in program loader that supports program cooperation for XDP and TC programs, as well as deployment of eBPF programs from OCI images.
- eBPF Filesystem Management: Manages the eBPF filesystem, facilitating the deployment of eBPF applications without requiring additional privileges.
Our program loader and eBPF filesystem manager ensure the secure deployment of eBPF applications. Furthermore, bpfman includes a Kubernetes operator, extending these capabilities to Kubernetes. This allows users to confidently deploy eBPF through custom resource definitions across nodes in a cluster.
Here are some links to help in your bpfman journey (all links are from the bpfman website https://bpfman.io/):
- Welcome to bpfman for overview of bpfman.
- Quick Start for a quick installation of bpfman without having to download or build the code from source. Good for just getting familiar with bpfman and playing around with it.
- Deploying Example eBPF Programs On Local Host
for some examples of running
bpfman
on local host and using the CLI to install eBPF programs on the host. - Deploying Example eBPF Programs On Kubernetes
for some examples of deploying eBPF programs through
bpfman
in a Kubernetes deployment. - Setup and Building bpfman for instructions on setting up your development environment and building bpfman.
- Example eBPF Programs for some
examples of eBPF programs written in Go, interacting with
bpfman
. - Deploying the bpfman-operator for details on launching bpfman in a Kubernetes cluster.
- Meet the Community for details on community meeting details.
With the exception of eBPF code, everything is distributed under the terms of the Apache License (version 2.0).
All eBPF code is distributed under either:
- The terms of the GNU General Public License, Version 2 or the BSD 2 Clause license, at your option.
- The terms of the GNU General Public License, Version 2.
The exact license text varies by file. Please see the SPDX-License-Identifier header in each file for details.
Files that originate from the authors of bpfman use
(GPL-2.0-only OR BSD-2-Clause)
- for example the TC dispatcher or our
own example programs.
Files that were originally created in libxdp use GPL-2.0-only
.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the GPL-2 license, shall be dual licensed as above, without any additional terms or conditions.
We are a Cloud Native Computing Foundation sandbox project.