[PATCH] net/mlx5: fix hairpin split with set VLAN VID action

Raslan Darawsheh rasland at nvidia.com
Tue Nov 8 10:02:13 CET 2022


Hi,

> -----Original Message-----
> From: Dariusz Sosnowski <dsosnowski at nvidia.com>
> Sent: Monday, November 7, 2022 12:29 PM
> To: Matan Azrad <matan at nvidia.com>; Slava Ovsiienko
> <viacheslavo at nvidia.com>
> Cc: dev at dpdk.org; Raslan Darawsheh <rasland at nvidia.com>;
> stable at dpdk.org
> Subject: [PATCH] net/mlx5: fix hairpin split with set VLAN VID action
> 
> Before this patch any flow rule which works on hairpin queues and which has
> OF_SET_VLAN_VID action was split into 2 flow rules:
> 
> - one subflow for Rx,
> - one subflow for Tx.
> 
> OF_SET_VLAN_VID action was always placed in the Tx subflow.
> 
> Assuming a flow rule which matches VLAN traffic and has both
> OF_SET_VLAN_VID action, and MODIFY_FIELD action on VLAN VID, but no
> OF_PUSH_VLAN action, the following happened:
> 
> - MODIFY_FIELD action was placed in Rx subflow,
> - OF_SET_VLAN_VID action was placed in Tx subflow,
> - OF_SET_VLAN_VID action is internally compiled to a header modify
>   command.
> 
> This caused the following issues:
> 
> 1. Since OF_SET_VLAN_VID was placed in Tx subflow, 2 header modify
>    actions were allocated. One for Rx and one for Tx.
> 2. If OF_SET_VLAN_VID action was placed before MODIFY_FIELD on VLAN
> VID,
>    the flow rule executed header modifications in reverse order.
>    MODIFY_FIELD actions were executed first in the Rx subflow and
>    OF_SET_VLAN_VID was executed second in Tx subflow.
> 
> This patch fixes this behavior by not splitting hairpin flow rules if
> OF_SET_VLAN_VID action is used without OF_PUSH_VLAN.
> On top of that, if flow rule is split, the OF_SET_VLAN_VID action is not moved
> to Tx subflow (for flow rules mentioned above).
> 
> Fixes: 210008309b45 ("net/mlx5: fix VLAN push action on hairpin queue")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Dariusz Sosnowski <dsosnowski at nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh


More information about the stable mailing list