The i40e driver's rte_flow implementation has always endeavored to keep flows across device restart, however it never advertised this capability. Advertise it explicitly.
Signed-off-by: Anatoly Burakov <[email protected]> Acked-by: Vladimir Medvedkin <[email protected]> --- doc/guides/rel_notes/release_26_11.rst | 5 +++++ drivers/net/intel/i40e/i40e_ethdev.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst index f4d88938bc3..e9e9fdec9cd 100644 --- a/doc/guides/rel_notes/release_26_11.rst +++ b/doc/guides/rel_notes/release_26_11.rst @@ -109,6 +109,11 @@ New Features * Advertised ``RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP`` capability, as flow rules were already kept across device restart. +* **Updated Intel i40e driver.** + + * Advertised ``RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP`` capability, + as flow rules were already kept across device restart. + * **Updated NXP DPAA2 ethernet driver.** * Added the inner IP header to the RSS hash so tunneled traffic is diff --git a/drivers/net/intel/i40e/i40e_ethdev.c b/drivers/net/intel/i40e/i40e_ethdev.c index 1eb4db5556d..4e34290aa55 100644 --- a/drivers/net/intel/i40e/i40e_ethdev.c +++ b/drivers/net/intel/i40e/i40e_ethdev.c @@ -3631,7 +3631,8 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) dev_info->dev_capa = RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP | RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP; - dev_info->dev_capa &= ~RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP; + /* rte_flow rules are kept across dev_stop/dev_start and replayed on start */ + dev_info->dev_capa |= RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP; dev_info->hash_key_size = (I40E_PFQF_HKEY_MAX_INDEX + 1) * sizeof(uint32_t); -- 2.52.0

