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.