mirror of
https://github.com/kubernetes/kubernetes.git
synced 2026-03-16 23:58:44 -04:00
|
|
||
|---|---|---|
| .. | ||
| asm | ||
| internal | ||
| .clang-format | ||
| .gitignore | ||
| abi.go | ||
| CODE_OF_CONDUCT.md | ||
| collection.go | ||
| doc.go | ||
| elf_reader.go | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| linker.go | ||
| map.go | ||
| marshalers.go | ||
| prog.go | ||
| readme.md | ||
| run-tests.sh | ||
| syscalls.go | ||
| types.go | ||
| types_string.go | ||
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