From: Saeed Mahameed <saeedm@nvidia.com>
To: "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Cc: netdev@vger.kernel.org, Ariel Levkovich <lariel@nvidia.com>,
Paul Blakey <paulb@nvidia.com>,
Saeed Mahameed <saeedm@nvidia.com>
Subject: [net 11/15] net/mlx5e: Avoid checking offload capability in post_parse action
Date: Wed, 4 May 2022 00:02:52 -0700 [thread overview]
Message-ID: <20220504070256.694458-12-saeedm@nvidia.com> (raw)
In-Reply-To: <20220504070256.694458-1-saeedm@nvidia.com>
From: Ariel Levkovich <lariel@nvidia.com>
During TC action parsing, the can_offload callback is called
before calling the action's main parsing callback.
Later on, the can_offload callback is called again before handling
the action's post_parse callback if exists.
Since the main parsing callback might have changed and set parsing
params for the rule, following can_offload checks might fail because
some parsing params were already set.
Specifically, the ct action main parsing sets the ct param in the
parsing status structure and when the second can_offload for ct action
is called, before handling the ct post parsing, it will return an error
since it checks this ct param to indicate multiple ct actions which are
not supported.
Therefore, the can_offload call is removed from the post parsing
handling to prevent such cases.
This is allowed since the first can_offload call will ensure that the
action can be offloaded and the fact the code reached the post parsing
handling already means that the action can be offloaded.
Fixes: 8300f225268b ("net/mlx5e: Create new flow attr for multi table actions")
Signed-off-by: Ariel Levkovich <lariel@nvidia.com>
Reviewed-by: Paul Blakey <paulb@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/act.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/act.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/act.c
index af37a8d247a1..2755c25ba324 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/act.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/act.c
@@ -145,8 +145,7 @@ mlx5e_tc_act_post_parse(struct mlx5e_tc_act_parse_state *parse_state,
flow_action_for_each(i, act, flow_action) {
tc_act = mlx5e_tc_act_get(act->id, ns_type);
- if (!tc_act || !tc_act->post_parse ||
- !tc_act->can_offload(parse_state, act, i, attr))
+ if (!tc_act || !tc_act->post_parse)
continue;
err = tc_act->post_parse(parse_state, priv, attr);
--
2.35.1
next prev parent reply other threads:[~2022-05-04 7:04 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-04 7:02 [pull request][net 00/15] mlx5 fixes 2022-05-03 Saeed Mahameed
2022-05-04 7:02 ` [net 01/15] net/mlx5e: Fix wrong source vport matching on tunnel rule Saeed Mahameed
2022-05-04 10:10 ` patchwork-bot+netdevbpf
2022-05-04 7:02 ` [net 02/15] net/mlx5: Fix slab-out-of-bounds while reading resource dump menu Saeed Mahameed
2022-05-04 7:02 ` [net 03/15] net/mlx5e: Don't match double-vlan packets if cvlan is not set Saeed Mahameed
2022-05-04 7:02 ` [net 04/15] net/mlx5e: Fix the calling of update_buffer_lossy() API Saeed Mahameed
2022-05-04 7:02 ` [net 05/15] net/mlx5e: Lag, Fix use-after-free in fib event handler Saeed Mahameed
2022-05-04 7:02 ` [net 06/15] net/mlx5e: Lag, Fix fib_info pointer assignment Saeed Mahameed
2022-05-04 7:02 ` [net 07/15] net/mlx5e: Lag, Don't skip fib events on current dst Saeed Mahameed
2022-05-04 7:02 ` [net 08/15] net/mlx5e: TC, Fix ct_clear overwriting ct action metadata Saeed Mahameed
2022-05-04 7:02 ` [net 09/15] net/mlx5e: TC, fix decap fallback to uplink when int port not supported Saeed Mahameed
2022-05-04 7:02 ` [net 10/15] net/mlx5e: CT: Fix queued up restore put() executing after relevant ft release Saeed Mahameed
2022-05-04 7:02 ` Saeed Mahameed [this message]
2022-05-04 7:02 ` [net 12/15] net/mlx5e: Fix trust state reset in reload Saeed Mahameed
2022-05-04 7:02 ` [net 13/15] net/mlx5: Fix deadlock in sync reset flow Saeed Mahameed
2022-05-04 7:02 ` [net 14/15] net/mlx5: Avoid double clear or set of sync reset requested Saeed Mahameed
2022-05-04 7:02 ` [net 15/15] net/mlx5: Fix matching on inner TTC Saeed Mahameed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220504070256.694458-12-saeedm@nvidia.com \
--to=saeedm@nvidia.com \
--cc=davem@davemloft.net \
--cc=kuba@kernel.org \
--cc=lariel@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=paulb@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.