https://bugs.dpdk.org/show_bug.cgi?id=698
Bug ID: 698 Summary: i40e unload on FreeBSD prints "unqualified module" and breaks link Product: DPDK Version: 20.11 Hardware: x86 OS: FreeBSD Status: UNCONFIRMED Severity: normal Priority: Normal Component: ethdev Assignee: dev@dpdk.org Reporter: brian90...@gmail.com Target Milestone: --- Hello, I am using an Intel XL710-Q2 (2x40GbE) NIC on FreeBSD-12.2 with DPDK 20.11.1. I have the two ports connected to each other via fiber. I have been testing my application by running DPDK on ixl0 and using the standard OS driver for ixl1. I am able to transmit and receive packets between the two without issue. However, when I unload DPDK with 'kldunload nic_uio', the ixl0 driver attempts to reload then prints: ixl0: Link failed because an unqualified module was detected! At this point, both ixl0 and ixl1 are in a "no carrier" state. I have found a complete power cycle is required to bring the interfaces back online. I have used both ixl0 and ixl1 in FreeBSD but only see this message and lose link when returning from using DPDK. Here's the full trace from /var/log/messages showing ixl0 coming back up as nic_uio is removed: kernel: nic_uio0: kernel: detached kernel: pci8: <network, ethernet> at device 0.0 (no driver attached) kernel: nic_uio_unload: entered... kernel: nic_uio_unload: calling to device_probe_and_attach for dev=0xfffff8010632f600... kernel: ixl0: <Intel(R) Ethernet Controller XL710 for 40GbE QSFP+ - 2.3.0-k> mem 0xfa800000-0xfaffffff kernel: ,0xfb008000-0xfb00ffff irq 40 at device 0.0 on pci8 kernel: ixl0: fw 6.0.48442 api 1.7 nvm 6.01 etid 80003564 oem 0.0.0 kernel: ixl0: PF-ID[0]: VFs 64, MSI-X 129, VF MSI-X 5, QPs 768, I2C kernel: ixl0: kernel: Using 1024 TX descriptors and 1024 RX descriptors kernel: ixl0: kernel: queue equality override not set, capping rx_queues at 4 and tx_queues at 4 kernel: ixl0: Using 4 RX queues 4 TX queues kernel: ixl0: Using MSI-X interrupts with 5 vectors kernel: ixl0: Ethernet address: 00:23:56:1f:22:15 kernel: ixl0: Allocating 4 queues for PF LAN VSI; 4 queues active kernel: ixl0: PCI Express Bus: Speed 8.0GT/s Width x8 kernel: ixl0: netmap queues/slots: TX 4/1024, RX 4/1024 kernel: nic_uio_unload: done. kernel: nic_uio_unload: leaving... kernel: ixl0: kernel: Link failed because an unqualified module was detected! My problem - returning from DPDK breaks the link - sounds very similar to the following message posted to DPDK-users in June 2017. That issue was on Ubuntu 16.04 / DPDK 17.02. The second thread indicates it was fixed by updating to DPDK 17.08 and the Linux driver 2.0.30. The third link contains a Linux i40e patch from September 2017 related to moving the unqualified module check. I wonder if a similar change is required to work with FreeBSD? I have posted here vs. the FreeBSD bug tracker as the behavior has only been seen when leaving DPDK. http://mails.dpdk.org/archives/users/2017-June/002116.html https://sourceforge.net/p/e1000/bugs/570/ https://patchwork.ozlabs.org/project/netdev/patch/20170930004507.20072-3-jeffrey.t.kirs...@intel.com/ Thank you for your help. I am hopeful the XL710 can be used both in FreeBSD and DPDK without power cycles between use. -- You are receiving this mail because: You are the assignee for the bug.