[dpdk-dev] [PATCH v2] net/ixgbe: fix setting VF MAC address

Ye Xiaolong xiaolong.ye at intel.com
Fri Mar 13 02:09:28 CET 2020


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: stable at dpdk.org
>
>Signed-off-by: Guinan Sun <guinanx.sun at 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.ye at intel.com>

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


More information about the dev mailing list