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