szymonwieloch / rust-rawsock

Rust library for obtaining and sending raw network packets from interfaces.
MIT License
68 stars 14 forks source link

PF_RING ZC #1

Open gdyr opened 5 years ago

gdyr commented 5 years ago

Hey,

I was going to look into making this work with PF_RING ZC if it doesn't already... Is that something you've considered / looked at?

Very new to both Rust and userspace networking but currently building a low-latency network application and loving this library already!

Cheers

szymonwieloch commented 5 years ago

@gdyr Hi! I have limited understanding of PF_RING ZC but I think that this is simply a commercial extension to the normal PF_RING. If that is true (and I believe it is) then there is one common API for both versions of this library. It means that ZC should work correctly now. I couldn't have tested it because I don't have commercial license. If I remember the documentation correctly, you should configure the license and use "zc:eth0" instead of "eth0" when opening an interface. But you need to check PF_RING documentation to be sure.

Luckily for you I am working at the moment on providing full DLL APIs and I started with PF_RING, so the support for all available functions and structures in PF_RING is coming in few days.

If you find that this library does not work some reason with ZC, please let me know. I will try to add it.

Regards