[dpdk-dev] app/testpmd: link with virtio PMD when using shared libraries
Checks
Commit Message
testpmd is often used inside a VM to test the OVS PVP scenario.
This commit makes testpmd to link to virtio PMD when DPDK is built as
shared libraries too.
Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
---
app/test-pmd/Makefile | 4 ++++
1 file changed, 4 insertions(+)
Comments
On Fri, 2017-11-17 at 17:19 +0100, Timothy Redaelli wrote:
> testpmd is often used inside a VM to test the OVS PVP scenario.
> This commit makes testpmd to link to virtio PMD when DPDK is built as
> shared libraries too.
>
> Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
> ---
> app/test-pmd/Makefile | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
> index 4993c9184..ffc370f0e 100644
> --- a/app/test-pmd/Makefile
> +++ b/app/test-pmd/Makefile
> @@ -87,6 +87,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_SOFTNIC),y)
> LDLIBS += -lrte_pmd_softnic
> endif
>
> +ifeq ($(CONFIG_RTE_LIBRTE_VIRTIO_PMD),y)
> +LDLIBS += -lrte_pmd_virtio
> +endif
> +
> endif
>
> CFLAGS_cmdline.o := -D_GNU_SOURCE
Acked-by: <bluca@debian.org>
On 17/11/17 17:19, Timothy Redaelli wrote:
> testpmd is often used inside a VM to test the OVS PVP scenario.
> This commit makes testpmd to link to virtio PMD when DPDK is built as
> shared libraries too.
>
> Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
> ---
> app/test-pmd/Makefile | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
> index 4993c9184..ffc370f0e 100644
> --- a/app/test-pmd/Makefile
> +++ b/app/test-pmd/Makefile
> @@ -87,6 +87,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_SOFTNIC),y)
> LDLIBS += -lrte_pmd_softnic
> endif
>
> +ifeq ($(CONFIG_RTE_LIBRTE_VIRTIO_PMD),y)
> +LDLIBS += -lrte_pmd_virtio
> +endif
> +
> endif
>
> CFLAGS_cmdline.o := -D_GNU_SOURCE
Acked-by: Eelco Chaudron <echaudro@redhat.com>
20/11/2017 11:27, Eelco Chaudron:
> On 17/11/17 17:19, Timothy Redaelli wrote:
> > testpmd is often used inside a VM to test the OVS PVP scenario.
> > This commit makes testpmd to link to virtio PMD when DPDK is built as
> > shared libraries too.
> >
> > Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
>
> Acked-by: Eelco Chaudron <echaudro@redhat.com>
I really doubt it is the right fix.
This PMD should be dynamically linked with dlopen as a plugin.
It can be done with -d option or by specifying the plugin directory
at compilation time in CONFIG_RTE_EAL_PMD_PATH.
On Wed, 29 Nov 2017 23:23:40 +0100
Thomas Monjalon <thomas@monjalon.net> wrote:
> 20/11/2017 11:27, Eelco Chaudron:
> > On 17/11/17 17:19, Timothy Redaelli wrote:
> > > testpmd is often used inside a VM to test the OVS PVP scenario.
> > > This commit makes testpmd to link to virtio PMD when DPDK is
> > > built as shared libraries too.
> > >
> > > Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
> >
> > Acked-by: Eelco Chaudron <echaudro@redhat.com>
>
> I really doubt it is the right fix.
> This PMD should be dynamically linked with dlopen as a plugin.
> It can be done with -d option or by specifying the plugin directory
> at compilation time in CONFIG_RTE_EAL_PMD_PATH.
Hi,
I checked that CONFIG_RTE_EAL_PMD_PATH is set correctly when we build
dpdk in Fedora, but unlucky the symlinks for each pmd from the PMD_PATH
to the real librte_pmd_* library (installed in /usr/lib64) on Fedora is
broken since it points to the .so file directly, that is only installed
by dpdk-devel package, instead of correctly point to the .so.[0-9] one
that is installed by the dpdk package and so my patch is not needed
and I'll send the fix on the dpdk Fedora spec file instead.
Just a little question: if testpmd loads the pmds dynamically using
dlopen, why in app/test-pmd/Makefile some PMD are linked at
build time?
Thank you and sorry for the noise.
30/11/2017 12:21, Timothy Redaelli:
> Just a little question: if testpmd loads the pmds dynamically using
> dlopen, why in app/test-pmd/Makefile some PMD are linked at
> build time?
Some PMD have an API. That's why they need to be directly linked
by the applications calling these driver-specific functions.
@@ -87,6 +87,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_SOFTNIC),y)
LDLIBS += -lrte_pmd_softnic
endif
+ifeq ($(CONFIG_RTE_LIBRTE_VIRTIO_PMD),y)
+LDLIBS += -lrte_pmd_virtio
+endif
+
endif
CFLAGS_cmdline.o := -D_GNU_SOURCE