This module provides a Rust interface for AF_XDP built on libbpf-sys (https://github.com/alexforster/libbpf-sys).
AF_XDP:
The goals of this crate, in order, are:
The API works for my current use cases but I expect it will change to achieve higher performance and usability.
If you have knowledge of Rust FFI and general Rust unsafe things I would greatly appreciate some help auditing this crate as my experience in this area is limited.
cargo build. To avoid this, checkout libbpf-sys, download the Git submodule for libbpf, edit the Makefile in libbpf/src/, add -fPIC to the CFLAGS and rebuild libbpf-sys. Then add the path parameter to Cargo.toml in this module to point to the libbpf-sys directory.toml
libbpf-sys = { version = "0.0.6-4", path = "/home/dan/projects/rust/libbpf-sys" }