DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [dpdk-dev] [Bug 698] i40e unload on FreeBSD prints "unqualified module" and breaks link
Date: Fri, 07 May 2021 13:30:06 +0000	[thread overview]
Message-ID: <bug-698-3@http.bugs.dpdk.org/> (raw)

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: brian90013@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.kirsher@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.

                 reply	other threads:[~2021-05-07 13:30 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-698-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).