net/mlx5: fix mirroring with metering action
authorJiawei Wang <jiaweiw@nvidia.com>
Wed, 12 May 2021 06:53:24 +0000 (09:53 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 12 May 2021 11:54:26 +0000 (13:54 +0200)
While there's mirror action prior to the meter action in the E-Switch
flow, means that the packets should be duplicated into port firstly,
and then do meter and send to the original destination.
MLX5 PMD will split the above E-Switch flow into two sub flows,
similar as mirror with modify action before.

Fixes: 07627fbf1506 ("net/mlx5: support E-Switch mirroring with modify action")
Cc: stable@dpdk.org
Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_flow.c

index 8c375f1..c322d5d 100644 (file)
@@ -5136,6 +5136,7 @@ flow_check_match_action(const struct rte_flow_action actions[],
                case RTE_FLOW_ACTION_TYPE_NVGRE_DECAP:
                case RTE_FLOW_ACTION_TYPE_RAW_DECAP:
                case RTE_FLOW_ACTION_TYPE_MODIFY_FIELD:
+               case RTE_FLOW_ACTION_TYPE_METER:
                        if (fdb_mirror)
                                *modify_after_mirror = 1;
                        break;