Acked-by: Vladimir Medvedkin <[email protected]>

On 2/11/2026 1:49 PM, Anatoly Burakov wrote:
When creating egress IPsec flows, no action need to be done in hardware, as
this is just a software association. However, because we do not write
anything to the rte_flow entry, subsequent destroy call will not destroy
this kind of flow, because it expects a valid engine to be set for every
flow. This results in memory unable to be freed back to the system.

In addition to that, when creating these flows, we do not actually store
the rte_flow pointer anywhere, so even if the user has triggered `uninit`
(which would have freed the flow), this flow isn't in the list so it would
never get freed.

Fix this by marking the flow as egress IPsec flows, adding it to the tailq,
and changing the `destroy` code to take all of that into account.

Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto")
Cc: [email protected]
Cc: [email protected]

Signed-off-by: Anatoly Burakov <[email protected]>
Acked-by: Radu Nicolau <[email protected]>
---
  drivers/net/intel/iavf/iavf_generic_flow.c | 30 +++++++++++++++++-----
  drivers/net/intel/iavf/iavf_generic_flow.h |  1 +
  2 files changed, 25 insertions(+), 6 deletions(-)

<snip>

--
Regards,
Vladimir

Reply via email to