OSDN Git Service

net/mlx5e: TC, Clean redundant counter flag from tc action parsers
authorRoi Dayan <roid@nvidia.com>
Sun, 21 Nov 2021 09:38:53 +0000 (11:38 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Thu, 17 Feb 2022 07:55:17 +0000 (23:55 -0800)
When tc actions being parsed only the last flow attr created needs the
counter flag and the previous flags being reset.
Clean the flag from the tc action parsers.

Signed-off-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/accept.c
drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/drop.c
drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/goto.c
drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/mirred.c
drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/mirred_nic.c
drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/redirect_ingress.c
drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/trap.c
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

index 2b53738..21aab96 100644 (file)
@@ -19,8 +19,7 @@ tc_act_parse_accept(struct mlx5e_tc_act_parse_state *parse_state,
                    struct mlx5e_priv *priv,
                    struct mlx5_flow_attr *attr)
 {
-       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST |
-                       MLX5_FLOW_CONTEXT_ACTION_COUNT;
+       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
        attr->flags |= MLX5_ATTR_FLAG_ACCEPT;
 
        return 0;
index 3d5f236..dd025a9 100644 (file)
@@ -19,8 +19,7 @@ tc_act_parse_drop(struct mlx5e_tc_act_parse_state *parse_state,
                  struct mlx5e_priv *priv,
                  struct mlx5_flow_attr *attr)
 {
-       attr->action |= MLX5_FLOW_CONTEXT_ACTION_DROP |
-                       MLX5_FLOW_CONTEXT_ACTION_COUNT;
+       attr->action |= MLX5_FLOW_CONTEXT_ACTION_DROP;
 
        return 0;
 }
index fb1be82..4726bcb 100644 (file)
@@ -76,8 +76,7 @@ tc_act_parse_goto(struct mlx5e_tc_act_parse_state *parse_state,
                  struct mlx5e_priv *priv,
                  struct mlx5_flow_attr *attr)
 {
-       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST |
-                       MLX5_FLOW_CONTEXT_ACTION_COUNT;
+       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
        attr->dest_chain = act->chain_index;
 
        return 0;
index 99fb98b..d08abec 100644 (file)
@@ -296,8 +296,7 @@ tc_act_parse_mirred(struct mlx5e_tc_act_parse_state *parse_state,
        if (err)
                return err;
 
-       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST |
-                       MLX5_FLOW_CONTEXT_ACTION_COUNT;
+       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
 
        return 0;
 }
index 16681cf..90b4c1b 100644 (file)
@@ -40,8 +40,7 @@ tc_act_parse_mirred_nic(struct mlx5e_tc_act_parse_state *parse_state,
 {
        attr->parse_attr->mirred_ifindex[0] = act->dev->ifindex;
        flow_flag_set(parse_state->flow, HAIRPIN);
-       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST |
-                       MLX5_FLOW_CONTEXT_ACTION_COUNT;
+       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
 
        return 0;
 }
index 9dd2441..ad09a8a 100644 (file)
@@ -58,8 +58,7 @@ tc_act_parse_redirect_ingress(struct mlx5e_tc_act_parse_state *parse_state,
        struct net_device *out_dev = act->dev;
        int err;
 
-       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST |
-                       MLX5_FLOW_CONTEXT_ACTION_COUNT;
+       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
 
        err = mlx5e_set_fwd_to_int_port_actions(priv, attr, out_dev->ifindex,
                                                MLX5E_TC_INT_PORT_INGRESS,
index 9ea293f..a7d9eab 100644 (file)
@@ -26,8 +26,7 @@ tc_act_parse_trap(struct mlx5e_tc_act_parse_state *parse_state,
                  struct mlx5e_priv *priv,
                  struct mlx5_flow_attr *attr)
 {
-       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST |
-                       MLX5_FLOW_CONTEXT_ACTION_COUNT;
+       attr->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
        attr->flags |= MLX5_ATTR_FLAG_SLOW_PATH;
 
        return 0;
index b9d6a2e..76a015d 100644 (file)
@@ -3536,7 +3536,6 @@ alloc_flow_post_acts(struct mlx5e_tc_flow *flow, struct netlink_ext_ack *extack)
                        /* Set counter action on last post act rule. */
                        attr->action |= MLX5_FLOW_CONTEXT_ACTION_COUNT;
                } else {
-                       attr->action &= ~MLX5_FLOW_CONTEXT_ACTION_COUNT;
                        err = mlx5e_tc_act_set_next_post_act(flow, attr, next_attr);
                        if (err)
                                goto out_free;