[PATCH 22.11] net/mlx5: fix control flow leakage for external SQ
Kevin Traynor
ktraynor at redhat.com
Fri Nov 21 15:16:28 CET 2025
On 18/11/2025 16:51, Viacheslav Ovsiienko wrote:
> [ upstream commit 3bf9f0f9f0beb8dcd4f3b316c3216a87bc9ab49f ]
>
> There is the private API rte_pmd_mlx5_external_sq_enable(),
> that allows application to create the Send Queue (SQ) on its own
> and then enable this queue usage as "external SQ".
>
> On this enabling call some implicit flows are created to provide
> compliant SQs behavior - copy metadata register, forward queue
> originated packet to correct VF, etc.
>
> These implicit flows are marked as "external" ones, and there is
> no cleanup on device start and stop for this kind of flows.
> Also, PMD has no knowledge if external SQ is still in use by
> application and implicit cleanup can not be performed.
>
> As a result, on multiple device start/stop cycles application
> re-creates and re-enables many external SQs, causing implicit
> flow tables overflow.
>
> To resolve this issue the rte_pmd_mlx5_external_sq_disable()
> API is provided, that allows to application to notify PMD
> the external SQ is not in usage anymore and related implicit
> flows can be dismissed.
>
> Fixes: 26e1eaf2dac4 ("net/mlx5: support device control for E-Switch default rule")
> Cc: stable at dpdk.org
>
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
> Acked-by: Dariusz Sosnowski <dsosnowski at nvidia.com>
> ---
> drivers/net/mlx5/mlx5_flow.h | 12 ++--
> drivers/net/mlx5/mlx5_flow_hw.c | 106 +++++++++++++++++++++++++++++++-
> drivers/net/mlx5/mlx5_trigger.c | 2 +-
> drivers/net/mlx5/mlx5_txq.c | 54 ++++++++++++++--
> drivers/net/mlx5/rte_pmd_mlx5.h | 18 ++++++
> drivers/net/mlx5/version.map | 1 +
> 6 files changed, 181 insertions(+), 12 deletions(-)
>
Hi Slava,
I applied this to 24.11 branch with a small rebase, but it's causing
build errors, so I think it will need a dedicated 24.11 backport.
thanks,
Kevin.
More information about the stable
mailing list