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

Jerin Jacob jerin.jacob at caviumnetworks.com
Wed Jan 4 13:59:26 CET 2017


On Wed, Jan 04, 2017 at 11:44:21AM +0000, Ferruh Yigit wrote:
> On 1/4/2017 11:01 AM, Jerin Jacob wrote:
> > On Tue, Jan 03, 2017 at 01:30:26PM +0000, Ferruh Yigit wrote:
> >> 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.
> > ----
> > 
> >>
> >> 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.
> > 
> > No strong opinion here as it is specific to ixgbe. But can we include
> > ixgbe only for shared library in testpmd so that it won't effect any
> > symbol generation in static build.
> 
> I think this is better, I am OK with below patch, thanks.

OK. I will post the v2 based on following patch then.

> 
> > 
> > 
> > [dpdk-master] $ git diff
> > diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
> > index 5988c3e..050663a 100644
> > --- a/app/test-pmd/Makefile
> > +++ b/app/test-pmd/Makefile
> > @@ -59,7 +59,9 @@ SRCS-y += csumonly.c
> >  SRCS-y += icmpecho.c
> >  SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c
> >  
> > +ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> >  _LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe
> > +endif
> >  
> >  CFLAGS_cmdline.o := -D_GNU_SOURCE
> > 
> >  
> >>
> >>>
> >>> 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