[Top posting, as HTML email]
HI Chakka,
When linking against DPDK in Shared-library mode, the .so files to handle drivers are not automatically loaded;
https://doc.dpdk.org/guides-20.05/linux_gsg/linux_eal_parameters.html#linux-specific-eal-parameters
Notice the -d flag in particular: "-d <path to shared object or directory>", when used and pointed to the correct .so for the ice pmd .so file,
DPDK will be able to initialize the NIC.
As a workaround/alternative, static-linking against DPDK will avoid the requirement to use "-d" EAL arg to load the PCI device .so drivers.
Hope that helps, -Harry
From: Lokesh Chakka <lvenkatakumarchakka@gmail.com>
Sent: Monday, August 1, 2022 9:20 AM
To: Tkachuk, Georgii <georgii.tkachuk@intel.com>
Cc: users <users@dpdk.org>
Subject: Re: intel 100 Gbps Network card shutting down after enabling dpdk
After booting the server, the following are commands I have executed. Immediately after doing devbind -b, cards are going down. I am able to see that green leds are turning off.
following is the two lines of code and output of code. number of ports are reporting as zero
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ lspci | grep -i intel
c3:00.0 Ethernet controller: Intel Corporation Ethernet Controller E810-C for QSFP (rev 02)
c3:00.1 Ethernet controller: Intel Corporation Ethernet Controller E810-C for QSFP (rev 02)
$ sudo dpdk-devbind.py -b vfio-pci c3:00.0 c3:00.1
$ sudo dpdk-devbind.py -s
Network devices using DPDK-compatible driver
============================================
0000:c3:00.0 'Ethernet Controller E810-C for QSFP 1592' drv=vfio-pci unused=ice
0000:c3:00.1 'Ethernet Controller E810-C for QSFP 1592' drv=vfio-pci unused=ice
Network devices using kernel driver
===================================
0000:05:00.0 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno1 drv=tg3 unused=vfio-pci
0000:05:00.1 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno2 drv=tg3 unused=vfio-pci
0000:05:00.2 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno3 drv=tg3 unused=vfio-pci
0000:05:00.3 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno4 drv=tg3 unused=vfio-pci
0000:83:00.0 'BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet 1750' if=ens3f0np0 drv=bnxt_en unused=vfio-pci
0000:83:00.1 'BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet 1750' if=ens3f1np1 drv=bnxt_en unused=vfio-pci
No 'Baseband' devices detected
==============================
Crypto devices using kernel driver
==================================
0000:02:00.1 'Zeppelin Cryptographic Coprocessor NTBCCP 1468' drv=ccp unused=vfio-pci
0000:03:00.2 'Family 17h (Models 00h-0fh) Platform Security Processor 1456' drv=ccp unused=vfio-pci
0000:41:00.1 'Zeppelin Cryptographic Coprocessor NTBCCP 1468' drv=ccp unused=vfio-pci
0000:42:00.2 'Family 17h (Models 00h-0fh) Platform Security Processor 1456' drv=ccp unused=vfio-pci
0000:81:00.1 'Zeppelin Cryptographic Coprocessor NTBCCP 1468' drv=ccp unused=vfio-pci
0000:82:00.2 'Family 17h (Models 00h-0fh) Platform Security Processor 1456' drv=ccp unused=vfio-pci
0000:c1:00.1 'Zeppelin Cryptographic Coprocessor NTBCCP 1468' drv=ccp unused=vfio-pci
0000:c2:00.2 'Family 17h (Models 00h-0fh) Platform Security Processor 1456' drv=ccp unused=vfio-pci
No 'DMA' devices detected
=========================
No 'Eventdev' devices detected
==============================
No 'Mempool' devices detected
=============================
No 'Compress' devices detected
==============================
No 'Misc (rawdev)' devices detected
===================================
No 'Regex' devices detected
===========================
$ cat one.c
#include <inttypes.h>
#include <rte_ethdev.h>
int main(int argc, char *argv[])
{
struct rte_mempool *mbuf_pool;
unsigned nb_ports;
uint16_t portid;
/* Initializion the Environment Abstraction Layer (EAL). 8< */
int ret = rte_eal_init(argc, argv);
if (ret < 0)
rte_exit(EXIT_FAILURE, "Error with EAL initialization\n");
/* >8 End of initialization the Environment Abstraction Layer (EAL). */
argc -= ret;
argv += ret;
fprintf( stderr, "%s %d\n", __func__, __LINE__ );
/* Check that there is an even number of ports to send/receive on. */
nb_ports = rte_eth_dev_count_avail();
fprintf( stderr, "%s %d nb_ports: %u\n", __func__, __LINE__, nb_ports );
}
$ gcc one.c `pkg-config --cflags libdpdk --libs libdpdk`
$ 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_ice (8086:1592) device: 0000:c3:00.0 (socket 3)
set_mempolicy: Invalid argument
EAL: Releasing PCI mapped resource for 0000:c3:00.0
EAL: Calling pci_unmap_resource for 0000:c3:00.0 at 0x4102000000
EAL: Calling pci_unmap_resource for 0000:c3:00.0 at 0x4104000000
EAL: Requested device 0000:c3:00.0 cannot be used
EAL: Using IOMMU type 1 (Type 1)
EAL: Probe PCI driver: net_ice (8086:1592) device: 0000:c3:00.1 (socket 3)
set_mempolicy: Invalid argument
EAL: Releasing PCI mapped resource for 0000:c3:00.1
EAL: Calling pci_unmap_resource for 0000:c3:00.1 at 0x4104010000
EAL: Calling pci_unmap_resource for 0000:c3:00.1 at 0x4106010000
EAL: Requested device 0000:c3:00.1 cannot be used
TELEMETRY: No legacy callbacks, legacy socket not created
main 20
main 23 nb_ports: 0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Thanks & Regards
--
Lokesh Chakka.
On Mon, Aug 1, 2022 at 12:44 PM Tkachuk, Georgii <georgii.tkachuk@intel.com> wrote:
Please check “sudo dpdk-devbind.py -s” to see if both ports are bound to vfio-pci
And some questions:
What DPDK app are you running?
What are your EAL command line arguments?
What do you mean by going down (as reported by what?)
Thank you,
Georgii
From: Lokesh Chakka <lvenkatakumarchakka@gmail.com>
Sent: Monday, August 01, 2022 12:09 AM
To: users <users@dpdk.org>
Subject: intel 100 Gbps Network card shutting down after enabling dpdk
hello,
Recently I have bought one intel network card
The moment I do devbind, cards are shutting down.
$ lspci | grep -i intel
c3:00.0 Ethernet controller: Intel Corporation Ethernet Controller E810-C for QSFP (rev 02)
c3:00.1 Ethernet controller: Intel Corporation Ethernet Controller E810-C for QSFP (rev 02)
$ sudo dpdk-devbind.py -b vfio-pci c3:00.0 c3:00.1
After this, cards are going down. EAL is giving following error
EAL: Requested device 0000:c3:00.1 cannot be used
EAL: Error - exiting with code: 1
Cause: Error: number of ports must be even
Did anyone face this issue or anyone know how to fix the issue?
Thanks & Regards
--
Lokesh Chakka.