uNetworking / uSockets

Miniscule cross-platform eventing, networking & crypto for async applications
Apache License 2.0
1.29k stars 268 forks source link

DPDK support #80

Closed tommitytom closed 4 years ago

tommitytom commented 4 years ago

The bottleneck of my application is currently OS calls (bsd_send etc) and I'm looking to get a bit more throughput. I've recently been made aware of DPDK and frameworks like F-Stack that can vastly improve packet throughput. Is there a plan to support such frameworks in the future? Or if I were to attempt to do this myself do you foresee any issues I may have? I'm interested in creating an F-Stack backend for uSockets. It provides an epoll interface so should hopefully slot in nicely.

ghost commented 4 years ago

uSockets is designed for that, you basically would implement the eventing and networking layer but not the crypto one. The interface is mocked in fuzzing folder, uSocketsMock.c

ghost commented 4 years ago

I've tested a few TCP stacks and while definitely possible, the lack of portability with Linux and SSL being so big of a bottleneck anyways, it makes less sense. Nobody really want this, and I've lost the interest myself. Closing for now, maybe something like this will be added at some point in time but now it makes no sense.