MCPcopy Index your code
hub / github.com/bpfman/bpfman

github.com/bpfman/bpfman @v0.6.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.6.0 ↗ · + Follow
1,420 symbols 3,060 edges 102 files 152 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

bpfman logo

bpfman: An eBPF Manager

License License License Build status [Book]book-url [Netlify Status]netlify-url [Copr build status]copr-url [OpenSSF Scorecard]openssf-url [OpenSSF Best Practices]openssf-best-practices-url [FOSSA Status]fossa-url Ask DeepWiki

Formerly know as bpfd

bpfman is a Cloud Native Computing Foundation Sandbox project

CNCF Logo

Welcome to bpfman

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/):

Issues

Would you like to report a bug? Feel free to add an issue.

Would you like to start a conversation on a specific topic? Please, open a discussion.

License

With the exception of eBPF code, everything is distributed under the terms of the Apache License (version 2.0).

FOSSA Status

eBPF

All eBPF code is distributed under either:

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.

Star History

Star History Chart

Extension points exported contracts — how you extend this code

Bpfman (Interface)
(no doc) [1 implementers]
bpfman-api/src/bpfman.v1.rs
Identity (Interface)
(no doc) [1 implementers]
csi/src/csi.v1.rs
Node (Interface)
(no doc) [1 implementers]
csi/src/csi.v1.rs
Controller (Interface)
(no doc)
csi/src/csi.v1.rs
GroupController (Interface)
(no doc)
csi/src/csi.v1.rs

Core symbols most depended-on inside this repo

clone
called by 116
bpfman-api/src/bpfman.v1.rs
sled_insert
called by 92
bpfman/src/utils.rs
sled_get
called by 60
bpfman/src/utils.rs
clone
called by 59
csi/src/csi.v1.rs
get_data
called by 59
bpfman/src/types.rs
bytes_to_string
called by 40
bpfman/src/utils.rs
get_id
called by 36
bpfman/src/types.rs
setup
called by 36
bpfman/src/lib.rs

Shape

Method 685
Function 337
Class 287
Struct 61
Enum 37
Interface 11
TypeAlias 2

Languages

Rust61%
Go30%
C7%
C++1%
Python1%

Modules by API surface

clients/gobpfman/v1/bpfman.pb.go341 symbols
csi/src/csi.v1.rs172 symbols
bpfman/src/types.rs160 symbols
bpfman-api/src/bpfman.v1.rs68 symbols
clients/gobpfman/v1/bpfman_grpc.pb.go45 symbols
bpfman/src/lib.rs44 symbols
bpfman/src/utils.rs35 symbols
bpfman/src/bin/cli/table.rs32 symbols
bpfman/src/bin/cli/args.rs32 symbols
tests/integration-test/src/tests/utils.rs31 symbols
bpfman/src/multiprog/tc.rs30 symbols
bpfman/src/oci_utils/image_manager.rs22 symbols

For agents

$ claude mcp add bpfman \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page