[dpdk-dev] rte_eth_rx_burst stops running on dpdk extlib

Prashant Upadhyaya prashant.upadhyaya at aricent.com
Wed Oct 30 07:57:35 CET 2013


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] On Behalf Of Jose Gavine Cueto
Sent: Wednesday, October 30, 2013 12:22 PM
To: 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>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.
===============================================================================


More information about the dev mailing list