[dpdk-dev] [PATCH] drivers/net: only compile PFE and ENETC when DPAA was selected
Thierry Herbelot
thierry.herbelot at 6wind.com
Wed Oct 30 11:11:16 CET 2019
On 10/30/19 6:46 AM, Gagandeep Singh wrote:
> Hi Thierry,
>
>> -----Original Message-----
>> From: Thierry Herbelot <thierry.herbelot at 6wind.com>
>> Sent: Tuesday, October 29, 2019 6:32 PM
>> To: dev at dpdk.org
>> Cc: Thomas Monjalon <thomas at monjalon.net>; Gagandeep Singh
>> <G.Singh at nxp.com>
>> Subject: [PATCH] drivers/net: only compile PFE and ENETC when DPAA was
>> selected
>>
>> PFE and ENETC depend on DPAA features.
>>
>> Fixes: e56463ec47f0 ('net/enetc: enable dpaax library')
>> Fixes: 67fc3ff97c39 ('net/pfe: introduce basic functions')
>> Cc: Gagandeep Singh <g.singh at nxp.com>
>>
>> Signed-off-by: Thierry Herbelot <thierry.herbelot at 6wind.com>
>> ---
>> drivers/net/Makefile | 4 ++++
>> mk/rte.app.mk | 4 ++++
>> 2 files changed, 8 insertions(+)
>>
>> diff --git a/drivers/net/Makefile b/drivers/net/Makefile
>> index cee30367a1c3..966133427276 100644
>> --- a/drivers/net/Makefile
>> +++ b/drivers/net/Makefile
>> @@ -25,7 +25,9 @@ DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2
>> endif
>> DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000
>> DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena
>> +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
>> DIRS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc
>> +endif
>> DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
>> DIRS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe
>> DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k
>> @@ -50,7 +52,9 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null
>> DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx
>> DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += octeontx2
>> DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap
>> +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
>> DIRS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe
>> +endif
>> DIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede
>> DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += ring
>> DIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc
>> diff --git a/mk/rte.app.mk b/mk/rte.app.mk
>> index 1f5c74841fb3..e440dffd7575 100644
>> --- a/mk/rte.app.mk
>> +++ b/mk/rte.app.mk
>> @@ -170,7 +170,9 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -
>> lrte_pmd_dpaa2
>> endif
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += -lrte_pmd_e1000
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += -lrte_pmd_ena
>> +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += -lrte_pmd_enetc
>> +endif
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += -lrte_pmd_enic
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += -lrte_pmd_fm10k
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += -lrte_pmd_failsafe
>> @@ -204,7 +206,9 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += -
>> lrte_pmd_nfp
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += -lrte_pmd_null
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += -lrte_pmd_octeontx2 -
>> lm
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lrte_pmd_pcap -lpcap
>> +ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += -lrte_pmd_pfe
>> +endif
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += -lrte_pmd_qede
>> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING) += -lrte_pmd_ring
>> ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
>> --
>> 2.20.1
>
> I didn't see any compilation issue on '19.11-rc1' tag and also these both PMDs are independent of DPAA_BUS, so we cannot accept these changes, can you please share your exact steps of compilation?
Hello, Gagan
Indeed, the compilation procedure was not described.
These are the reproduction steps (on an Intel machine):
git clone git://dpdk.org/dpdk
cd dpdk
make config T=x86_64-native-linux-gcc
cd build
vi .config
=> disable RTE_LIBRTE_DPAA_BUS and RTE_LIBRTE_FSLMC_BUS
make
...
== Build app/test
LD test
/build/dpdk/build/lib/librte_pmd_caam_jr.a(caam_jr.o): In function
`cryptodev_caam_jr_probe':
caam_jr.c:(.text+0x123a): undefined reference to `of_find_compatible_node'
caam_jr.c:(.text+0x125b): undefined reference to `of_find_compatible_node'
caam_jr.c:(.text+0x1276): undefined reference to `of_get_property'
/build/dpdk/build/lib/librte_pmd_caam_jr.a(caam_jr.o): In function
`caam_jr_dequeue_burst':
caam_jr.c:(.text+0x1dfb): undefined reference to `dpaax_iova_table_p'
/build/dpdk/build/lib/librte_pmd_enetc.a(enetc_ethdev.o): In function
`enetc_dev_uninit':
enetc_ethdev.c:(.text+0x679): undefined reference to
`dpaax_iova_table_depopulate'
/build/dpdk/build/lib/librte_pmd_enetc.a(enetc_ethdev.o): In function
`enetc_dev_init':
enetc_ethdev.c:(.text+0xda1): undefined reference to
`dpaax_iova_table_populate'
/build/dpdk/build/lib/librte_pmd_enetc.a(enetc_ethdev.o): In function
`enetc_pci_remove':
enetc_ethdev.c:(.text+0xfe9): undefined reference to
`dpaax_iova_table_depopulate'
collect2: error: ld returned 1 exit status
Regards
Thierry
>
> Thanks,
> Gagan
>
--
Thierry Herbelot
6WIND
Senior Software Engineer
More information about the dev
mailing list