Comments on Improve Network Performance with openDataplane and Open Fast Path on Ubuntu 16.04
The performance of Linux-based network solutions was one of the biggest issues in the past and that's why Intel started the Data Plane Development Kit (DPDK) project. The goal of the ODP environment is to provide a crossplatform framework for data plane applications. OpenFastPath (OFP) is another open source implementation of a high-performance TCP/IP stack which is helpful for network applications with a traditional Linux stack. In this tutorial, OFP will be installed on an Ubuntu 16.04 VM.
10 Comment(s)
Comments
Can you elaborate on the use cases for this ?
I'm not familiar with Dataplane and ODP. Why would somebody use this? What does it do for an aplication like MariaDB/MySQL ?
When followig this example, I set the ip on the fp0 interface, but am unable to ping out from the server.
Incoming pings to the IP work, but not outgoing.
Me too! Did you ever work out what was going on?
Hello,
While i try to compile OFP (following the instruction above step by by step) i get this error:
/home/hwk/fp2/ofp/example/fpm/app_main.c:229: undefined reference to `odph_linux_pthread_create'
/home/hwk/fp2/ofp/example/fpm/app_main.c:274: undefined reference to `odph_linux_pthread_join'
app_main.o: In function `start_performance':
/home/hwk/fp2/ofp/example/fpm/app_main.c:512: undefined reference to `odph_linux_pthread_create'
app_main.o: In function `main':
/home/hwk/fp2/ofp/example/fpm/app_main.c:287: undefined reference to `odph_linux_pthread_join'
../../lib/.libs/libofp.a(ofp_cli.o): In function `ofp_start_cli_thread':
/home/hwk/fp2/ofp/src/cli/ofp_cli.c:1741: undefined reference to `odph_linux_pthread_create'
../../lib/.libs/libofp.a(ofp_cli.o): In function `ofp_stop_cli_thread':
/home/hwk/fp2/ofp/src/cli/ofp_cli.c:1765: undefined reference to `odph_linux_pthread_join'
../../lib/.libs/libofp.a(ofp_init.o): In function `ofp_init_global':
/home/hwk/fp2/ofp/src/ofp_init.c:218: undefined reference to `odph_linux_pthread_create'
../../lib/.libs/libofp.a(ofp_init.o): In function `ofp_term_global':
/home/hwk/fp2/ofp/src/ofp_init.c:294: undefined reference to `odph_linux_pthread_join'
/home/hwk/fp2/ofp/src/ofp_init.c:295: undefined reference to `odph_linux_pthread_join'
/home/hwk/fp2/ofp/src/ofp_init.c:270: undefined reference to `odph_linux_pthread_join'
../../lib/.libs/libofp.a(ofp_ifnet.o): In function `ofp_ifnet_create':
/home/hwk/fp2/ofp/src/ofp_ifnet.c:319: undefined reference to `odph_linux_pthread_create'
/home/hwk/fp2/ofp/src/ofp_ifnet.c:328: undefined reference to `odph_linux_pthread_create'
collect2: error: ld returned 1 exit status
I could build ofp with devbuild_dpdk script and run the examples.But it didn't be compiled with "make".
I get the following error trying to build OFP:
/usr/local/odp//include/odp/api/plat/shared_memory_types.h:23:39: fatal error: odp/api/shared_memory.h: No such file or directory
compilation termined.
Any ideas? My google foo is not turning up anything.
After several failed attempts to solve this, I blew away the VM, reinstalled Ubuntu and tried again. It still fails when trying to compile ofp. This time the error was a little different:
root@genesis01:~/download/ofp# make
Making all in scripts
make[1]: Entering directory '/home/abrand/download/ofp/scripts'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/abrand/download/ofp/scripts'
Making all in src
make[1]: Entering directory '/home/abrand/download/ofp/src'
CC ofp_pkt_processing.lo
In file included from ofp_pkt_processing.c:35:0:
../include/ofpi.h:12:30: fatal error: odp/helper/linux.h: No such file or directory
compilation terminated.
Makefile:646: recipe for target 'ofp_pkt_processing.lo' failed
make[1]: *** [ofp_pkt_processing.lo] Error 1
make[1]: Leaving directory '/home/abrand/download/ofp/src'
Makefile:587: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
root@genesis01:~/download/ofp#
I faced this problem, OFP (master branch) supports only one ODP version: monarch_lts
On odp, try:
git checkout -b test_monarch_lts origin/monarch_lts
https://github.com/OpenFastPath/ofp/issues/148
CC ofp_pkt_processing.lo
In file included from /usr/local/odp//include/odp/api/barrier.h:22:0,
from /usr/local/odp//include/odp_api.h:31,
from /usr/local/odp//include/odp.h:21,
from ../include/ofpi.h:11,
from ofp_pkt_processing.c:35:
/usr/local/odp//include/odp/api/plat/shared_memory_types.h:23:39: fatal error: odp/api/abi/shared_memory.h: No such file or directory
compilation terminated.
Makefile:646: recipe for target 'ofp_pkt_processing.lo' failed
make[1]: *** [ofp_pkt_processing.lo] Error 1
make[1]: Leaving directory '/home/ibraheem/ofp/src'
Makefile:587: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Finally it worked for me this way.
The ODP version was 1.15.0.0. So I used --enable-helper-linux option with ./configure before compiling ODP.
Then the compilation of OFP went through
Finally it worked for me this way.
The ODP version was 1.15.0.0. So I used --enable-helper-linux option with ./configure before compiling ODP.
Then the compilation of OFP went through