eBPF
251 items from zoidbergwill/awesome-ebpf ★5,181
-
bpftrace Cheat Sheet brendangregg.com
Summary and cheat sheet for programming in bpftrace. Contains information about syntax, probe types, variables and functions.
-
bpftrace bpftrace.org
A tool for tracing with its own high-level tracing language. It is flexible enough to be envisioned as a Linux replacement for DTrace and SystemTap.
-
ply wkz.github.io
A small but flexible open source dynamic tracer for Linux, with features similar to the bcc tools, but with a simpler language inspired by awk and DTrace.
-
Red Canary Linux Agent redcanary.com
Red Canary has started to incorporate eBPF to their Linux security sensor.
-
DEEP-mon slideshare.net
Helps with measuring power consumption for servers and uses eBPF programs for in-kernel aggregation of data.
-
-
PcapPlusPlus pcapplusplus.github.io
An open-source C++ library for capturing, parsing and crafting network packets. It features a C++ interface for creating AF_XDP sockets, making it easy to send and receive packets through them.
-
Enabling eBPF data plane with Calico projectcalico.docs.tigera.io
-
Project Calico projectcalico.docs.tigera.io
Calico is an open source networking and network security solution for containers, virtual machines, and native host-based workloads. Calico's eBPF data plane delivers a low latency, high throughput data plane with a rich network security policy model.
-
eBPF and XDP seen from the eyes of a meerkat slideshare.net
-
The adventures of a Suricate in eBPF land netdevconf.org
-
A blog post introducing the "capture bypass" feature stamus-networks.com
-
"eBPF and XDP" section of Suricata documentation suricata.readthedocs.io
-
CETH for XDP slideshare.net
Common Ethernet Driver Framework for faster network I/O, a technology initiated by Mellanox.
-
DPDK has a poll-mode driver (PMD) based on AF_XDP dpdkuserspace2018.sched.com
-
Droplet: DDoS countermeasures powered by BPF + XDP netdevconf.org
Protection against DDoS with XDP at Facebook.
-
XDP in practice: integrating XDP in our DDoS mitigation pipeline netdevconf.org
Protection against DDoS with XDP at Cloudflare.
-
Katran code.fb.com
A layer 4 load-balancer based on XDP, open-sourced by Facebook.
-
A podcast interviewing Thomas Graf blog.ipspace.net
Ivan Pepelnjak interviewing Thomas, October 2016, on eBPF, P4, XDP and Cilium.
-
OvS Orbit episode (#4) ovsorbit.benpfaff.org
Interview of Thomas Graf by Ben Pfaff.
-
Cilium: Fast IPv6 container Networking with BPF and XDP slideshare.net
-
Cilium: Networking & Security for Containers with BPF & XDP slideshare.net
video
-
Cilium: Networking & Security for Containers with BPF & XDP slideshare.net
Also featuring a load balancer use case
-
P4_16 backend for eBPF github.com
-
OvS Orbit episode (#11), called P4 on the Edge ovsorbit.org
Related to the former item. Audio interview of John Fastabend by Ben Pfaff, one of the core maintainers of Open vSwitch.
-
wachy rubrikinc.github.io
A tracing profiler that aims to make eBPF uprobe-based debugging easier to use. This is done by displaying traces in a UI next to the source code and allowing interactive drilldown analysis.
-
bpf_jit_disasm git.kernel.org
A disassembler for both BPF flavors and could be highly useful for JIT debugging.
-
bpf_dbg git.kernel.org
A small debugger for cBPF programs.
-
bpf_asm git.kernel.org
A minimal cBPF assembler.
-
bpftool git.kernel.org
Also some other tools in the kernel tree, under linux/tools/net/ for versions earlier than 4.15, or linux/tools/bpf/ after that:
-
libbpf git.kernel.org
A C library used for handling BPF objects (programs and maps), and manipulating ELF object files containing them. It is shipped with the kernel and mirrored on GitHub.
-
this commit reviews.llvm.org
.
-
iproute2-next git.kernel.org
The development tree, synchronised with net-next.
-
iproute2 git.kernel.org
Package containing tools for network management on Linux. In particular, it contains tc, used to manage eBPF filters and actions, and ip, used to manage XDP programs. Most of the code related to BPF is in lib/bpf.c.
-
Lua front-end for BCC github.com
Another alternative to C, and even to most of the Python code used in bcc.
-
redbpf examples github.com
Example programs for using RedBPF to write eBPF programs in Rust.
-
bcc/tools github.com
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.
-
bcc/examples github.com
Examples coming along with the bcc tools, mostly about tracing.
-
iproute2/examples/bpf/ git.kernel.org
Some networking programs to attach to the TC interface.
-
prototype-kernel/kernel/samples/bpf github.com
Jesper Dangaard Brouer's prototype-kernel repository contains some additional examples that can be compiled outside of kernel infrastructure.
-
linux/tools/testing/selftests/bpf git.kernel.org
In the kernel tree: Linux BPF selftests, with many eBPF programs.
-
linux/samples/bpf/ git.kernel.org
In the kernel tree: some sample eBPF programs.
-
ebpf.io labs ebpf.io
List of community developed labs.
-
Inspektor Gadget - Hello world gadget with Wasm inspektor-gadget.io
An introductory guide to writing image-based eBPF gadgets and performing post-processing with WASM.
-
Inspektor Gadget - Hello world gadget inspektor-gadget.io
An introductory guide to writing image-based eBPF gadgets and sharing them via OCI registries.
-
Writing a basic continuous profiler blog.maxgio.me
A step-by-step guide to write an appliation continuous profiler leveraging the eBPF instrumentation, with a complete project as a reference.
-
Accelerating Local Socket Communication using eBPF cloudchirp.substack.com
Learn how eBPF can speed-up local socket communication up to 30%.
-
Unit Testing eBPF Programs ebpfchirp.substack.com
Learn how you can unit test your eBPF programs using libbpf.
-
eBPF-Powered Load Balancing cloudchirp.substack.com
Learn how eBPF can infer custom load-balancing for services listening on the same port, through the SO_REUSEPORT TCP option.
-
Transparent Proxy Implementation using eBPF and Go cloudchirp.substack.com
A step-by-step guide on how to implement a transparent proxy using eBPF.
- next page of items loading…