Any update on this patch?
Thanks,
Eelco
On 17 Sep 2019, at 9:40, Eelco Chaudron wrote:
Even though the device reset is successful, disabling promiscuous mode
might not always succeed, causing enabling it after reset to
fail. This would happen when the kernel driver requires a reset of the
VF.
This patch resets the internal state, so next time promiscuous mode is
configured it will be enabled.
Signed-off-by: Eelco Chaudron <echau...@redhat.com>
---
drivers/net/i40e/i40e_ethdev_vf.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
b/drivers/net/i40e/i40e_ethdev_vf.c
index 551f6fa..e0f99a4 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -2276,11 +2276,21 @@ static int eth_i40evf_pci_remove(struct
rte_pci_device *pci_dev)
i40evf_dev_reset(struct rte_eth_dev *dev)
{
int ret;
+ struct i40e_vf *vf =
I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
ret = i40evf_dev_uninit(dev);
if (ret)
return ret;
+ /*
+ * Even though the device reset is successful disabling promiscuous
+ * mode might not always succeed, causing enabling it after reset to
+ * fail. This would happen when the kernel driver requires a reset
+ * of the VF.
+ */
+ if (rte_eal_process_type() == RTE_PROC_PRIMARY)
+ vf->promisc_unicast_enabled = FALSE;
+
ret = i40evf_dev_init(dev);
return ret;
--
1.8.3.1