Skip to content

Latest commit

 

History

History
103 lines (75 loc) · 2.71 KB

CHANGELOG.md

File metadata and controls

103 lines (75 loc) · 2.71 KB

Changelog

Unreleased

[0.6.1] - 2024-05-19

Changed

  • updated example in readme

[0.6.0] - 2024-05-19

Changed

  • use libxdp-sys instead of libbpf-sys

[0.5.0] - 2022-10-18

Changed

  • bump libbpf-sys version

[0.4.1] - 2022-03-10

Added

  • provide FrameDesc with a Default impl to make generating empty descs for rx simpler

Fixed

  • negate error codes when calling io::Error::from_raw_os_error
  • some libc calls just return -1 on error, not an informative error code so in these cases call io::Error::last_os_error() instead of io::Error::from_raw_os_error(err), where err is always equal to -1...

[0.4.0] - 2022-02-09

Added

  • add contents_mut to {Data, Headroom}Mut, along with other convenience traits ({As, Borrow, Deref}{Mut})

Changed

  • update {Data, Headroom}Mut::cursor docs to clarify when {Data, Headroom}Mut::contents_mut might be more appropriate
  • more colour to safety section of Umem::frame and Umem::frame_mut indicating why using the frame desc of another UMEM might be problematic

[0.3.0] - 2022-01-17

Added

  • support shared UMEM
  • support retrieving XDP statistics
  • new frame level structs to allow more granular UMEM access along with clearer separation between headroom and packet data. Includes a cursor for convenient writing
  • config builders and add extra types to enforce restrictions on certain values / sizes (e.g queue sizes)

Changed

  • bump libs, e.g. libbpf-sys to 0.6.0-1

Removed

  • got rid of lifetimes by packaging the various queues with an Arc'd UMEM or socket where needed to ensure they don't outlive what they depend on. Shouldn't cause any slowdown in the single threaded case since the Arcs aren't dereferenced in the fast path

[0.2.4] - 2021-07-10

Changes

  • expose the socket file descriptor on the Fd struct to make it possible to register the socket manually
  • bump libbpf-sys to version 0.4

[0.2.3] - 2021-06-09

Changed

  • added CI, fixed docs

[0.2.2] - 2020-05-25

Changed

  • bumped lib versions, libbpf-sys specifically

[0.2.1] - 2020-01-29

Changed

  • bumped libbpf-sys version to 0.3
  • fixed docs, wasn't showing some stuff since the structs/enums weren't exposed

[0.2.0] - 2021-01-17

Breaking change

Changed

  • Changed the APIs for the UMEM and socket to be unsafe where required. It's possible in a number of locations to get into a race with the kernel for a bit of shared memory, so tried to make those areas clearer.
  • Can now set the addr on FrameDesc manually, previously had to go through the library.
  • Cleared up examples and hopefully made them a bit more illustrative.

Added

  • A bench sub-project, work on which is ongoing.