cilium / Ebpf
Licence: mit
eBPF Library for Go
Stars: ✭ 1,177
Programming Languages
go
31211 projects - #10 most used programming language
Projects that are alternatives of or similar to Ebpf
Ntopng
Web-based Traffic and Security Network Traffic Monitoring
Stars: ✭ 4,313 (+266.44%)
Mutual labels: ebpf
Cilium
eBPF-based Networking, Security, and Observability
Stars: ✭ 10,256 (+771.37%)
Mutual labels: ebpf
ebpfmanager
A golang ebpf libary base on cilium/ebpf and datadog/ebpf.
Stars: ✭ 37 (-96.86%)
Mutual labels: ebpf
Redbpf
Rust library for building and running BPF/eBPF modules
Stars: ✭ 611 (-48.09%)
Mutual labels: ebpf
btfhub
BTFHub, together with BTFHub Archive repository, provides BTF files for existing published kernels that don't support embedded BTF.
Stars: ✭ 100 (-91.5%)
Mutual labels: ebpf
Bpfd
Framework for running BPF programs with rules on Linux as a daemon. Container aware.
Stars: ✭ 396 (-66.36%)
Mutual labels: ebpf
el7-bpf-specs
RPM specs for building bpf related tools on CentOS 7
Stars: ✭ 38 (-96.77%)
Mutual labels: ebpf
Awesome Ebpf
A curated list of awesome projects related to eBPF.
Stars: ✭ 1,102 (-6.37%)
Mutual labels: ebpf
Ebpf exporter
A Prometheus exporter which uses eBPF to measure block IO request latency / size
Stars: ✭ 56 (-95.24%)
Mutual labels: ebpf
eBPF
eBPF is a pure Go library that provides utilities for loading, compiling, and debugging eBPF programs. It has minimal external dependencies and is intended to be used in long running processes.
- asm contains a basic assembler
- link allows attaching eBPF to various hooks
-
perf allows reading from a
PERF_EVENT_ARRAY
- cmd/bpf2go allows embedding eBPF in Go
The library is maintained by Cloudflare and Cilium. Feel free to join the #libbpf-go channel on Slack.
Current status
The package is production ready, but the API is explicitly unstable right now. Expect to update your code if you want to follow along.
Requirements
- A version of Go that is supported by upstream
- Linux 4.9, 4.19 or 5.4 (versions in-between should work, but are not tested)
Useful resources
- eBPF.io (recommended)
- Cilium eBPF documentation (recommended)
- Linux documentation on BPF
- eBPF features by Linux version
Regenerating Testdata
Run make
in the root of this repository to rebuild testdata in all
subpackages. This requires Docker, as it relies on a standardized build
environment to keep the build output stable.
The toolchain image build files are kept in testdata/docker/.
License
MIT
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].