2015-09-24 02:35:46 UTC
When I enable SR-IOV with ixgbevf:
[ 56.126379] ixgbevf 0000:01:10.0: enabling device (0000 -> 0002)
[ 56.263462] ixgbevf 0000:01:10.0: PF still in reset state. Is the PF interface up?
[ 56.355415] ixgbevf 0000:01:10.0: Assigning random MAC address
[ 56.425444] ixgbevf: probe of 0000:01:10.0 failed with error -15
However I enable SR-IOV with igbvf:
[ 63.974721] igbvf 0000:01:12.1: enabling device (0000 -> 0002)
[ 64.044339] igbvf 0000:01:12.1: irq 151 for MSI/MSI-X
[ 64.044350] igbvf 0000:01:12.1: irq 152 for MSI/MSI-X
[ 64.044360] igbvf 0000:01:12.1: irq 153 for MSI/MSI-X
[ 64.045505] igbvf 0000:01:12.1: PF still in reset state. Is the PF interface up?
[ 64.133980] igbvf 0000:01:12.1: Assigning random MAC address.
[ 64.203651] igbvf 0000:01:12.1: PF still resetting
[ 64.260990] igbvf 0000:01:12.1: Intel(R) I350 Virtual Function
[ 64.330564] igbvf 0000:01:12.1: Address: 0e:ce:51:a0:4b:9f
As we can see, igbvf will complete VF initialization when found PF in reset state. However, ixgbevf will return error(IXGBE_ERR_RESET_FAILED) when found PF in reset state. Obviously, igbvf ignored this error.
However, the following was written on the 82576 datasheet:
Until a RSTD condition is detected, the VFs should access only the VFMailbox register and should not attempt to activate the interrupt mechanism or the transmit and receive process.
Is this a bug of igbvf ?