[dpdk-dev] [PATCH 2/2] app/testpmd: remove explicit ixgbe link request

Ferruh Yigit ferruh.yigit at intel.com
Tue Jan 3 14:30:26 CET 2017


On 12/27/2016 10:09 AM, Jerin Jacob wrote:
> Removed explicit ixgbe driver linkage request from
> app/testpmd makefile to mk/rte.app.mk to
> 1)Maintain the correct link ordering(from higher level libraries
> to lower level libraries)
> 2)In shared lib configuration, any application can use ixgbe
> exposed pmd specific APIs not just testpmd.

In testpmd, "explicit ixgbe driver linkage request" added because
testpmd uses ixgbe PMD specific APIs.

Overall, that line is for shared library, for static library result
should be same.

I believe it is good to keep it in testpmd Makefile, updating rte.app.mk
to have it will:
- link library to the applications which does not use PMD specific APIs
and want to load PMD dynamically.
- link library to the application that won't use driver at all. This may
break the distributed binaries, since testpmd will now be dependent to a
specific PMD.

> 
> Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
> ---
>  app/test-pmd/Makefile | 2 --
>  mk/rte.app.mk         | 2 +-
>  2 files changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
> index 5988c3e..96e0c67 100644
> --- a/app/test-pmd/Makefile
> +++ b/app/test-pmd/Makefile
> @@ -59,8 +59,6 @@ SRCS-y += csumonly.c
>  SRCS-y += icmpecho.c
>  SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c
>  
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe
> -
>  CFLAGS_cmdline.o := -D_GNU_SOURCE
>  
>  # this application needs libraries first
> diff --git a/mk/rte.app.mk b/mk/rte.app.mk
> index f75f0e2..aee235c 100644
> --- a/mk/rte.app.mk
> +++ b/mk/rte.app.mk
> @@ -101,6 +101,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_CFGFILE)        += -lrte_cfgfile
>  
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND)       += -lrte_pmd_bond
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT)    += -lrte_pmd_xenvirt -lxenstore
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)      += -lrte_pmd_ixgbe
>  
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
>  # plugins (link only if static libraries)
> @@ -114,7 +115,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD)        += -lrte_pmd_ena
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD)       += -lrte_pmd_enic
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_FM10K_PMD)      += -lrte_pmd_fm10k
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_I40E_PMD)       += -lrte_pmd_i40e
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)      += -lrte_pmd_ixgbe
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -lrte_pmd_mlx4 -libverbs
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD)       += -lrte_pmd_mlx5 -libverbs
>  _LDLIBS-$(CONFIG_RTE_LIBRTE_MPIPE_PMD)      += -lrte_pmd_mpipe -lgxio
> 



More information about the dev mailing list