[dpdk-dev] rte_eth_rx_burst stops running on dpdk extlib

Prashant Upadhyaya prashant.upadhyaya at aricent.com
Wed Oct 30 08:13:06 CET 2013


Hi Pepe,

Please also make sure that you are following the correct makefile templates (as present in examples) when you build your app separately.
If you don't, then you will naturally miss out on some flags and that can prove fatal because your app will see some code differently in the header files of rte than what the library was built with based on the compiler flags.

Regards
-Prashant


From: Jose Gavine Cueto [mailto:pepedocs at gmail.com]
Sent: Wednesday, October 30, 2013 12:34 PM
To: Prashant Upadhyaya
Cc: dev at dpdk.org
Subject: Re: [dpdk-dev] rte_eth_rx_burst stops running on dpdk extlib

Hi Prashant,

Are you referring to the rte_* libraries ?  I had actually compiled them using the setup script ($(RTE_SDK)/tools/setup.sh) and then linked the PMD lib extension I've made and then linked the pktdump eventually, before seeing the problem.  However, building it all as an app. didn't show any issue.

I will try to redo the building/linking just to make sure.

Thank you!

On Wed, Oct 30, 2013 at 2:57 PM, Prashant Upadhyaya <prashant.upadhyaya at aricent.com<mailto:prashant.upadhyaya at aricent.com>> wrote:
Hi Pepe,

How about this -- compile the libraries yourself and then link your application with them just like the original usecase where you find the problem.
If this works, then the problem is with the precompiled libraries you were picking from somewhere.

Regards
-Prashant


-----Original Message-----
From: dev [mailto:dev-bounces at dpdk.org<mailto:dev-bounces at dpdk.org>] On Behalf Of Jose Gavine Cueto
Sent: Wednesday, October 30, 2013 12:22 PM
To: dev at dpdk.org<mailto:dev at dpdk.org>
Subject: Re: [dpdk-dev] rte_eth_rx_burst stops running on dpdk extlib

Hi,

Could someone help me ?  Or at least let me know if what I'm doing (diagram
above) is right with regard to using a external dpdk library ?  I assume dpdk external libraries can be treated as norma C libraries.

Cheers,
Pepe


On Wed, Oct 30, 2013 at 8:18 AM, Jose Gavine Cueto <pepedocs at gmail.com<mailto:pepedocs at gmail.com>>wrote:

> Hi,
>
> I'm writing a very simple packet dump application that can be
> described by the following diagram:
>
>  ---------------------------
> |        pktdump        |
>  ----------------------------
> | PMD lib extension |
> |         (extlib)          |
>  ----------------------------
> | DPDK PMD lib      |
>  ----------------------------
>
> pktdump - very simple app. built with gcc and linked with pmd lib
> extension and dpdk libs.
> pmd lib extension - an extension of dpdk pmd library, which provides
> some higher-level APIs dpdk pmd lib - pmd lib provided by Intel
>
> I have an issue where in when I run the pktdump app. it's lcore
> threads stops executing at varying number of times.  Sometimes it doesn't even run.
> But this only happens if I use the PMD lib extension.  On the other
> hand, if pktdump is directly built with pmd lib extension code while
> pmd lib extension is built as an extapp, it works very well.  I wonder
> what's the difference, code-wise there is none, the only difference I
> can see is how they are built (extapp, extlib).
>
> The pmd lib extension's lcore threads basically do simple forwarding
> (rx
> -> tx).  So rte_eth_rx_burst is called when receiving packets and
> rte_eth_tx_burst when transmitting packets.  These runs on an lcore thread.
>
> snippet of code that runs on lcore:
>
> void burst_fwd(...){
>  num_rx = rte_eth_rx_burst(...)
>  ...
>  rte_eth_tx_burst(...)
> }
>
> Any tips on how to debug this, some quick inspections may help.  Is
> there some specific build options for building libraries, because this
> only happens on extlib.
>



--
To stop learning is like to stop loving.



===============================================================================
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
===============================================================================



--
To stop learning is like to stop loving.




===============================================================================
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
===============================================================================


More information about the dev mailing list