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