ixgbe/base: set VF MAC address only when acked by PF

This patch resolves an issue where VF mac address is zeroed out
in cases where the VF driver is loaded while the PF interface
is down.
The solution is to only set it when we get an ACK from the PF.

Fixes: 6202266e56 ("ixgbe/base: vf changes")
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
This commit is contained in:
Wenzhuo Lu 2016-02-14 16:54:59 +08:00 committed by Thomas Monjalon
parent 86b8fb293f
commit ce7a410081
2 changed files with 9 additions and 1 deletions

View File

@ -182,6 +182,12 @@ Drivers
Fixed an incorrect device MTU being set due to ethernet header and
CRC lengths being added twice.
* **ixgbe: Fixed zeroed VF mac address.**
Resolved an issue where VF mac address is zeroed out in cases where the VF
driver is loaded while the PF interface is down.
The solution is to only set it when we get an ACK from the PF.
* **aesni_mb: Fixed wrong return value when creating a device.**
cryptodev_aesni_mb_init() was returning the device id of the device created,

View File

@ -228,7 +228,9 @@ s32 ixgbe_reset_hw_vf(struct ixgbe_hw *hw)
msgbuf[0] != (IXGBE_VF_RESET | IXGBE_VT_MSGTYPE_NACK))
return IXGBE_ERR_INVALID_MAC_ADDR;
memcpy(hw->mac.perm_addr, addr, IXGBE_ETH_LENGTH_OF_ADDRESS);
if (msgbuf[0] == (IXGBE_VF_RESET | IXGBE_VT_MSGTYPE_ACK))
memcpy(hw->mac.perm_addr, addr, IXGBE_ETH_LENGTH_OF_ADDRESS);
hw->mac.mc_filter_type = msgbuf[IXGBE_VF_MC_TYPE_WORD];
return ret_val;