The currently used API is unfit for the purpose as it
checks the order in which the action is being added.
Use a dedicated API to request the reset.

Fixes: 012bf708c20f ("net/sfc: support group flows in tunnel offload")
Cc: sta...@dpdk.org

Signed-off-by: Ivan Malov <ivan.ma...@arknetworks.am>
Reviewed-by: Andy Moreton <amore...@xilinx.com>
---
 drivers/net/sfc/sfc_mae.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c
index 3daeed81b9..e5e9257998 100644
--- a/drivers/net/sfc/sfc_mae.c
+++ b/drivers/net/sfc/sfc_mae.c
@@ -3896,12 +3896,10 @@ sfc_mae_rule_parse_actions(struct sfc_adapter *sa,
                break;
        case SFC_FT_RULE_SWITCH:
                /*
-                * Packets that go to the rule's AR have FT mark set (from the
-                * TUNNEL rule OR's RECIRC_ID). Remove this mark in matching
-                * packets. The user may have provided their own action
-                * MARK above, so don't check the return value here.
+                * Packets that go to the rule's AR have FT mark set (from
+                * the TUNNEL rule OR's RECIRC_ID). Reset the mark to zero.
                 */
-               (void)efx_mae_action_set_populate_mark(ctx.spec, 0);
+               efx_mae_action_set_populate_mark_reset(ctx.spec);
 
                ctx.ft_switch_hit_counter =
                        &spec_mae->ft_ctx->switch_hit_counter;
-- 
2.17.1

Reply via email to