Skip to content
eBPF Library for Go
Go Shell
Branch: master
Clone or download

Latest commit

tklauser and lmb CI: build tests on other OS and architecture
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Latest commit a7172c0 Mar 19, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.semaphore CI: build tests on other OS and architecture Mar 19, 2020
asm elf: correctly relocate calls to static functions Mar 3, 2020
internal internal/unix: add missing RLIM_INFINITY for non-linux Mar 19, 2020
perf perf: ignore offline CPUs Mar 17, 2020
testdata elf: link library sections Mar 3, 2020
.gitignore Initial commit Sep 5, 2019
CODE_OF_CONDUCT.md Create code of conduct file May 29, 2018
LICENSE remove duplicate license Sep 24, 2019
abi.go migrate error handling Jan 30, 2020
abi_test.go CI: run tests on 4.9.198 Dec 3, 2019
collection.go collection: allow rewriting constants Feb 7, 2020
collection_test.go collection: allow rewriting individual maps Jan 27, 2020
doc.go doc: make package documentation more concise Sep 12, 2019
elf_reader.go rename variable from prog to sec Mar 10, 2020
elf_reader_test.go elf: link library sections Mar 3, 2020
example_sock_elf_test.go remove unused const from example Feb 24, 2020
example_sock_extract_dist_test.go Rename to github.com/cilium/ebpf Sep 12, 2019
go.mod map: add Freeze support Feb 7, 2020
go.sum map: add Freeze support Feb 7, 2020
linker.go elf: link library sections Mar 3, 2020
linker_test.go elf: link library sections Mar 3, 2020
map.go map: use possible CPUs to size PerfEventArray Mar 17, 2020
map_test.go Add New(Map|Program)FromID() and ID() Feb 20, 2020
marshaler_example_test.go map: remove Marshaler in favour of documentation Sep 12, 2019
marshalers.go migrate error handling Jan 30, 2020
prog.go don't ignore kernelVersion Mar 16, 2020
prog_test.go Fix test build on non-linux Mar 19, 2020
readme.md
run-tests.sh CI: run tests on Go 1.14 and 1.13 and document requirements Mar 3, 2020
syscalls.go Add New(Map|Program)FromID() and ID() Feb 20, 2020
syscalls_test.go map: add Freeze support Feb 7, 2020
types.go remove unused and duplicate code Mar 2, 2020
types_string.go ebpf: implement LookupAndDelete Jan 10, 2020

readme.md

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.

ebpf/asm contains a basic assembler.

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

You can’t perform that action at this time.