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
-O2
and-mcpu=v1
to clang by default which means that
programs should load out of the box. - Fix iterating an empty sockmap.
.data..percpu
sections 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!