[dpdk-dev] IXBGE VF: link state detection

Lu, Wenzhuo wenzhuo.lu at intel.com
Thu May 25 07:01:00 CEST 2017


Hi Gregory,
The mechanism is different. Kernel driver has a watchdog to check the link state periodically. So, it can reset the link automatically.


Best regards
Wenzhuo Lu

From: Gregory Etelson [mailto:gregory at weka.io]
Sent: Thursday, May 25, 2017 11:45 AM
To: Lu, Wenzhuo
Cc: dev at dpdk.org; users at dpdk.org; Yigit, Ferruh
Subject: Re: IXBGE VF: link state detection


Hello,



In this case I would expect ixgbe VF bound to kernel driver

also fail on link up detection

In my tests, VFs bound to kernel drivers operate correctly.



Regards,

Gregory

On Thursday, 25 May 2017 03:56:34 IDT Lu, Wenzhuo wrote:

Hi Gregory,

After you turned the port donw/up, PF will re-init the VF’s registers. So, VF cannot work correctly. That’s why you can know link down but not link up and have to reset the process.





Best regards

Wenzhuo Lu



From: Gregory Etelson [mailto:gregory at weka.io]
Sent: Wednesday, May 24, 2017 5:50 PM
To: dev at dpdk.org<mailto:dev at dpdk.org>
Cc: users at dpdk.org<mailto:users at dpdk.org>; Yigit, Ferruh; Lu, Wenzhuo
Subject: IXBGE VF: link state detection



Hello,



In my tests DPDK-17.05.0 process queries link state with rte_eth_link_get() each 50 msec

during 5-20 MB/sec IOs flow.

I turn Ethernet switch port down and up and check IXGBE VF PMD reaction to link state changes.

VF PMD correctly recognize link down events but may miss link up.

When the fault occurs, subsequent calls to rte_eth_link_get will return link_status == 0 forever.

I need to reset DPDK process to get correct link state value.

My debugging shows that in case of the fault, mbx->ops.read(hw, &in_msg, 1, 0) in ixgbe_check_mac_link_vf

keeps returning non-zero value



Regards,

Gregory




More information about the dev mailing list