DPDK usage discussions
 help / color / mirror / Atom feed
* skeleton code failing
@ 2022-07-11  5:59 Lokesh Chakka
  2022-07-13  5:35 ` Lokesh Chakka
  0 siblings, 1 reply; 6+ messages in thread
From: Lokesh Chakka @ 2022-07-11  5:59 UTC (permalink / raw)
  To: users

[-- Attachment #1: Type: text/plain, Size: 875 bytes --]

Hello,

I am learning DPDK.

I am using the following network cards that support dpdk.
https://www.broadcom.com/products/ethernet-connectivity/network-adapters/100gb-nic-ocp/p2100g

I am seeing rte_eth_dev_count_avail is failing. code is as follows:

====================================
nb_ports = rte_eth_dev_count_avail();
        if( nb_ports < 2 || ( nb_ports & 1 ) )
                rte_exit( EXIT_FAILURE, "Error: %u number of ports must be
even\n", nb_ports );
====================================

I have one card and just because it is for learning purposes, I have looped
back both the slots of the same cards so that I can send on one slot and
receive on another slot.

Can someone please help me how to fix the issue.

Device Driver is bnxt_en
Platform is Ubuntu 22.04

Please let me know if any more information is required.

Thanks & Regards
--
Lokesh Chakka.

[-- Attachment #2: Type: text/html, Size: 1577 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: skeleton code failing
  2022-07-11  5:59 skeleton code failing Lokesh Chakka
@ 2022-07-13  5:35 ` Lokesh Chakka
  2022-07-13  6:52   ` David Marchand
  0 siblings, 1 reply; 6+ messages in thread
From: Lokesh Chakka @ 2022-07-13  5:35 UTC (permalink / raw)
  To: users

[-- Attachment #1: Type: text/plain, Size: 1373 bytes --]

hello friends,

Is there anyone else facing the same issue ?
Would like to understand if I am missing something. I am new to this
platform.
rte_eth_dev_count_avail is returning zero.
OS is Ubuntu 22.04. DPDK is latest version.
Cards are being detected by Linux. Ifconfig is showing the cards up. LED is
also glowing.

Thanks & Regards
--
Lokesh Chakka.


On Mon, Jul 11, 2022 at 11:29 AM Lokesh Chakka <
lvenkatakumarchakka@gmail.com> wrote:

> Hello,
>
> I am learning DPDK.
>
> I am using the following network cards that support dpdk.
>
> https://www.broadcom.com/products/ethernet-connectivity/network-adapters/100gb-nic-ocp/p2100g
>
> I am seeing rte_eth_dev_count_avail is failing. code is as follows:
>
> ====================================
> nb_ports = rte_eth_dev_count_avail();
>         if( nb_ports < 2 || ( nb_ports & 1 ) )
>                 rte_exit( EXIT_FAILURE, "Error: %u number of ports must be
> even\n", nb_ports );
> ====================================
>
> I have one card and just because it is for learning purposes, I have
> looped back both the slots of the same cards so that I can send on one slot
> and receive on another slot.
>
> Can someone please help me how to fix the issue.
>
> Device Driver is bnxt_en
> Platform is Ubuntu 22.04
>
> Please let me know if any more information is required.
>
> Thanks & Regards
> --
> Lokesh Chakka.
>

[-- Attachment #2: Type: text/html, Size: 2699 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: skeleton code failing
  2022-07-13  5:35 ` Lokesh Chakka
@ 2022-07-13  6:52   ` David Marchand
  2022-07-13  7:13     ` Lokesh Chakka
  0 siblings, 1 reply; 6+ messages in thread
From: David Marchand @ 2022-07-13  6:52 UTC (permalink / raw)
  To: Lokesh Chakka; +Cc: users

On Wed, Jul 13, 2022 at 7:35 AM Lokesh Chakka
<lvenkatakumarchakka@gmail.com> wrote:
> Would like to understand if I am missing something. I am new to this platform.
> rte_eth_dev_count_avail is returning zero.
> OS is Ubuntu 22.04. DPDK is latest version.
> Cards are being detected by Linux. Ifconfig is showing the cards up. LED is also glowing.

Indeed, DPDK provides a userspace driver for some NetXtreme nics
(which is net/bnxt).
This userspace driver does not rely on the bnxt Linux kernel driver.
IOW, this card being detecting and working with the Linux kernel does
not automatically mean that this nic can work with DPDK.

We need more info on your nic, first.

Can you share the pci id of this nic (like running lspci -n -s $pci_address)?
It should be a 14e4:XXXX.

Then you can check this XXXX against what your dpdk application supports.

If it is a statically linked application, you can run:
$ dpdk-pmdinfo.py /path/to/your/application

Else, if your application is dynamically linked against DPDK driver,
you can run this command against the net/bnxt driver .so.22 (for 21.11
and later releases):
$ dpdk-pmdinfo.py /path/to/your/dpdk/drivers/librte_net_bnxt.so.22

You should get a list of supported NetXtreme nics, like:

[snipped some other drivers compiled in my application]
PMD NAME: net_bnxt
PMD HW SUPPORT:
 Broadcom Inc. and subsidiaries (14e4) : BCM5745X NetXtreme-E RDMA
Virtual Function (1606) (All Subdevices)
 Broadcom Inc. and subsidiaries (14e4) : BCM5745X NetXtreme-E Ethernet
Virtual Function (1609) (All Subdevices)
 Broadcom Inc. and subsidiaries (14e4) : BCM57454 NetXtreme-E
10Gb/25Gb/40Gb/50Gb/100Gb Ethernet (1614) (All Subdevices)
 Broadcom Inc. and subsidiaries (14e4) : NetXtreme-E RDMA Virtual
Function (16c1) (All Subdevices)
 Broadcom Inc. and subsidiaries (14e4) : NetXtreme-C Ethernet Virtual
Function (16cb) (All Subdevices)
[snipped the rest]

I hope you can find a (XXXX) corresponding to your NIC.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: skeleton code failing
  2022-07-13  6:52   ` David Marchand
@ 2022-07-13  7:13     ` Lokesh Chakka
  2022-07-13  7:26       ` Lokesh Chakka
  0 siblings, 1 reply; 6+ messages in thread
From: Lokesh Chakka @ 2022-07-13  7:13 UTC (permalink / raw)
  To: David Marchand; +Cc: users

[-- Attachment #1: Type: text/plain, Size: 2945 bytes --]

Dear David,

=================================================
$ lspci | grep -i broadcom
83:00.0 Ethernet controller: Broadcom Inc. and subsidiaries BCM57508
NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 11)
83:00.1 Ethernet controller: Broadcom Inc. and subsidiaries BCM57508
NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 11)
$ lspci -n -s 83:00.0
83:00.0 0200: 14e4:1750 (rev 11)
=================================================

I am compiling my code like this :
=================================================
gcc main.c `pkg-config --cflags libdpdk --libs libdpdk`
=================================================

Hence it is statically linked code.
If I try
$ dpdk-pmdinfo.py ./a.out

But I am not seeing any output



Thanks & Regards
--
Lokesh Chakka.


On Wed, Jul 13, 2022 at 12:22 PM David Marchand <david.marchand@redhat.com>
wrote:

> On Wed, Jul 13, 2022 at 7:35 AM Lokesh Chakka
> <lvenkatakumarchakka@gmail.com> wrote:
> > Would like to understand if I am missing something. I am new to this
> platform.
> > rte_eth_dev_count_avail is returning zero.
> > OS is Ubuntu 22.04. DPDK is latest version.
> > Cards are being detected by Linux. Ifconfig is showing the cards up. LED
> is also glowing.
>
> Indeed, DPDK provides a userspace driver for some NetXtreme nics
> (which is net/bnxt).
> This userspace driver does not rely on the bnxt Linux kernel driver.
> IOW, this card being detecting and working with the Linux kernel does
> not automatically mean that this nic can work with DPDK.
>
> We need more info on your nic, first.
>
> Can you share the pci id of this nic (like running lspci -n -s
> $pci_address)?
> It should be a 14e4:XXXX.
>
> Then you can check this XXXX against what your dpdk application supports.
>
> If it is a statically linked application, you can run:
> $ dpdk-pmdinfo.py /path/to/your/application
>
> Else, if your application is dynamically linked against DPDK driver,
> you can run this command against the net/bnxt driver .so.22 (for 21.11
> and later releases):
> $ dpdk-pmdinfo.py /path/to/your/dpdk/drivers/librte_net_bnxt.so.22
>
> You should get a list of supported NetXtreme nics, like:
>
> [snipped some other drivers compiled in my application]
> PMD NAME: net_bnxt
> PMD HW SUPPORT:
>  Broadcom Inc. and subsidiaries (14e4) : BCM5745X NetXtreme-E RDMA
> Virtual Function (1606) (All Subdevices)
>  Broadcom Inc. and subsidiaries (14e4) : BCM5745X NetXtreme-E Ethernet
> Virtual Function (1609) (All Subdevices)
>  Broadcom Inc. and subsidiaries (14e4) : BCM57454 NetXtreme-E
> 10Gb/25Gb/40Gb/50Gb/100Gb Ethernet (1614) (All Subdevices)
>  Broadcom Inc. and subsidiaries (14e4) : NetXtreme-E RDMA Virtual
> Function (16c1) (All Subdevices)
>  Broadcom Inc. and subsidiaries (14e4) : NetXtreme-C Ethernet Virtual
> Function (16cb) (All Subdevices)
> [snipped the rest]
>
> I hope you can find a (XXXX) corresponding to your NIC.
>
>
> --
> David Marchand
>
>

[-- Attachment #2: Type: text/html, Size: 3978 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: skeleton code failing
  2022-07-13  7:13     ` Lokesh Chakka
@ 2022-07-13  7:26       ` Lokesh Chakka
  2022-08-26  4:35         ` Lokesh Chakka
  0 siblings, 1 reply; 6+ messages in thread
From: Lokesh Chakka @ 2022-07-13  7:26 UTC (permalink / raw)
  To: David Marchand; +Cc: users

[-- Attachment #1: Type: text/plain, Size: 4950 bytes --]

Dear David,

following is some more stuff i did
==================================================
$ sudo dpdk-devbind.py -b vfio-pci 83:00.0
$ sudo dpdk-devbind.py -b vfio-pci 83:00.1
$ sudo dpdk-devbind.py -b uio_pci_generic 83:00.0 83:00.1
Error: Driver 'uio_pci_generic' is not loaded.
$ sudo dpdk-devbind.py -b igb_uio 83:00.0 83:00.1
Error: Driver 'igb_uio' is not loaded.
$ sudo dpdk-devbind.py -b vfio-pci 83:00.0 83:00.1
Notice: 0000:83:00.0 already bound to driver vfio-pci, skipping
Notice: 0000:83:00.1 already bound to driver vfio-pci, skipping
==================================================
~/Desktop/dpdk_examples/skeleton$ gcc main.c -g `pkg-config --cflags
libdpdk --libs libdpdk`
lokesh@lokesh-ProLiant-DL385-Gen10:~/Desktop/dpdk_examples/skeleton$ sudo
./a.out
EAL: Detected CPU lcores: 64
EAL: Detected NUMA nodes: 4
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: No available 1048576 kB hugepages reported
EAL: VFIO support initialized
EAL: Using IOMMU type 1 (Type 1)
EAL: Probe PCI driver: net_bnxt (14e4:1750) device: 0000:83:00.0 (socket 2)
EAL: Probe PCI driver: net_bnxt (14e4:1750) device: 0000:83:00.1 (socket 2)
TELEMETRY: No legacy callbacks, legacy socket not created
Port 0 MAC: bc 97 e1 ce 84 f0
Port 1 MAC: bc 97 e1 ce 84 f1

WARNING: Too many lcores enabled. Only 1 used.
WARNING, port 0 is on remote NUMA node to polling thread.
Performance will not be optimal.
WARNING, port 1 is on remote NUMA node to polling thread.
Performance will not be optimal.

Core 0 forwarding packets. [Ctrl+C to quit]
^C
==================================================
After a few seconds, I presses ctrl+c

surprisingly cards are not showing up even in ifconfig.



Thanks & Regards
--
Lokesh Chakka.


On Wed, Jul 13, 2022 at 12:43 PM Lokesh Chakka <
lvenkatakumarchakka@gmail.com> wrote:

> Dear David,
>
> =================================================
> $ lspci | grep -i broadcom
> 83:00.0 Ethernet controller: Broadcom Inc. and subsidiaries BCM57508
> NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 11)
> 83:00.1 Ethernet controller: Broadcom Inc. and subsidiaries BCM57508
> NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 11)
> $ lspci -n -s 83:00.0
> 83:00.0 0200: 14e4:1750 (rev 11)
> =================================================
>
> I am compiling my code like this :
> =================================================
> gcc main.c `pkg-config --cflags libdpdk --libs libdpdk`
> =================================================
>
> Hence it is statically linked code.
> If I try
> $ dpdk-pmdinfo.py ./a.out
>
> But I am not seeing any output
>
>
>
> Thanks & Regards
> --
> Lokesh Chakka.
>
>
> On Wed, Jul 13, 2022 at 12:22 PM David Marchand <david.marchand@redhat.com>
> wrote:
>
>> On Wed, Jul 13, 2022 at 7:35 AM Lokesh Chakka
>> <lvenkatakumarchakka@gmail.com> wrote:
>> > Would like to understand if I am missing something. I am new to this
>> platform.
>> > rte_eth_dev_count_avail is returning zero.
>> > OS is Ubuntu 22.04. DPDK is latest version.
>> > Cards are being detected by Linux. Ifconfig is showing the cards up.
>> LED is also glowing.
>>
>> Indeed, DPDK provides a userspace driver for some NetXtreme nics
>> (which is net/bnxt).
>> This userspace driver does not rely on the bnxt Linux kernel driver.
>> IOW, this card being detecting and working with the Linux kernel does
>> not automatically mean that this nic can work with DPDK.
>>
>> We need more info on your nic, first.
>>
>> Can you share the pci id of this nic (like running lspci -n -s
>> $pci_address)?
>> It should be a 14e4:XXXX.
>>
>> Then you can check this XXXX against what your dpdk application supports.
>>
>> If it is a statically linked application, you can run:
>> $ dpdk-pmdinfo.py /path/to/your/application
>>
>> Else, if your application is dynamically linked against DPDK driver,
>> you can run this command against the net/bnxt driver .so.22 (for 21.11
>> and later releases):
>> $ dpdk-pmdinfo.py /path/to/your/dpdk/drivers/librte_net_bnxt.so.22
>>
>> You should get a list of supported NetXtreme nics, like:
>>
>> [snipped some other drivers compiled in my application]
>> PMD NAME: net_bnxt
>> PMD HW SUPPORT:
>>  Broadcom Inc. and subsidiaries (14e4) : BCM5745X NetXtreme-E RDMA
>> Virtual Function (1606) (All Subdevices)
>>  Broadcom Inc. and subsidiaries (14e4) : BCM5745X NetXtreme-E Ethernet
>> Virtual Function (1609) (All Subdevices)
>>  Broadcom Inc. and subsidiaries (14e4) : BCM57454 NetXtreme-E
>> 10Gb/25Gb/40Gb/50Gb/100Gb Ethernet (1614) (All Subdevices)
>>  Broadcom Inc. and subsidiaries (14e4) : NetXtreme-E RDMA Virtual
>> Function (16c1) (All Subdevices)
>>  Broadcom Inc. and subsidiaries (14e4) : NetXtreme-C Ethernet Virtual
>> Function (16cb) (All Subdevices)
>> [snipped the rest]
>>
>> I hope you can find a (XXXX) corresponding to your NIC.
>>
>>
>> --
>> David Marchand
>>
>>

[-- Attachment #2: Type: text/html, Size: 6922 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: skeleton code failing
  2022-07-13  7:26       ` Lokesh Chakka
@ 2022-08-26  4:35         ` Lokesh Chakka
  0 siblings, 0 replies; 6+ messages in thread
From: Lokesh Chakka @ 2022-08-26  4:35 UTC (permalink / raw)
  To: David Marchand; +Cc: users

[-- Attachment #1: Type: text/plain, Size: 5526 bytes --]

Hello,

As I am not able to get sufficient support from the intel support team or
from the dpdk forum, the support team from intel asked me to raise a ticket
in Intel Premium Support. Can someone help me get registered there as it is
asking for an intel agent.

Thanks & Regards
--
Lokesh Chakka.


On Wed, Jul 13, 2022 at 12:56 PM Lokesh Chakka <
lvenkatakumarchakka@gmail.com> wrote:

> Dear David,
>
> following is some more stuff i did
> ==================================================
> $ sudo dpdk-devbind.py -b vfio-pci 83:00.0
> $ sudo dpdk-devbind.py -b vfio-pci 83:00.1
> $ sudo dpdk-devbind.py -b uio_pci_generic 83:00.0 83:00.1
> Error: Driver 'uio_pci_generic' is not loaded.
> $ sudo dpdk-devbind.py -b igb_uio 83:00.0 83:00.1
> Error: Driver 'igb_uio' is not loaded.
> $ sudo dpdk-devbind.py -b vfio-pci 83:00.0 83:00.1
> Notice: 0000:83:00.0 already bound to driver vfio-pci, skipping
> Notice: 0000:83:00.1 already bound to driver vfio-pci, skipping
> ==================================================
> ~/Desktop/dpdk_examples/skeleton$ gcc main.c -g `pkg-config --cflags
> libdpdk --libs libdpdk`
> lokesh@lokesh-ProLiant-DL385-Gen10:~/Desktop/dpdk_examples/skeleton$ sudo
> ./a.out
> EAL: Detected CPU lcores: 64
> EAL: Detected NUMA nodes: 4
> EAL: Detected shared linkage of DPDK
> EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
> EAL: Selected IOVA mode 'VA'
> EAL: No available 1048576 kB hugepages reported
> EAL: VFIO support initialized
> EAL: Using IOMMU type 1 (Type 1)
> EAL: Probe PCI driver: net_bnxt (14e4:1750) device: 0000:83:00.0 (socket 2)
> EAL: Probe PCI driver: net_bnxt (14e4:1750) device: 0000:83:00.1 (socket 2)
> TELEMETRY: No legacy callbacks, legacy socket not created
> Port 0 MAC: bc 97 e1 ce 84 f0
> Port 1 MAC: bc 97 e1 ce 84 f1
>
> WARNING: Too many lcores enabled. Only 1 used.
> WARNING, port 0 is on remote NUMA node to polling thread.
> Performance will not be optimal.
> WARNING, port 1 is on remote NUMA node to polling thread.
> Performance will not be optimal.
>
> Core 0 forwarding packets. [Ctrl+C to quit]
> ^C
> ==================================================
> After a few seconds, I presses ctrl+c
>
> surprisingly cards are not showing up even in ifconfig.
>
>
>
> Thanks & Regards
> --
> Lokesh Chakka.
>
>
> On Wed, Jul 13, 2022 at 12:43 PM Lokesh Chakka <
> lvenkatakumarchakka@gmail.com> wrote:
>
>> Dear David,
>>
>> =================================================
>> $ lspci | grep -i broadcom
>> 83:00.0 Ethernet controller: Broadcom Inc. and subsidiaries BCM57508
>> NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 11)
>> 83:00.1 Ethernet controller: Broadcom Inc. and subsidiaries BCM57508
>> NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 11)
>> $ lspci -n -s 83:00.0
>> 83:00.0 0200: 14e4:1750 (rev 11)
>> =================================================
>>
>> I am compiling my code like this :
>> =================================================
>> gcc main.c `pkg-config --cflags libdpdk --libs libdpdk`
>> =================================================
>>
>> Hence it is statically linked code.
>> If I try
>> $ dpdk-pmdinfo.py ./a.out
>>
>> But I am not seeing any output
>>
>>
>>
>> Thanks & Regards
>> --
>> Lokesh Chakka.
>>
>>
>> On Wed, Jul 13, 2022 at 12:22 PM David Marchand <
>> david.marchand@redhat.com> wrote:
>>
>>> On Wed, Jul 13, 2022 at 7:35 AM Lokesh Chakka
>>> <lvenkatakumarchakka@gmail.com> wrote:
>>> > Would like to understand if I am missing something. I am new to this
>>> platform.
>>> > rte_eth_dev_count_avail is returning zero.
>>> > OS is Ubuntu 22.04. DPDK is latest version.
>>> > Cards are being detected by Linux. Ifconfig is showing the cards up.
>>> LED is also glowing.
>>>
>>> Indeed, DPDK provides a userspace driver for some NetXtreme nics
>>> (which is net/bnxt).
>>> This userspace driver does not rely on the bnxt Linux kernel driver.
>>> IOW, this card being detecting and working with the Linux kernel does
>>> not automatically mean that this nic can work with DPDK.
>>>
>>> We need more info on your nic, first.
>>>
>>> Can you share the pci id of this nic (like running lspci -n -s
>>> $pci_address)?
>>> It should be a 14e4:XXXX.
>>>
>>> Then you can check this XXXX against what your dpdk application supports.
>>>
>>> If it is a statically linked application, you can run:
>>> $ dpdk-pmdinfo.py /path/to/your/application
>>>
>>> Else, if your application is dynamically linked against DPDK driver,
>>> you can run this command against the net/bnxt driver .so.22 (for 21.11
>>> and later releases):
>>> $ dpdk-pmdinfo.py /path/to/your/dpdk/drivers/librte_net_bnxt.so.22
>>>
>>> You should get a list of supported NetXtreme nics, like:
>>>
>>> [snipped some other drivers compiled in my application]
>>> PMD NAME: net_bnxt
>>> PMD HW SUPPORT:
>>>  Broadcom Inc. and subsidiaries (14e4) : BCM5745X NetXtreme-E RDMA
>>> Virtual Function (1606) (All Subdevices)
>>>  Broadcom Inc. and subsidiaries (14e4) : BCM5745X NetXtreme-E Ethernet
>>> Virtual Function (1609) (All Subdevices)
>>>  Broadcom Inc. and subsidiaries (14e4) : BCM57454 NetXtreme-E
>>> 10Gb/25Gb/40Gb/50Gb/100Gb Ethernet (1614) (All Subdevices)
>>>  Broadcom Inc. and subsidiaries (14e4) : NetXtreme-E RDMA Virtual
>>> Function (16c1) (All Subdevices)
>>>  Broadcom Inc. and subsidiaries (14e4) : NetXtreme-C Ethernet Virtual
>>> Function (16cb) (All Subdevices)
>>> [snipped the rest]
>>>
>>> I hope you can find a (XXXX) corresponding to your NIC.
>>>
>>>
>>> --
>>> David Marchand
>>>
>>>

[-- Attachment #2: Type: text/html, Size: 7611 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-26  4:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-11  5:59 skeleton code failing Lokesh Chakka
2022-07-13  5:35 ` Lokesh Chakka
2022-07-13  6:52   ` David Marchand
2022-07-13  7:13     ` Lokesh Chakka
2022-07-13  7:26       ` Lokesh Chakka
2022-08-26  4:35         ` Lokesh Chakka

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).