awesome-ebpf
github.com/zoidyzoidzoid/awesome-ebpf ↗A curated list of awesome projects related to eBPF.
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me networking resources from awesome-ebpf"
Installation instructions →What's inside
Projects Related to eBPF
- A blog post introducing the "capture bypass" featureNetworking
- ActPlaneTools
OS-level agent harness that compiles a policy DSL to an in-kernel eBPF engine for labeled information-flow control at the syscall boundary, enforcing constraints across any tool or subprocess.
- adebTools
A Linux shell environment for using tracing tools on Android with BPFd.
- A generic introduction to CiliumNetworking
- AgentSightTools
Zero-instrumentation eBPF observability for LLM and coding agents, capturing syscall-level traces (file, network, process) without modifying the agent.
- ApFree WiFiDogNetworking
A high performance and lightweight captive portal solution for wireless networks. It leverages eBPF for traffic control and deep packet inspection capabilities, with plans to gradually replace nftables firewall functionality with eBPF-based solutions.
Articles and Presentations
- A brief introduction to XDP and eBPFGeneric eBPF Presentations and Articles
An accessible introduction providing context, history, and details about the functioning of eBPF.
- Advanced programmability and recent updates with tc's cls_bpfBPF Internals
Details on eBPF, its use for tunneling and encapsulation, direct packet access, and more.
- AF_XDPAF_XDP
Kernel documentation on the AF_XDP address family.
- A Tour of Program TypesGeneric eBPF Presentations and Articles
A description of all existing hooks for BPF program types, and of their interest.
- Beginner's guide to eBPFGeneric eBPF Presentations and Articles
A set of live-coding talks and the accompanying code examples, introducing eBPF programming using a variety of libraries and program types.
- BPF and XDP Reference GuideXDP
Guide from the Cilium project.
Tutorials
- Accelerating Local Socket Communication using eBPF
Learn how eBPF can speed-up local socket communication up to 30%.
- A Deep Dive into eBPF: Writing an Efficient DNS Monitoring.
A detailed explanation of methods used to capture DNS requests at the socket filter layer.
- All your tracing are belong to BPF
A step-by-step walkthrough to integrate tracing capabilities in your C++ applications with the LLVM libraries.
- bcc Python Developer Tutorial
Comes with bcc, but targets the Python bits across seventeen "lessons".
- bcc Reference Guide
Many incremental steps to start using bcc and eBPF, mostly centered on tracing and monitoring.
- Building BPF applications with libbpf-bootstrap
Helps generate minimal or advanced templates to bootstrap your own applications (kernel side and user space management for maps and programs) with features like CO-RE, global variables, and ring buffer.
eBPF Workflow: Tools and Utilities
- A generic implementationUser Space eBPF
With support for FreeBSD kernel, FreeBSD user space, Linux kernel, Linux user space and macOS user space. Used for the
- ayaAya
A pure Rust library for writing, loading, and managing eBPF objects, with a focus on developer experience and operability. It supports writing eBPF programs in Rust and distributing library code over crates.io to share it between eBPF programs. Aya does not depend on libbpf.
- aya-templateAya
Templates for writing BPF applications in Aya that can be used with
- bccbcc
Framework and set of tools - One way to handle BPF programs, in particular for tracing and monitoring. Also includes some utilities that may help inspect maps or programs on the system.
- bcc in a Docker containerTesting in Virtual Environments
- bpftoolbpftool and Other Tools from the Kernel Tree
A disassembler for both BPF flavors and could be highly useful for JIT debugging.
Reference Documentation
- A List of Research PapersOther
- BPF Design Q&AKernel Documentation
Frequently Asked Questions on the decisions behind the BPF infrastructure.
- BPF DocumentationKernel Documentation
Index for BPF-related documentation coming with the Linux kernel.
- bpf.h and you...Other
- BPF Verifier OverviewOther
- Contextually speaking...Other
Examples
- bcc/examples
Examples coming along with the bcc tools, mostly about tracing.
- bcc/tools
These tools themselves can be seen as example use cases for BPF programs, mostly for tracing and monitoring. bcc tools have been packaged for some Linux distributions.
- ebpf-kill-example
A fully documented and tested example of an eBPF probe that logs all force-kills and prints them out in user-space.
- ebpf-samples
A collection of compiled (as ELF object files) samples gathered from several projects, primarily intended to serve as test cases for user space verifiers.
- iproute2/examples/bpf/
Some networking programs to attach to the TC interface.
- linux/samples/bpf/
In the kernel tree: some sample eBPF programs.
Other Lists of Resources on eBPF
Development and Community
- Kernel documentation
About contributions to BPF.
Showing a sample of 242 resources. View the full list on GitHub →