Dear Harry, Concern is not static linking or dynamic linking. Concern is Card is shutting down immediately after devbind. This, I am able to clearly see as the green LEDs are turning immediately off after executing devbind. However, I have executed and the following is the observation. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $ 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 $ cat one.c #include #include int main(int argc, char *argv[]) { unsigned nb_ports; int ret = rte_eal_init(argc, argv); if (ret < 0) rte_exit(EXIT_FAILURE, "Error with EAL initialization\n"); 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 --static libdpdk` $ sudo ./a.out EAL: Detected CPU lcores: 64 EAL: Detected NUMA nodes: 4 EAL: Detected static 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 main 20 main 23 nb_ports: 0 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Please let me know if any more information is required. Thanks & Regards -- Lokesh Chakka. On Tue, Aug 2, 2022 at 2:49 PM Van Haaren, Harry wrote: > [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 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 > *Sent:* Monday, August 1, 2022 9:20 AM > *To:* Tkachuk, Georgii > *Cc:* users > *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 > #include > > > 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 > *Sent:* Monday, August 01, 2022 12:09 AM > *To:* users > *Subject:* intel 100 Gbps Network card shutting down after enabling dpdk > > > > hello, > > > > Recently I have bought one intel network card > > > > > https://ark.intel.com/content/www/us/en/ark/products/210969/intel-ethernet-network-adapter-e8102cqda2.html > > > > 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. > >