Releases: cilium/ebpf
Releases · cilium/ebpf
v0.4.0
Breaking changes
- Map.Pin and Program.Pin only allow pinning to a single location on a BPFFS,
repeated calls will move the pinned object rather than create additional pins.
Clone the map or program if you need to pin to multiple paths. - The API of bpf2go generated programs has changed.
Bug fixes
- bpf2go now passes
-O2and-mcpu=v1to clang by default which means that
programs should load out of the box. - Fix iterating an empty sockmap.
.data..percpusections present in newer kernel BTF are now handled correctly.- Non-static constants work now thanks to more robust ELF relocation handling.
- Various fixes to feature probes
Features
- Map and Program have gained Unpin which removes a previous Pin.
- BTF-style map definitions can now declare nested maps.
- EnableStats allows collecting global run time stats for Programs.
- Some Maps can now be modified using the Batch* methods.
- Programs now have a Tag function which allows calculating the kernel "tag"
of a program. - There is now a folder with examples
Contributors
- Aditi Ghag
- Bryce Kahle
- Dmitry Savintsev
- Florian Lehner
- Iacopo Rozzo
- Kornilios Kourtis
- Lorenz Bauer
- Mattia Meleleo
- Mikko Ylinen
- Nate Sweet
- Takeru Hayasaka
- Timo Beckers
- Tobias Klauser
- Tom Payne
Thank you for your work!
Add MapInfo and ProgramInfo
Allow accessing map and program metadata. This also removes the confusing MapABI and ProgramABI, which have been deprecated.
Users of MapABI and ProgramABI can migrate to the Type(), etc. getters on Map and Program directly.
Support LSM hook and add network namespace link
The library now understands lsm/ sections. There is a new link.NetNsLink which allows attaching sk_lookup and flow_dissector programs.
Some bugfixes in btf.
Deprecate MapABI and ProgramABI
This release deprecates MapABI and ProgramABI in favour of straight up getters on Map and Program.