DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: "Antón Rey Villaverde" <anton.rey@cactussoft.biz>
Cc: dev@dpdk.org
Subject: Re: Troubleshooting DPDK in Intel Ethernet NIC
Date: Fri, 8 Sep 2023 09:10:59 +0200	[thread overview]
Message-ID: <CAJFAV8zpUOA-dFoAEqP23DvfBPPyeHXOvgVPZ3Lpv=W4osstMg@mail.gmail.com> (raw)
In-Reply-To: <CAGFBTqopuwUaKWhmNRg1boB70ogaGfpzjnmCEG-ixJXGbL8mFQ@mail.gmail.com>

Hello,

On Fri, Sep 8, 2023 at 8:42 AM Antón 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 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 ============================================ 0000:00:1f.6 'Ethernet Connection (13) I219-LM 15fb' drv=vfio-pci unused=e1000e
>
> 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 <mb_pool_0>: n=163456, size=2176, socket=0
> 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 ethernet 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) [7f52159709f3]
> 12: /lib/x86_64-linux-gnu/libdl.so.2 (7f5215e15000+0x1b59) [7f5215e16b59]
> 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


  reply	other threads:[~2023-09-08  7:11 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-07 14:57 Antón Rey Villaverde
2023-09-08  7:10 ` David Marchand [this message]
2023-09-08  9:04   ` Antón Rey Villaverde
2023-09-08  9:15     ` David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJFAV8zpUOA-dFoAEqP23DvfBPPyeHXOvgVPZ3Lpv=W4osstMg@mail.gmail.com' \
    --to=david.marchand@redhat.com \
    --cc=anton.rey@cactussoft.biz \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).