mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
ee1bdb80af
full diff: https://github.com/cilium/ebpf/compare/v0.1.0...v0.2.0 - btf: add go-fuzz targets - btf: avoid Type copy in FuncProto.walk - btf: check err in loadSpecFromVmlinux - btf: handle type name flavours - CI: test on 5.9 kernel - cmd/bpf2go: output ELF .o next to the .go file - link: add AttachSkLookup - Remove two unused functions - Support LSM attach - use buffered I/O to cut down on read syscalls - Various doc link fixes Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
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