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:greg...@weka.io]
Sent: Thursday, May 25, 2017 11:45 AM
To: Lu, Wenzhuo
Cc: dev@dpdk.org; us...@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:greg...@weka.io]
Sent: Wednesday, May 24, 2017 5:50 PM
To: dev@dpdk.org<mailto:dev@dpdk.org>
Cc: us...@dpdk.org<mailto:us...@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


Reply via email to