On 03/11, Guinan Sun wrote:
>The reason why PF cannot receive data normally is that
>vf performed the clear_rar operation through dev close
>without adding a mac address. 
>This will cause the association between the index and
>rx address set by VMDq to be cancelled,thus affecting
>the data reception of PF.
>The correction method is to add a check action, and do
>not perform the set_rar operation without adding a mac
>address to prevent affecting the reception of data.
>
>Fixes: 3c4270187518 ("net/ixgbe: support VF MAC address add/remove")
>Cc: sta...@dpdk.org
>
>Signed-off-by: Guinan Sun <guinanx....@intel.com>
>---
>v2 changes:
>* Modify commit log
>---
> 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
>

Acked-by: Xiaolong Ye <xiaolong...@intel.com>

Applied to dpdk-next-net-intel, Thanks.

Reply via email to