xdp_af

Crates.ioxdp_af
lib.rsxdp_af
version0.1.1
created_at2025-10-25 20:05:32.049189+00
updated_at2025-10-25 20:12:30.013588+00
descriptionA Library for building the user-space components of AF_XDP applications in Rust.
homepage
repositoryhttps://github.com/skewballfox/xdp_af
max_upload_size
id1900565
size51,354
Joshua Ferguson (skewballfox)

documentation

README

XDP_AF

Library for speedrunning AF_XDP ebpf programs. It handles the boilerplate configuration for making these sort of programs so you only have to implement the logic unique to your specific program. I'm still hacking on this myself, so breaking changes might happen.

Shoutout to quilkin for being one of the few rust-based AF_XDP programs in the wild. I spent so much time trying to understand your code I turned it into a library.

How to use this Crate

  • Implement the traits in xdp_af::traits.
  • pass the userspace_config to the builder.
  • tweak the configuration options wrapped by the builder
  • build

step 1 is very much a draw the rest of the owl kind of task. Most of the logic is going to be in the batch packet processing function. The ebpf module itself will probably be comparatively easy.

if you see anything missing which you think makes sense to implement for the majority of AF_XDP programs, or have some functionality in mind you think would be beneficial to implementors, feel free to open an issue or PR.

Commit count: 0

cargo fmt