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 cross­platform 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)

Add comment

Please register in our forum first to comment.

Comments

By: alex

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 ?

By: Dave

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.

By: richard

Me too!  Did you ever work out what was going on?

By: JeffRegerator

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".

By: Allan

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.

By: Allan

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#

By: Ibraheem

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

By: Ibraheem

  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

 

By: kam

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

By: kam

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