diff options
author | Oz Shlomo <ozsh@nvidia.com> | 2023-02-12 15:25:17 +0200 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-02-14 11:00:01 +0100 |
commit | e9d1061d87276d3397157ea947fa28374dcbf974 (patch) | |
tree | ac251d8a80bdd8126d8dc3de3210bdbcbf859325 /drivers | |
parent | 5246c896b805b043a87fa78af32a33cbce00de05 (diff) |
net/mlx5e: TC, add hw counter to branching actions
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index e2ec80ebde58..a3b46feeff8a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -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: |