User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome eBPF

A curated list of awesome projects related to eBPF.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Jan. 17, 2022, 3:01 p.m.

Thank you zoidbergwill & contributors
View Topic on GitHub:
zoidbergwill/awesome-ebpf

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

eBPF Essentials

Kernel Documentation

Manual Pages

Other

Generic eBPF presentations

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

13.48K
2.6K
5d
Apache-2.0

BPF Internals

Kernel Tracing

XDP

AF_XDP

bpfilter

BTF

cBPF

Hardware Offload

Tutorials

Examples

Prototyping kernel development work outside mainline

229
94
116d
GPL-2.0

Sample BPF offload apps.

52
19
3y 73d
n/a

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

13.48K
2.6K
5d
Apache-2.0

Sample project demonstrating how to use eBPF to encap/decap packets with an MPLS label.

29
4
2y 92d
GPL-3.0

Sample ebpf programs to analyze

19
4
62d
n/a

An example of an eBPF program hooking into the kill tracepoint

6
8
11d
GPL-3.0

Rust library for building and running BPF/eBPF modules

1.04K
78
8d
n/a

bcc

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

13.48K
2.6K
5d
Apache-2.0

iproute2

LLVM

libbpf

Scaffolding for BPF application development with libbpf and BPF CO-RE

226
66
22d
BSD-3-Clause

Aya

Aya is an eBPF library for the Rust programming language, built with a focus on developer experience and operability.

713
39
5d
n/a

oxidebpf

A Rust library for managing eBPF programs.

32
4
61d
BSD-3-Clause

bpftool and Other Tools from the Kernel Tree

User Space eBPF

Userspace eBPF VM

421
81
59d
Apache-2.0

Generic eBPF runtime

116
13
7m
Apache-2.0

Rust virtual machine and JIT compiler for eBPF programs

413
63
12m
n/a

A new eBPF verifier, using abstract interpretation

176
29
26d
n/a

Trace Go program execution with uprobes and eBPF

227
14
9m
MPL-2.0

Testing in Virtual Environments

Collection of vagrant scripts for testing xdp

74
21
4y 6m
n/a
30
8
3y 4m
n/a

Projects Related to eBPF

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

13.48K
2.6K
5d
Apache-2.0

P4_16 reference compiler

427
309
5d
Apache-2.0

eBPF-based Networking, Security, and Observability

10.58K
1.34K
4d
Apache-2.0

Suricata Extreme Performance Tuning guide - Mark II

82
17
3y 9m
GPL-2.0

Linux system exploration and troubleshooting tool with first class support for containers

6.73K
668
5d
Apache-2.0

Presentations and docs

671
124
2y 6m
n/a

High-level tracing language for Linux eBPF

4.73K
716
29d
Apache-2.0

Schedule bpftrace programs on your kubernetes cluster using the kubectl

1.51K
112
28d
MIT

Framework for running BPF programs with rules on Linux as a daemon. Container aware.

431
36
2y 7m
MIT

BPFd (Deprecated, please see README.md) : Berkeley Packet Filter daemon (BPFd). Makes it possible to run BCC tools across systems.

78
19
2y 7m
Apache-2.0

A debian-based shell environment designed for Android and adb

163
49
115d
n/a

greg(g)d - Global runtime for eBPF-enabled gathering (w/ gumption) daemon

4
1
8m
Apache-2.0

An In-Kernel Solution Based on eBPF/XDP for 5G UPF

93
13
14d
Apache-2.0

Rust library for building and running BPF/eBPF modules

1.04K
78
8d
n/a

Instant Kubernetes-Native Application Observability

2.73K
152
4d
Apache-2.0

The Code

Development and Community

Other Lists of Resources on eBPF

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

13.48K
2.6K
5d
Apache-2.0

Presentations and docs

671
124
2y 6m
n/a