This problem occurs because clear_rar is executed at the wrong time, so PF cannot receive data normally. This patch is used to modify the calling logic of clear_rar.
Fixes: 3c4270187518 ("net/ixgbe: support VF MAC address add/remove") Cc: sta...@dpdk.org Signed-off-by: Guinan Sun <guinanx....@intel.com> --- drivers/net/ixgbe/ixgbe_pf.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c index afae21f81..67b5bef44 100644 --- a/drivers/net/ixgbe/ixgbe_pf.c +++ b/drivers/net/ixgbe/ixgbe_pf.c @@ -783,8 +783,10 @@ ixgbe_set_vf_macvlan_msg(struct rte_eth_dev *dev, uint32_t vf, uint32_t *msgbuf) hw->mac.ops.set_rar(hw, vf_info[vf].mac_count, new_mac, vf, IXGBE_RAH_AV); } else { - hw->mac.ops.clear_rar(hw, vf_info[vf].mac_count); - vf_info[vf].mac_count = 0; + if (vf_info[vf].mac_count) { + hw->mac.ops.clear_rar(hw, vf_info[vf].mac_count); + vf_info[vf].mac_count = 0; + } } return 0; } -- 2.17.1