aya-rs / aya

Aya is an eBPF library for the Rust programming language, built with a focus on developer experience and operability.
https://aya-rs.dev/book/
Apache License 2.0
3.22k stars 289 forks source link

AF_XDP support #507

Open vodik opened 1 year ago

vodik commented 1 year ago

Hey, so I see no support for AF_XDP. I'm interested in using that, so I'm currently thinking of working on it.

I'm starting with support for xsk_umem and will work up from there. Opening an issue mostly to see if there's any advice, interest, or if I'm duplicating ongoing work.

alessandrod commented 1 year ago

Hi! Just assigned the issue to you 😊

Sounds great! There's definitely interest and it's been close to the top of my todo list for a while. Very happy to hand it off to you and also happy to assist with testing, reviews etc along the way.

vodik commented 1 year ago

I started stumbling around with support here: https://github.com/vodik/aya/tree/xdp-tools

I haven't gotten far yet. So far I've added bindgen support to pull definitions of xdp-tools and started playing with them. I'm still figuring out how this library and xdp-tools work.

In the meanwhile, any thoughts on the bindgen part of the equation? xdp/xsk stuff has been split out of libpbf and moved into xdp-tools. Should we make it optional? Put it in another bindings file? In another crate?

alessandrod commented 1 year ago

I started stumbling around with support here: https://github.com/vodik/aya/tree/xdp-tools

In the meanwhile, any thoughts on the bindgen part of the equation? xdp/xsk stuff has been split out of libpbf and moved into xdp-tools. Should we make it optional? Put it in another bindings file? In another crate?

I skimmed through your branch and now you've put it with the other bindings right? That seems perfectly ok to me. I don't think we need to make it optional.

vodik commented 1 year ago

Status update, I think I have umem part setup correctly - however terrible the code is.

maryamtahhan commented 1 year ago

Hey Folks have you seen https://github.com/CloudNativeDataPlane/cndp/tree/main/lang/rs, would it be of interest from an integration POV?

kjetilkjeka commented 1 year ago

What is the status of this feature? Do you still have ambitions of completing it @vodik? Or is it currently not being worked on? Does anyone have any estimates of the work remaining?

emanuele-em commented 5 months ago

News on this feature? Is it still under development or the has it been abandoned?

vegkams commented 2 weeks ago

As mentioned on Discord, I'll have a look at this issue