Skip to content

v0.21.0

Compare
Choose a tag to compare
@github-actions github-actions released this 05 Jul 17:55
· 599 commits to refs/heads/master since this release

What's Changed

libbpf-rs

  • Added TcHook::get_handle and TcHook::get_priority methods for restoring TcHook object
  • Added Program::get_fd_by_id and Program::get_id_by_fd methods for restoring bpf management data
  • Added Map::is_pinned and Map::get_pin_path methods for getting map pin status
  • Added Program::attach_iter for attaching of programs to an iterator
  • Added Map::delete_batch method for bulk deletion of elements
  • Added read/update/delete support for queue and stack Map types
  • Added a new MapHandle which provides most functionality previously found in Map
  • Removed support for creating Map objects standalone (i.e. maps not created by libbpf)
  • Removed various <object-type>::fd() methods in favor of <object-type>::as_fd()
  • Improved btf_type_match! macro, adding support for most of Rust's match capabilities
  • Added skel module exposing skeleton related traits
  • Fixed issue where instances of Map created or opened without going through Object would leak file descriptors
  • Fixed potential Uprobe attachment failures on optimized builds caused by improper libbpf_sys::bpf_object_open_opts object initialization
  • Adjusted various methods to work with BorrowedFd instead of raw file descriptors
  • Made RingBufferBuilder::add enforce that self cannot outlive the maps passed into it
  • Adjusted Error::System variant textual representation to include errno string

libbpf-cargo

  • Adjusted skeleton generation code to ensure implementation of libbpf-rs's SkelBuilder, OpenSkel, and Skel traits
  • Improved error reporting on BPF C file compilation failure

New Contributors

Full Changelog: v0.20.1...v0.21.0