The flow director configuration is invalidated in dev_stop after the
hardware reset, but dev_start resets the hardware again. A flow created
while the port is stopped configures flow director and marks it as
configured, so the flow replay in dev_start does not reprogram it after
the reset.

Invalidate the flow director configuration after the reset in dev_start
as well.

Fixes: ea0f9067b2cf ("net/ixgbe: reimplement FDIR parser")

Signed-off-by: Anatoly Burakov <[email protected]>
---
 drivers/net/intel/ixgbe/ixgbe_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/intel/ixgbe/ixgbe_ethdev.c 
b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
index 46db8c49d09..1c9f22ffc31 100644
--- a/drivers/net/intel/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
@@ -2537,6 +2537,8 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
         * this calls reset and start
         */
        status = ixgbe_pf_reset_hw(hw);
+       /* reset wipes flow director setup, reinit it on next flow replay */
+       ixgbe_fdir_hw_invalidate(dev);
        if (status != 0)
                return -1;
        hw->mac.ops.start_hw(hw);
-- 
2.52.0

Reply via email to