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: Sept. 25, 2022, 2: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 and Articles

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

15.52K
3.07K
5d
Apache-2.0

The beginner's guide to eBPF

239
30
5m
Apache-2.0

BPF Internals

Kernel Tracing

XDP

AF_XDP

bpfilter

BTF

cBPF

Hardware Offload

Tutorials

Examples

Prototyping kernel development work outside mainline

251
98
1y 3d
GPL-2.0

Sample BPF offload apps.

68
25
3y 10m
n/a

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

15.52K
3.07K
5d
Apache-2.0

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

36
5
2y 11m
GPL-3.0

Sample ebpf programs to analyze

32
5
112d
n/a

An example of an eBPF program hooking into the kill tracepoint

15
7
8m
GPL-3.0

Rust library for building and running BPF/eBPF modules

1.39K
124
6d
Apache-2.0

bcc

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

15.52K
3.07K
5d
Apache-2.0

iproute2

LLVM

libbpf

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

397
130
24d
BSD-3-Clause

Aya

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

1.22K
99
6d
Apache-2.0

A cargo-generate template for Rust eBPF Projects using Aya

25
15
5d
n/a

oxidebpf

A Rust library for managing eBPF programs.

32
4
10m
BSD-3-Clause

bpftool and Other Tools from the Kernel Tree

User Space eBPF

Userspace eBPF VM

540
100
55d
Apache-2.0

Generic eBPF runtime

125
14
1y 4m
Apache-2.0

Rust virtual machine and JIT compiler for eBPF programs

513
85
1y 8m
Apache-2.0

eBPF verifier based on abstract interpretation

226
36
3d
MIT

Trace Go program execution with uprobes and eBPF

254
16
1y 5m
MPL-2.0

Testing in Virtual Environments

Collection of vagrant scripts for testing xdp

80
22
5y 91d
Apache-2.0
37
8
4y 17d
n/a

Projects Related to eBPF

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

15.52K
3.07K
5d
Apache-2.0

P4_16 reference compiler

482
360
5d
Apache-2.0

Suricata Extreme Performance Tuning guide - Mark II

93
17
4y 5m
GPL-2.0

Presentations and docs

785
143
3y 81d
n/a

Schedule bpftrace programs on your kubernetes cluster using the kubectl

1.69K
144
53d
MIT

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

442
38
3y 4m
MIT

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

84
21
3y 97d
Apache-2.0

A debian-based shell environment designed for Android and adb

238
70
1y 2d
Apache-2.0

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

5
1
1y 4m
Apache-2.0

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

122
14
7m
Apache-2.0

Rust library for building and running BPF/eBPF modules

1.39K
124
6d
Apache-2.0

Instant Kubernetes-Native Application Observability

3.83K
266
3d
Apache-2.0

Metrics collector and ebpf-based profiler for C, C++, Golang, and Rust

36
4
117d
Apache-2.0

Linux Runtime Security and Forensics using eBPF

1.58K
188
7m
Apache-2.0

eBPF implementation that runs on top of Windows

1.24K
83
7m
MIT

Red Canary's eBPF Sensor

28
8
7m
GPL-2.0

bpflock - eBPF driven security for locking and auditing Linux machines

38
3
7m
Apache-2.0

Use eBPF to speed up your Service Mesh like crossing an Einstein-Rosen Bridge.

373
40
112d
Apache-2.0

eBPF in Security

ebpfkit is a rootkit powered by eBPF

153
22
1y 52d
Apache-2.0

ebpfkit-monitor is a tool that detects and protects against eBPF powered rootkits

35
6
1y 1d
Apache-2.0

A collection of eBPF programs demonstrating bad behavior

74
14
8m
BSD-3-Clause

A Linux eBPF rootkit with a backdoor, C2, library injection, execution hijacking, persistence and stealth capabilities.

13
1
84d
GPL-3.0

The Code

Development and Community

Other Lists of Resources on eBPF

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

15.52K
3.07K
5d
Apache-2.0

Presentations and docs

785
143
3y 81d
n/a