]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net/mlx5e: TC, add hw counter to branching actions
authorOz Shlomo <ozsh@nvidia.com>
Sun, 12 Feb 2023 13:25:17 +0000 (15:25 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 14 Feb 2023 10:00:01 +0000 (11:00 +0100)
Currently a hw count action is appended to the last action of the action
list. However, a branching action may terminate the action list before
reaching the last action.

Append a count action to a branching action.
In the next patches, filters with branching actions will read this counter
when reporting stats per action.

Signed-off-by: Oz Shlomo <ozsh@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

index e2ec80ebde5830ef0f790de47fda3e6a3e512c28..a3b46feeff8aad37c5209f5984594e44c6952130 100644 (file)
@@ -3785,6 +3785,7 @@ mlx5e_clone_flow_attr_for_post_act(struct mlx5_flow_attr *attr,
        INIT_LIST_HEAD(&attr2->list);
        parse_attr->filter_dev = attr->parse_attr->filter_dev;
        attr2->action = 0;
+       attr2->counter = NULL;
        attr2->flags = 0;
        attr2->parse_attr = parse_attr;
        attr2->dest_chain = 0;
@@ -4084,6 +4085,10 @@ parse_branch_ctrl(struct flow_action_entry *act, struct mlx5e_tc_act *tc_act,
                jump_state->jumping_attr = attr->branch_false;
 
        jump_state->jump_count = jump_count;
+
+       /* branching action requires its own counter */
+       attr->action |= MLX5_FLOW_CONTEXT_ACTION_COUNT;
+
        return 0;
 
 err_branch_false: