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 77A8B42546; Fri, 8 Sep 2023 11:09:59 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 563C640285; Fri, 8 Sep 2023 11:09:59 +0200 (CEST) Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) by mails.dpdk.org (Postfix) with ESMTP id 07CAF40042 for ; Fri, 8 Sep 2023 11:05:06 +0200 (CEST) Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-52c4d3ff424so2490186a12.0 for ; Fri, 08 Sep 2023 02:05:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cactussoft.biz; s=google; t=1694163905; x=1694768705; 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=g9y2LdtPOubg0hyCs2mVlSBlChg8ZfOWm67Vfyxh0Jc=; b=U46vgOjV394zdWclSHthwlzzmNxpGsr5aehc42STvon71Oc29kI60dBUxbI2CqvhTK ipMdTBLeHTe0M0wdkQHkkmc8iqdG5Cx9gpNXGdvPfuGX0Wyq93bIkKeWrycrfQ6u5B/C kup5eZi3Yr5cfn4qapvRnlAtl0+vr1EKRRFz6Bu7pzMScfxJq1De0yYuln/JC/j+68ok xuDRI0y052oLS8DMlpBVosF2C0kJJnYSlyCfwAmmsJFqR0ohlThtJYJrYt+5rN8UmT5n mxuyY0Dl/gbResfre1saae7YVo/8Ri5r85x4YYixbNoRFyjzB0QVjTkne3xsO02TVcC/ PipQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694163905; x=1694768705; 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=g9y2LdtPOubg0hyCs2mVlSBlChg8ZfOWm67Vfyxh0Jc=; b=XzfhcYNU4TNp2I03ojE17aKMKRKpBMUI6nSZbIdC+EDOl01CSm6ymp1zPZ5FXeOPOx siwvIqUPe6Ks/WqsdYCl9MUJNLck/Z0Azu6gIbvWn6GuoFkE6YWPOq3GeflDNKV2gojJ wXQ8D4wm7HvTYsAUU165hEj+ZMwClRYUJZ3NNMSnMf3n4Ue+9OTF9Xq4fRZXQ6qt6PfG WQt9v6IANDjZxKZUdT5U2exhJ99+qVeaHFr+bx4tbZJ/UwXOUHHLCVP8XA5iE/rlEBum wHE0BfuOhELjgXiNp3fBu9Zk/AATfwD2ocPpYc8zjkq0uP4PrcYN0qKHh8nvVLGWqtRe MX2Q== X-Gm-Message-State: AOJu0YxTG/TTxszpCVySXaWWEEpyZ9ZJ0zJWDbIPfFjtRJrJZsj7LHv9 PKKk9dFa0KMZldnUOLfUCMQxY1EQPpv0iq7vt9oqcphav5B/yCO2lyg= X-Google-Smtp-Source: AGHT+IH+7WrWMXzI3Qb69l79Wm3c7cjT+RAcFXVVcxjpCVskuqVdqGsnNNRn5mBggpU5kHMTYVfugxbZO53M3ljdI7k= X-Received: by 2002:a05:6402:1801:b0:51d:d30d:a037 with SMTP id g1-20020a056402180100b0051dd30da037mr1321764edy.10.1694163905625; Fri, 08 Sep 2023 02:05:05 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: =?UTF-8?Q?Ant=C3=B3n_Rey_Villaverde?= Date: Fri, 8 Sep 2023 11:04:54 +0200 Message-ID: Subject: Re: Troubleshooting DPDK in Intel Ethernet NIC To: David Marchand Cc: dev@dpdk.org Content-Type: multipart/alternative; boundary="000000000000c95e0b0604d54560" X-Mailman-Approved-At: Fri, 08 Sep 2023 11:09:58 +0200 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --000000000000c95e0b0604d54560 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, thanks for the quick response and the feedback. *> Afaics, this nic is not supported by DPDK drivers.* Indeed there is nothing about "15fb" (the PCI ID of my NIC) in the output of ./usertools/dpdk-pmdinfo.py build/app/dpdk-testpmd , so I guess it is not supported. On the other hand, I do see that the* I219* family of my NIC (I219-LM) is present in the list https://core.dpdk.org/supported/nics/intel/ under e1000e category. Is this a contradiction or am I missing something? Regards On Fri, Sep 8, 2023 at 9:11=E2=80=AFAM David Marchand wrote: > Hello, > > On Fri, Sep 8, 2023 at 8:42=E2=80=AFAM Ant=C3=B3n Rey Villaverde > wrote: > > > > Hi, > > I have a problem while trying to manage my physical Ethernet interface > from DPDK (latest version compiled from source). > > I have a: > > NIC: 0000:00:1f.6 Ethernet controller: Intel Corporation Ethernet > Connection (13) I219-LM (rev 20) > > > > which belongs to the list of supported NICs in DPDK. > > > > Also, I have bound my NICto vfio-pci, not the kernel: > > > > dpdk-23.07$ usertools/dpdk-devbind.py --status > > Network devices using DPDK-compatible driver > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 0000:00:1f.6 '= Ethernet > Connection (13) I219-LM 15fb' drv=3Dvfio-pci unused=3De1000e > > > > I also enabled hugepages (2G). > > > > when I enter "sudo build/app/dpdk-testpmd -c7 -- -i" I get: > > EAL: Detected CPU lcores: 8 > > EAL: Detected NUMA nodes: 1 > > EAL: Detected static linkage of DPDK > > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > > EAL: Selected IOVA mode 'VA' > > EAL: VFIO support initialized > > TELEMETRY: No legacy callbacks, legacy socket not created > > testpmd: No probed ethernet devices > > Interactive-mode selected > > testpmd: create a new mbuf pool : n=3D163456, size=3D2176, > socket=3D0 > > testpmd: preferred mempool ops selected: ring_mp_mc > > Done > > testpmd> > > > > When I enter "show port info all" in the testpmd CLI I get nothing (no > ports). > > > > When I start testpmd with "-a 0000:00:1f.6" (the address of the etherne= t > NIC I want to manage from DPDK), The same happens (no ports). > > Afaics, this nic is not supported by DPDK drivers. > You will have to find some other nic, or run on another server with > supported nics. > Some details below. > > > For a statically linked DPDK application (which is the default for > testpmd), you can check with dpdk-pmd-info.py which PCI devices are > supported. > Example: > $ ./usertools/dpdk-pmdinfo.py build/app/dpdk-testpmd | grep -i 15fb > > > > > > If I try to start testpmd with "-d build/drivers/librte_net_e1000.so" > (the shared library of the driver of that device), I get a crash: > > > > dpdk-23.07$ sudo build/app/dpdk-testpmd -c7 -a 0000:00:1f.6 -d > build/drivers/librte_net_e1000.so -- -i > > EAL: Detected CPU lcores: 8 > > EAL: Detected NUMA nodes: 1 > > EAL: Detected static linkage of DPDK > > Your testpmd binary has been statically linked (as I said above, this > is the default) and you can see the log message confirming it. > > > > EAL: UIO_RESOURCE_LIST tailq is already registered PANIC in > tailqinitfn_rte_uio_tailq(): Cannot initialize tailq: UIO_RESOURCE_LIST > > 0: build/app/dpdk-testpmd (rte_dump_stack+0x32) [55be1839afe2] > > 1: build/app/dpdk-testpmd (__rte_panic+0xf1) [55be18369e68] > > 2: /home/anton/tdr/dpdk-23.07/build/drivers/librte_bus_pci.so.23 > (7f52153f6000+0x5d86) [7f52153fbd86] > > 3: /lib64/ld-linux-x86-64.so.2 (7f5215f90000+0x11b9a) [7f5215fa1b9a] > > 4: /lib64/ld-linux-x86-64.so.2 (7f5215f90000+0x11ca1) [7f5215fa1ca1] > > 5: /lib/x86_64-linux-gnu/libc.so.6 (_dl_catch_exception+0xe5) > [7f5215970985] > > 6: /lib64/ld-linux-x86-64.so.2 (7f5215f90000+0x160cf) [7f5215fa60cf] > > 7: /lib/x86_64-linux-gnu/libc.so.6 (_dl_catch_exception+0x88) > [7f5215970928] > > 8: /lib64/ld-linux-x86-64.so.2 (7f5215f90000+0x1560a) [7f5215fa560a] > > 9: /lib/x86_64-linux-gnu/libdl.so.2 (7f5215e15000+0x134c) [7f5215e1634c= ] > > 10: /lib/x86_64-linux-gnu/libc.so.6 (_dl_catch_exception+0x88) > [7f5215970928] > > 11: /lib/x86_64-linux-gnu/libc.so.6 (_dl_catch_error+0x33) [7f52159709f= 3] > > 12: /lib/x86_64-linux-gnu/libdl.so.2 (7f5215e15000+0x1b59) [7f5215e16b5= 9] > > 13: /lib/x86_64-linux-gnu/libdl.so.2 (dlopen+0x4a) [7f5215e163da] > > 14: build/app/dpdk-testpmd (55be17b79000+0x8013ee) [55be1837a3ee] > > 15: build/app/dpdk-testpmd (eal_plugins_init+0x14f) [55be1837a6d8] > > 16: build/app/dpdk-testpmd (rte_eal_init+0x1af) [55be1839ec21] > > 17: build/app/dpdk-testpmd (main+0xde) [55be17da108b] > > 18: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf3) > [7f5215834083] > > 19: build/app/dpdk-testpmd (_start+0x2e) [55be17cef1fe] > > Aborted > > This is not a crash, EAL willingly aborts because initialising UIO > shared tailq has been requested twice and this is not something > supported. > This happened as you requested to load a driver that is embedded in > the testpmd binary and has already been initialised. > > > -- > David Marchand > > --000000000000c95e0b0604d54560 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi, thanks for the quick response and the feedback.
> Afaics, this nic is not supported by DPDK drivers.

=
Indeed there is nothing about "15fb" (the PCI ID o= f my NIC) in the output of ./usertools/dpdk-pmdinfo.py build/app/dpdk-testp= md , so I guess it is not supported.

On the other hand, = I do see that the I219 family of my NIC (I219-LM) is present in the = list=C2=A0https://core.dpdk.org/supported/nics/intel/=C2=A0under e1000e = category.

Is this a contradiction or am I=C2=A0mis= sing something?

Regards

On Fri, Sep 8, = 2023 at 9:11=E2=80=AFAM David Marchand <david.marchand@redhat.com> wrote:
=
Hello,

On Fri, Sep 8, 2023 at 8:42=E2=80=AFAM Ant=C3=B3n Rey Villaverde
<anton.rey= @cactussoft.biz> wrote:
>
> Hi,
> I have a problem while trying to manage my physical Ethernet interface= from DPDK (latest version compiled from source).
> I have a:
> NIC: 0000:00:1f.6 Ethernet controller: Intel Corporation Ethernet Conn= ection (13) I219-LM (rev 20)
>
> which belongs to the list of supported NICs in DPDK.
>
> Also, I have bound my NICto vfio-pci, not the kernel:
>
> dpdk-23.07$ usertools/dpdk-devbind.py --status
> Network devices using DPDK-compatible driver =3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 0000:00:1f.6 'Ethernet Connection (13= ) I219-LM 15fb' drv=3Dvfio-pci unused=3De1000e
>
> I also enabled hugepages (2G).
>
> when I enter "sudo build/app/dpdk-testpmd -c7 -- -i" I get:<= br> > EAL: Detected CPU lcores: 8
> EAL: Detected NUMA nodes: 1
> EAL: Detected static linkage of DPDK
> EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
> EAL: Selected IOVA mode 'VA'
> EAL: VFIO support initialized
> TELEMETRY: No legacy callbacks, legacy socket not created
> testpmd: No probed ethernet devices
> Interactive-mode selected
> testpmd: create a new mbuf pool <mb_pool_0>: n=3D163456, size=3D= 2176, socket=3D0
> testpmd: preferred mempool ops selected: ring_mp_mc
> Done
> testpmd>
>
> When I enter "show port info all" in the testpmd CLI I get n= othing (no ports).
>
> When I start testpmd with "-a 0000:00:1f.6" (the address of = the ethernet NIC I want to manage from DPDK), The same happens (no ports).<= br>
Afaics, this nic is not supported by DPDK drivers.
You will have to find some other nic, or run on another server with
supported nics.
Some details below.


For a statically linked DPDK application (which is the default for
testpmd), you can check with dpdk-pmd-info.py which PCI devices are
supported.
Example:
$ ./usertools/dpdk-pmdinfo.py build/app/dpdk-testpmd | grep -i 15fb


>
> If I try to start testpmd with "-d build/drivers/librte_net_e1000= .so" (the shared library of the driver of that device), I get a crash:=
>
> dpdk-23.07$ sudo build/app/dpdk-testpmd -c7 -a 0000:00:1f.6 -d build/d= rivers/librte_net_e1000.so -- -i
> EAL: Detected CPU lcores: 8
> EAL: Detected NUMA nodes: 1
> EAL: Detected static linkage of DPDK

Your testpmd binary has been statically linked (as I said above, this
is the default) and you can see the log message confirming it.


> EAL: UIO_RESOURCE_LIST tailq is already registered PANIC in tailqinitf= n_rte_uio_tailq(): Cannot initialize tailq: UIO_RESOURCE_LIST
> 0: build/app/dpdk-testpmd (rte_dump_stack+0x32) [55be1839afe2]
> 1: build/app/dpdk-testpmd (__rte_panic+0xf1) [55be18369e68]
> 2: /home/anton/tdr/dpdk-23.07/build/drivers/librte_bus_pci.so.23 (7f52= 153f6000+0x5d86) [7f52153fbd86]
> 3: /lib64/ld-linux-x86-64.so.2 (7f5215f90000+0x11b9a) [7f5215fa1b9a] > 4: /lib64/ld-linux-x86-64.so.2 (7f5215f90000+0x11ca1) [7f5215fa1ca1] > 5: /lib/x86_64-linux-gnu/libc.so.6 (_dl_catch_exception+0xe5) [7f52159= 70985]
> 6: /lib64/ld-linux-x86-64.so.2 (7f5215f90000+0x160cf) [7f5215fa60cf] > 7: /lib/x86_64-linux-gnu/libc.so.6 (_dl_catch_exception+0x88) [7f52159= 70928]
> 8: /lib64/ld-linux-x86-64.so.2 (7f5215f90000+0x1560a) [7f5215fa560a] > 9: /lib/x86_64-linux-gnu/libdl.so.2 (7f5215e15000+0x134c) [7f5215e1634= c]
> 10: /lib/x86_64-linux-gnu/libc.so.6 (_dl_catch_exception+0x88) [7f5215= 970928]
> 11: /lib/x86_64-linux-gnu/libc.so.6 (_dl_catch_error+0x33) [7f52159709= f3]
> 12: /lib/x86_64-linux-gnu/libdl.so.2 (7f5215e15000+0x1b59) [7f5215e16b= 59]
> 13: /lib/x86_64-linux-gnu/libdl.so.2 (dlopen+0x4a) [7f5215e163da]
> 14: build/app/dpdk-testpmd (55be17b79000+0x8013ee) [55be1837a3ee]
> 15: build/app/dpdk-testpmd (eal_plugins_init+0x14f) [55be1837a6d8]
> 16: build/app/dpdk-testpmd (rte_eal_init+0x1af) [55be1839ec21]
> 17: build/app/dpdk-testpmd (main+0xde) [55be17da108b]
> 18: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf3) [7f521583= 4083]
> 19: build/app/dpdk-testpmd (_start+0x2e) [55be17cef1fe]
> Aborted

This is not a crash, EAL willingly aborts because initialising UIO
shared tailq has been requested twice and this is not something
supported.
This happened as you requested to load a driver that is embedded in
the testpmd binary and has already been initialised.


--
David Marchand

--000000000000c95e0b0604d54560--