ebpf
ebpf copied to clipboard
ebpf-go is a pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel.
Timo is in the process of moving cilium/cilium over to use ebpf.Map more consistently and he found that map operations in the lib allocate a lot more than the old...
In https://github.com/cilium/cilium/pull/22693, Cilium will start relying exclusively on the library to tell it when a map is incompatible with an existing pinned map, but right now `ErrMapIncompatible` is a little...
#1193 added support for new instructions. We need to extend `COREFixup.Apply` to recognise the new load / store modes. ```[tasklist] ### Tasks - [ ] Check what libbpf does. Did...
I would like to discuss the future of the Map Iterator API. Currently, it doesn't transparently use batch lookups under the hood However, the current batch API, as it is...
By referencing `bpftool link`, there are two missing functions: `LinkGetNextID()` and `NewLinkFromID()`. Then, when I want to implement them, `LinkGetNextIdAttr`, `LinkGetNextID()` and `LinkGetFDByID()` are missing in `sys/types.go` generated by `gentypes`....
Hello, I'm having trouble using the kernel's `container_of` macro in a BPF program loaded with cilium/ebpf v0.10.0. This program works as expected when loaded with libbpf 0.6.0 or by running...
We currently hardcode pointer size: https://github.com/cilium/ebpf/blob/9447ec825af0802d63ea2d74523536f99622bb59/btf/types.go#L149 The kernel uses [`sizeof(void*)` instead](https://elixir.bootlin.com/linux/v6.2.2/source/kernel/bpf/btf.c#L1960). That size depends on which [data model](https://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models) is used.The correct size of `Pointer` in Go land is actually `unsafe.Sizeof(uintptr(0))`,...
I accidentally dropped the change to allow pinning uprobe multi from Jiri's patch. This restores the functionality.
Address calculation of the symbols occurs only with Executable.load(). while the symbol name is provided. This PR fixes by ensuring that the symbol address calculation occurs correctly even when the...
Support for unix socketse have been added and released with linux kernel v6.7 and it would be nice to have it in cillium too. ref: https://github.com/torvalds/linux/commit/8b3cba987e6d9464bb533d957de923f891b57bf8