I am working on 82599ES in Linux Host and FreeBSD Guest.
But an error happened when PF detected one VF is bad(say VF PCI status is PCI_STATUS_REC_MASTER_ABORT),
it would issue a VF FLR. Then the VF in Guest can not triger the TX/RX MSI-x interrupt.
I checked the EIMS in Guest, it showed the value is "0x0". So I changed the value to "0x1" to enable the TX/RX MSI-x,
but unfortunately the changing did not take effect. Read the EIMS value still is "0x0".
So my questions are:
1. what is VF master abort?
2. what could I do (for PF and VF) when VF master abort happened?
Thank you for posting in Wired Ethernet Commmunity.
While we're checking your concern, please share the PF and VF driver version loaded in your system.
My environment is:
Host: CentOS7.2 Linux 3.10.0-327.28.2.el7.x86_64
PF version is:
# ethtool -i enp4s0f0
Guest: FreeBSD 10.1
VF version is: 1.1.4 (obtained from source code: ixv.c)
FYI, I found the TxRx queue never disabled in Guest when ixv_disable_queue executed (write to EIMC).
So I turned off the TxRx MSI-x bit of EIAM in ixv VF driver. After that, in my test, the master abort never happened.
I am not sure if this EIAM and EIMC will cause VF master abort.
Thanks for your attention.