v0.24.0
·
376 commits
to refs/heads/master
since this release
What's Changed
libbpf-rs
- Split
{Open,}{Map,Program}into{Open,}{Map,Program}(for shared access) and{Open,}{Map,Program}Mut(for exclusive access) - Added
AsRawLibbpfimpl forOpenObjectandObjectBuilder - Decoupled
MapandMapHandlemore and introducedMapCoretrait abstracting over common functionality - Adjusted
SkelBuilder::openmethod to require mutable reference to storage space for BPF object - Adjusted
{Open,}Object::from_ptrconstructor to be infallible - Added
{Open,}Object::maps{_mut,}and{Open,}Object::progs{_mut,}for BPF map and program iteration - Adjusted various APIs to return/use
OsStrinstead ofCStrorstr - Adjusted
{Open,}Programto lazily retrieve name and section- Changed
nameandsectionmethods to return&OsStrand made constructors infallible
- Changed
- Adjusted
OpenObject::nameto returnOption<&OsStr> - Removed
Resultreturn type fromOpenProgram::{set_log_level,set_autoload,set_flags} - Added
Object::namemethod - Added
CopyandCloneimpls for types insidebtf::typesmodule - Adjusted
OpenMap::set_inner_map_fdto returnResult - Adjusted
ProgramInput::context_infield to be a mutable reference - Made inner
query::Tagcontents publicly accessible - Fixed potential memory leak in
RingBufferBuilder::build - Removed
Displayimplementation of variousenumtypes
libbpf-cargo
- Reworked generated skeletons to contain publicly accessible maps and program members, no longer requiring method calls
- Adjusted skeleton creation logic to generate Rust types for all types available in BPF
- Renamed module for generated Rust types from
<project>_typesto justtypes - Renamed generated
struct_opstype toStructOpsand moved it out oftypesmodule - Fixed Rust code generation logic to properly create
Defaultimpl for arrays of pointers
New Contributors
Full Changelog: v0.23.3...v0.24.0