From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6673244187 for ; Sat, 8 Jun 2024 01:32:07 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 415A34026A; Sat, 8 Jun 2024 01:32:05 +0200 (CEST) Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) by mails.dpdk.org (Postfix) with ESMTP id 2BD9340144 for ; Sat, 8 Jun 2024 01:32:04 +0200 (CEST) Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-2ea903cd11bso35233621fa.1 for ; Fri, 07 Jun 2024 16:32:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1717803123; x=1718407923; darn=dpdk.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=oNyUTyZMIE/woa6CuKt4lAeDTs6vnrckfrlOpOkA+oQ=; b=c6h4gD47Cmd4pvWuGyF8IqEz0528Oc3ZSlJ6Q/S97BdHlI6NkomRjUTcwRQq7FG8GH 8qOi1/z4nXvDMk35Sw5F/Vr+dzwqa/KZN/Rl66Im/g9vblu2osAXRHjdBkwOT61cz1eW 23PqUj7Crv6mQ29S4JGzdLKv+a7aGdMKzQxlk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717803123; x=1718407923; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=oNyUTyZMIE/woa6CuKt4lAeDTs6vnrckfrlOpOkA+oQ=; b=WVmo16gBFSnp6oiI9ElfNZPxzqlnAafz/7lznCvgQYL/OybBgX2a2wAxzuV1O/aPJe oPOdniDQRw1yxCCfkWB+gMIUV09TDqVrP9TZJmDT2nDQgxgqEWdWEmfohDeWtiCI6NYQ U+mmw6wkEFsHfFyH39aK/vn2RFZ/sLkGxH5jXHy2gtr8yXNUEcVpwLS5AK6+7pCp1u9U /Ep1kX/RSLTnLiXeL8/q9UIoig6ALs8hIHDeZzVjdBMZiRXpi/cLuyOVyatz9e9+Am7y BHAAG9oMCJGxFwxksn3iSOIVDQNWEOYguoVugo8E3MR8/D2sNL/Yu4vwtSVbuZv9GcgG c4Cg== X-Gm-Message-State: AOJu0YxP9HdZ1WI76YT85CZvaGI5qAHT4jwkvaH4a+biLtRlIDCqEMA7 B2guFuduCQYRg+C8jYy1hoITfrlovXEDSibQFaSNhSfSM4RUjc3xNhL8cmqqRgrI3/Fd5ofhGAZ T7wns9Nz6MLoi0svBCROlde1MtoJCGCjwtZnS3oa9GwAp8awXIO/Mc/CikctypXjxELvzM28ya+ CQZA45flA= X-Google-Smtp-Source: AGHT+IFnqpDkYrAAS3q25ZWqn60tY8cstDcqSsGd1umYo9IzzGIOedN/cNczHyA9gUV67UGdOYdhsAjxYT6MzaEdhQI= X-Received: by 2002:a2e:9795:0:b0:2eb:2e0b:72c with SMTP id 38308e7fff4ca-2eb2e0b07fbmr8064481fa.16.1717803123444; Fri, 07 Jun 2024 16:32:03 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nandini Rangaswamy Date: Fri, 7 Jun 2024 16:31:51 -0700 Message-ID: Subject: Re: Compiling testpmd with DPDK netvsc PMD To: David Marchand Cc: users@dpdk.org Content-Type: multipart/alternative; boundary="000000000000f7c0b1061a553448" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org --000000000000f7c0b1061a553448 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi David, Thanks for your email. I inspected meson build output and do see that netvsc is in the list of enabled drivers. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Drivers Enabled =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D common: iavf, mlx5, qat, bus: auxiliary, pci, vdev, vmbus, mempool: bucket, ring, stack, dma: net: af_packet, bond, e1000, ena, failsafe, gve, i40e, iavf, ice, igc, ixgbe, kni, mlx5, *netvsc*, ring, tap, vdev_netvsc, vhost, virtio, vmxnet3, Also, i changed the meson.build default_library=3Dshared from static and it worked. Regards, Nandini On Fri, Jun 7, 2024 at 3:56=E2=80=AFAM David Marchand wrote: > Hello, > > On Thu, Jun 6, 2024 at 11:32=E2=80=AFPM Nandini Rangaswamy > wrote: > > I tried compiling the testpmd with DPDK netvsc for openwrt by setting > CONFIG_RTE_LIBRTE_NETVSC_PMD=3Dy . > > > > However, when I check ldd testpmd, it does not show any of the dpdk > shared libraries including net_netvsc linked to testpmd binary. > > ldd dpdk-testpmd > > linux-vdso.so.1 (0x00007ffca1467000) > > libm.so.6 =3D> /lib/x86_64-linux-gnu/libm.so.6 (0x00007ffb08134= 000) > > libdl.so.2 =3D> /lib/x86_64-linux-gnu/libdl.so.2 > (0x00007ffb0812f000) > > libelf.so.1 =3D> /usr/lib/x86_64-linux-gnu/libelf.so.1 > (0x00007ffb08111000) > > libpcap.so.1 =3D> not found > > libmlx5.so.1 =3D> /usr/lib/x86_64-linux-gnu/libmlx5.so.1 > (0x00007ffb08093000) > > libibverbs.so.1 =3D> /usr/lib/x86_64-linux-gnu/libibverbs.so.1 > (0x00007ffb0806d000) > > libIPSec_MB.so.1 =3D> not found > > libcrypto.so.3 =3D> /usr/lib/x86_64-linux-gnu/libcrypto.so.3 > (0x00007ffb07c29000) > > libgcc_s.so.1 =3D> /lib/x86_64-linux-gnu/libgcc_s.so.1 > (0x00007ffb07c09000) > > libpthread.so.0 =3D> /lib/x86_64-linux-gnu/libpthread.so.0 > (0x00007ffb07c04000) > > libc.so.6 =3D> /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffb079db= 000) > > /lib64/ld-linux-x86-64.so.2 (0x00007ffb097c1000) > > libz.so.1 =3D> /lib/x86_64-linux-gnu/libz.so.1 (0x00007ffb079bd= 000) > > libnl-route-3.so.200 =3D> > /usr/lib/x86_64-linux-gnu/libnl-route-3.so.200 (0x00007ffb0793a000) > > libnl-3.so.200 =3D> /lib/x86_64-linux-gnu/libnl-3.so.200 > (0x00007ffb07917000) > > I am not sure what openwrt does wrt DPDK compilation, yet I can give some > hints. > > DPDK drivers are, by default, statically linked into dpdk binaries > like testpmd, so netvsc would not show up in this listing you tried. > On the other hand, if using dynamically linked drivers, testpmd is not > linked to them. Instead, those shared libraries are found > automatically (for a DPDK global install) or via the -d EAL option. > Then EAL loads those drivers via dlopen(). > > If you want to ensure that a specific driver is linked in, you may > inspect meson output (which lists enabled drivers), or have a try with > dpdk-pmd-info.py /path/to/dpdk-testpmd. > > HTH, > > -- > David Marchand > > --=20 This electronic communication and the information and any files transmitted= =20 with it, or attached to it, are confidential and are intended solely for=20 the use of the individual or entity to whom it is addressed and may contain= =20 information that is confidential, legally privileged, protected by privacy= =20 laws, or otherwise restricted from disclosure to anyone else. If you are=20 not the intended recipient or the person responsible for delivering the=20 e-mail to the intended recipient, you are hereby notified that any use,=20 copying, distributing, dissemination, forwarding, printing, or copying of= =20 this e-mail is strictly prohibited. If you received this e-mail in error,= =20 please return the e-mail to the sender, delete it from your computer, and= =20 destroy any printed copy of it. --000000000000f7c0b1061a553448 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi David,
Thanks for your email. I inspected meson bui= ld output and do see that netvsc is in the list of enabled drivers.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Drivers Enabled
=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

common:
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 iavf, mlx5, qat,
bus:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 auxil= iary, pci, vdev, vmbus,
mempool:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 bucket, = ring, stack,
dma:

net:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 af_packet, = bond, e1000, ena, failsafe, gve, i40e, iavf,
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 ice, igc, ixgbe, kni, mlx5, netvsc, ring, tap,
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 vdev_netvsc, vhost, virtio, vmxnet3,

Also, i changed the meson.build=C2=A0default_library=3Dshar= ed from static=C2=A0and it worked.
Regards,
Nandini

On Fri, Jun 7, 2024 at 3:56=E2=80=AFAM David Marchand <david.marchand@redhat.com> wrote:
He= llo,

On Thu, Jun 6, 2024 at 11:32=E2=80=AFPM Nandini Rangaswamy
<
na= ndini.rangaswamy@broadcom.com> wrote:
> I tried compiling the testpmd with DPDK netvsc for openwrt by setting = CONFIG_RTE_LIBRTE_NETVSC_PMD=3Dy .
>
> However, when I check ldd testpmd, it does not show any of the dpdk sh= ared libraries including net_netvsc linked to testpmd binary.
> ldd dpdk-testpmd
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0linux-vdso.so.1 (0x00007ffca1467000)<= br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libm.so.6 =3D> /lib/x86_64-linux-g= nu/libm.so.6 (0x00007ffb08134000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libdl.so.2 =3D> /lib/x86_64-linux-= gnu/libdl.so.2 (0x00007ffb0812f000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libelf.so.1 =3D> /usr/lib/x86_64-l= inux-gnu/libelf.so.1 (0x00007ffb08111000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libpcap.so.1 =3D> not found
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libmlx5.so.1 =3D> /usr/lib/x86_64-= linux-gnu/libmlx5.so.1 (0x00007ffb08093000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libibverbs.so.1 =3D> /usr/lib/x86_= 64-linux-gnu/libibverbs.so.1 (0x00007ffb0806d000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libIPSec_MB.so.1 =3D> not found >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libcrypto.so.3 =3D> /usr/lib/x86_6= 4-linux-gnu/libcrypto.so.3 (0x00007ffb07c29000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libgcc_s.so.1 =3D> /lib/x86_64-lin= ux-gnu/libgcc_s.so.1 (0x00007ffb07c09000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libpthread.so.0 =3D> /lib/x86_64-l= inux-gnu/libpthread.so.0 (0x00007ffb07c04000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libc.so.6 =3D> /lib/x86_64-linux-g= nu/libc.so.6 (0x00007ffb079db000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/lib64/ld-linux-x86-64.so.2 (0x00007f= fb097c1000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libz.so.1 =3D> /lib/x86_64-linux-g= nu/libz.so.1 (0x00007ffb079bd000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libnl-route-3.so.200 =3D> /usr/lib= /x86_64-linux-gnu/libnl-route-3.so.200 (0x00007ffb0793a000)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libnl-3.so.200 =3D> /lib/x86_64-li= nux-gnu/libnl-3.so.200 (0x00007ffb07917000)

I am not sure what openwrt does wrt DPDK compilation, yet I can give some h= ints.

DPDK drivers are, by default, statically linked into dpdk binaries
like testpmd, so netvsc would not show up in this listing you tried.
On the other hand, if using dynamically linked drivers, testpmd is not
linked to them. Instead, those shared libraries are found
automatically (for a DPDK global install) or via the -d EAL option.
Then EAL loads those drivers via dlopen().

If you want to ensure that a specific driver is linked in, you may
inspect meson output (which lists enabled drivers), or have a try with
dpdk-pmd-info.py /path/to/dpdk-testpmd.

HTH,

--
David Marchand


This ele= ctronic communication and the information and any files transmitted with it= , or attached to it, are confidential and are intended solely for the use o= f the individual or entity to whom it is addressed and may contain informat= ion that is confidential, legally privileged, protected by privacy laws, or= otherwise restricted from disclosure to anyone else. If you are not the in= tended recipient or the person responsible for delivering the e-mail to the= intended recipient, you are hereby notified that any use, copying, distrib= uting, dissemination, forwarding, printing, or copying of this e-mail is st= rictly prohibited. If you received this e-mail in error, please return the = e-mail to the sender, delete it from your computer, and destroy any printed= copy of it. --000000000000f7c0b1061a553448--