Hello,

I am playing with DPDK to capture packets on two 10GbE interfaces (Intel XL710 
card).

Receiving packets with DPDK (with the igb_uio driver) works fine using the 
example l2fwd program with small minor changes.
However when I try to load the original Linux i40e driver with:
    sudo -s python3 ~/dpdk-17.02/usertools/dpdk-devbind.py -b i40e 0f:00.0

The i40e module loads, but I get the following error in the kernel logs:
    i40e 0000:0f:00.0 enp15s0f0: the driver failed to link because an 
unqualified module was detected.

And the interfaces stay in "NO_CARRIER" state, which prevents them from 
sending/receiving anything:
    $ ip link show enp15s0f0
    243: enp15s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq 
portid 3cfdfe151da0 state DOWN mode DEFAULT group default qlen 1000
        link/ether 3c:fd:fe:15:1d:a0 brd ff:ff:ff:ff:ff:ff

The only way to fix this is a complete reboot.

The optical modules I am using are Intel E10GSFPSR, as recommended by Intel 
(https://www-ssl.intel.com/content/www/us/en/support/network-and-i-o/ethernet-products/000007045.html),
 and are definitely not "unqualified".

Normally, I would tend to think this is a bug in the i40e driver and not in 
DPDK, however this problem *only occurs after having used DPDK*, so this is 
suspicious.
If I load/unload the i40e module hundreds of time with traffic in between I 
never get this issue.

I tried DPDK v17.02 and v16.11.1 and the same error occurs. I also tried 
different i40e Intel driver versions, same thing.
Currently I'm on Ubuntu 16.04 x86_64 with kernel 4.4 and i40e driver v1.4.25-k 
(the one shipped with the Ubuntu kernel).

Maybe DPDK is doing something on the hardware that causes the interface to be 
stuck in NO_CARRIER state, any ideas?

Thank you

Reply via email to