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

Reply via email to