[dpdk-dev] LD_PRELOAD libraries for DPDK to run unmodified applications with DPDK?

Malveeka Tewari malveeka at gmail.com
Wed Sep 24 22:10:32 CEST 2014


Hi all,

I've been trying to run unmodified applications with the DPDK framework.
I used the KNI module and while it allowed me to run stock applications
with DPDK infrastructure, it was not optimized for performance.

There is already a rump-kernel based  TCP/IP stack for DPDK
https://github.com/rumpkernel/dpdk-rumptcpip/.

and another userland IP stack
http://ipaugenblick.net/

But these solutions are again too heavy weight.
I am looking for something much simpler -- a lightweight  library that can
intercept the "sendto" calls made by the application (through LD_PRELOAD),
create corresponding rte_mbuf structures from the data buffer and pass it
to the NIC directly using the DPDK API, completely bypassing the kernel.
I realize this bypassing will not work for TCP, but perhaps such an
interposing library can be hooked to a user-space TCP implementation in
order to support TCP.

Does this approach sound reasonable or am I missing something?
And has this been done already?

Any thoughts/suggestions are welcome.

Malveeka


More information about the dev mailing list