[dpdk-users] DPDK 16.04 link changes cause PMD drivers to not be loaded

Panu Matilainen pmatilai at redhat.com
Wed Apr 20 10:32:36 CEST 2016


On 04/19/2016 04:42 AM, Aurojit Panda wrote:
> Hi
> I was trying to run testpmd from DPDK 16.04 on Linux with kernel version
> 4.4.0-1 (ld version 2.26). My machine has two
> XL710QDA2 NICs, and I built DPDK as a shared, combined library (i.e.,
> CONFIG_RTE_BUILD_SHARED_LIB=y and
> CONFIG_RTE_BUILD_COMBINE_LIBS=y in config/common_linuxapp). I found that
> the issue is due to ld not linking against all
> libraries with the new linker script (introduced in 948fd64befc3726) but
> am not sure how to fix this. As evidence for
> this being caused by this change:
>
[...]
> As you can see librte_pmd_i40e.so is missing from the list of files.
> Furthermore, using
>
> $ LD_PRELOAD="../lib/librte_pmd_i40e.so" ./testpmd -c 0x1c00 -n 4 -w
> 82:00.0 -w 82:00.1 --file-prefix "send" -- -i
> correctly enumerates the NICs.
>
> I unfortunately do not how to fix the linker script as checked in, but
> wanted to report this bug in case someone has a fix.

The PMDs are plugins which are not really supposed to be linked in but 
loaded dynamically. Set CONFIG_RTE_EAL_PMD_PATH to the location of your 
drivers and they'll get loaded on DPDK initialization.

	- Panu -



More information about the users mailing list