xdpilone

Crates.ioxdpilone
lib.rsxdpilone
version1.0.4
sourcesrc
created_at2023-01-16 18:18:09.17099
updated_at2024-06-06 13:06:32.911072
descriptionInteraction with Linux XDP sockets and rings. No libbpf/libxpd-sys. Lightweight, high-performance.
homepage
repositoryhttps://github.com/HeroicKatora/xdpilone
max_upload_size
id760464
size106,833
Andreas Molzer (HeroicKatora)

documentation

README

The XDP Rust access library.

Motivation

For the Linux AF_XDP all existing libraries are based on or around the C access libraries. The goal is develop a Rust centric library that can take advantage of its added thread-safety benefits for socket types, as well as high-level abstractions (such as closures, Arc) for interacting with the packet buffers.

The primary metrics for decision making are performance, and latency.

Overview

Goals:

  • No more latency than the C implementation in the data paths.
  • Enable and simplify correct multi-threading on the same Umem.

Non-Goals:

  • Handling BPF / XSK_MAP. This is necessary to accept packets on any of the RX sockets created, however it can be setup at any point with no interaction with the actual queues. Hence we keep this large dependency tree separate. (You could choose a pure-Rust libbpf alternative if you want to).
  • Dealing with any aspects of buffer allocation.

Name Origin

The drug Ixabepilone is a pharmaceutical against cancer.

Commit count: 41

cargo fmt