Releases: libbpf/libbpf-rs
Releases · libbpf/libbpf-rs
v0.25.0-beta.0
What's Changed
libbpf-rs
- Added
Map::lookup_batch
andMap::lookup_and_delete_batch
method
libbpf-cargo
- Represent C enums with custom types and const fields
- Adjusted Rust correspondents in generated skeletons to no longer be wrapped in
MaybeUninit
- Adjusted Rust correspondents in generated skeletons to no longer be wrapped in
- Adjusted
SkeletonBuilder::build*
methods to returnCompilationOutput
on success
New Contributors
- @JakeHillion made their first contribution in #994
Full Changelog: v0.24.8...v0.25.0-beta.0
v0.24.8
What's Changed
libbpf-rs
- Added
Program::attach_netfilter_with_opts
for attaching to netfilter hooks
Full Changelog: v0.24.8...v0.24.8
v0.24.7
What's Changed
libbpf-cargo
- Fixed handling of empty unions in BPF types
New Contributors
- @JoelColledge made their first contribution in #975
- @musicinmybrain made their first contribution in #988
Full Changelog: v0.24.6...v0.24.7
v0.24.6
What's Changed
libbpf-cargo
- Fixed incorrect Cargo environment variable query when used in build script context
New Contributors
Full Changelog: v0.24.5...v0.24.6
v0.24.5
What's Changed
libbpf-rs
- Renamed
Program::get_id_by_fd
toid_from_fd
- Deprecated
Program::get_id_by_fd
- Deprecated
- Renamed
Program::get_fd_by_id
tofd_from_id
- Deprecated
Program::get_fd_by_id
- Deprecated
- Adjusted
Program::{attach_*, test_run}
methods to work on shared receivers - Adjusted
PerfBufferBuilder
to work withMapCore
objects
New Contributors
- @CoderPoet made their first contribution in #939
- @lbrndnr made their first contribution in #951
Full Changelog: v0.24.4...v0.24.5
v0.24.4
What's Changed
libbpf-rs
- Added
Program::fd_from_pinned_path
method for restoring program descriptor from a pinned path
libbpf-cargo
- Adjusted skeleton generation code to work around
libbpf
forward compatibility issue when an old systemlibbpf
is being used instead of the vendored copy
Full Changelog: v0.24.3...v0.24.4
v0.24.3
What's Changed
libbpf-cargo
- Silenced possible
clippy
reported warnings in generated skeleton when BPF object file does not contain any maps
Full Changelog: v0.24.2...v0.24.3
v0.24.2
What's Changed
libbpf-cargo
- Fixed panic on "open" of skeleton with
kconfig
map
Full Changelog: v0.24.1...v0.24.2
v0.24.1
What's Changed
libbpf-cargo
- Fixed missing BPF object cleanup after skeleton destruction
Full Changelog: v0.24.0...v0.24.1
v0.24.0
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
AsRawLibbpf
impl forOpenObject
andObjectBuilder
- Decoupled
Map
andMapHandle
more and introducedMapCore
trait abstracting over common functionality - Adjusted
SkelBuilder::open
method to require mutable reference to storage space for BPF object - Adjusted
{Open,}Object::from_ptr
constructor 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
OsStr
instead ofCStr
orstr
- Adjusted
{Open,}Program
to lazily retrieve name and section- Changed
name
andsection
methods to return&OsStr
and made constructors infallible
- Changed
- Adjusted
OpenObject::name
to returnOption<&OsStr>
- Removed
Result
return type fromOpenProgram::{set_log_level,set_autoload,set_flags}
- Added
Object::name
method - Added
Copy
andClone
impls for types insidebtf::types
module - Adjusted
OpenMap::set_inner_map_fd
to returnResult
- Adjusted
ProgramInput::context_in
field to be a mutable reference - Made inner
query::Tag
contents publicly accessible - Fixed potential memory leak in
RingBufferBuilder::build
- Removed
Display
implementation of variousenum
types
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>_types
to justtypes
- Renamed generated
struct_ops
type toStructOps
and moved it out oftypes
module - Fixed Rust code generation logic to properly create
Default
impl for arrays of pointers
New Contributors
Full Changelog: v0.23.3...v0.24.0