[dpdk-users] Difficulty With rte_eal_init()

Matthew Hall mhall at mhcomputing.net
Sat Mar 19 03:45:23 CET 2016


On Fri, Mar 18, 2016 at 04:40:28PM -0700, Cliff Burdick wrote:
> In regards to your fix above, how does this change the probing behavior? It
> seems that it's just combining all the .a files into a single library,
> right?

Without these link flags, the constructor functions, which cause ethdev 
drivers to register themselves as probe-able via PCI, do not get invoked 
during library load-time, and the probing always screws up, finding zero 
working Ethernet ports.

> I still needed to include that whole lost if -D options that the
> examples use, or it still didn't seem to probe the bus. I must be missing
> something else as well.

If you have to pass all these -DRTE_MACHINE_* it is most frequently caused by 
an outdated C / C++ compiler. The most recent report of it, which I witnessed, 
then saw reported by a second party on the DPDK mailing list, was caused by a 
branch of clang which was too old to enable the correct accelerations for 
the Haswell, Broadwell, and Skylake series.

The other thing could be you didn't pull in the rte_config.h using -include 
$(RTE_INCLUDE)/rte_config.h and -isystem$(RTE_INCLUDE).

Matthew.


More information about the users mailing list