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