From: Saeed Mahameed <saeed@kernel.org>
To: "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>
Cc: Saeed Mahameed <saeedm@nvidia.com>,
netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,
Gal Pressman <gal@nvidia.com>,
Leon Romanovsky <leonro@nvidia.com>,
Moshe Shemesh <moshe@nvidia.com>,
Yevgeny Kliteynik <kliteyn@nvidia.com>
Subject: [net-next 03/15] net/mlx5: fs, move steering common function to fs_cmd.h
Date: Wed, 11 Sep 2024 13:17:45 -0700 [thread overview]
Message-ID: <20240911201757.1505453-4-saeed@kernel.org> (raw)
In-Reply-To: <20240911201757.1505453-1-saeed@kernel.org>
From: Moshe Shemesh <moshe@nvidia.com>
As preparation for HW steering support in fs core level, move SW
steering helper function that can be reused by HW steering to fs_cmd.h.
The function mlx5_fs_cmd_is_fw_term_table() checks if a flow table is a
flow steering termination table and so should be handled by FW steering.
Reviewed-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
---
.../net/ethernet/mellanox/mlx5/core/fs_cmd.h | 8 +++++++
.../mellanox/mlx5/core/steering/fs_dr.c | 24 +++++++------------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h b/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h
index 53e0e5137d3f..7eb7b3ffe3d8 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h
@@ -124,4 +124,12 @@ const struct mlx5_flow_cmds *mlx5_fs_cmd_get_fw_cmds(void);
int mlx5_fs_cmd_set_l2table_entry_silent(struct mlx5_core_dev *dev, u8 silent_mode);
int mlx5_fs_cmd_set_tx_flow_table_root(struct mlx5_core_dev *dev, u32 ft_id, bool disconnect);
+
+static inline bool mlx5_fs_cmd_is_fw_term_table(struct mlx5_flow_table *ft)
+{
+ if (ft->flags & MLX5_FLOW_TABLE_TERMINATION)
+ return true;
+
+ return false;
+}
#endif
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c
index 50c2554c9ccf..40d06051cdc6 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c
@@ -9,14 +9,6 @@
#include "fs_dr.h"
#include "dr_types.h"
-static bool dr_is_fw_term_table(struct mlx5_flow_table *ft)
-{
- if (ft->flags & MLX5_FLOW_TABLE_TERMINATION)
- return true;
-
- return false;
-}
-
static int mlx5_cmd_dr_update_root_ft(struct mlx5_flow_root_namespace *ns,
struct mlx5_flow_table *ft,
u32 underlay_qpn,
@@ -70,7 +62,7 @@ static int mlx5_cmd_dr_create_flow_table(struct mlx5_flow_root_namespace *ns,
u32 flags;
int err;
- if (dr_is_fw_term_table(ft))
+ if (mlx5_fs_cmd_is_fw_term_table(ft))
return mlx5_fs_cmd_get_fw_cmds()->create_flow_table(ns, ft,
ft_attr,
next_ft);
@@ -110,7 +102,7 @@ static int mlx5_cmd_dr_destroy_flow_table(struct mlx5_flow_root_namespace *ns,
struct mlx5dr_action *action = ft->fs_dr_table.miss_action;
int err;
- if (dr_is_fw_term_table(ft))
+ if (mlx5_fs_cmd_is_fw_term_table(ft))
return mlx5_fs_cmd_get_fw_cmds()->destroy_flow_table(ns, ft);
err = mlx5dr_table_destroy(ft->fs_dr_table.dr_table);
@@ -135,7 +127,7 @@ static int mlx5_cmd_dr_modify_flow_table(struct mlx5_flow_root_namespace *ns,
struct mlx5_flow_table *ft,
struct mlx5_flow_table *next_ft)
{
- if (dr_is_fw_term_table(ft))
+ if (mlx5_fs_cmd_is_fw_term_table(ft))
return mlx5_fs_cmd_get_fw_cmds()->modify_flow_table(ns, ft, next_ft);
return set_miss_action(ns, ft, next_ft);
@@ -154,7 +146,7 @@ static int mlx5_cmd_dr_create_flow_group(struct mlx5_flow_root_namespace *ns,
match_criteria_enable);
struct mlx5dr_match_parameters mask;
- if (dr_is_fw_term_table(ft))
+ if (mlx5_fs_cmd_is_fw_term_table(ft))
return mlx5_fs_cmd_get_fw_cmds()->create_flow_group(ns, ft, in,
fg);
@@ -179,7 +171,7 @@ static int mlx5_cmd_dr_destroy_flow_group(struct mlx5_flow_root_namespace *ns,
struct mlx5_flow_table *ft,
struct mlx5_flow_group *fg)
{
- if (dr_is_fw_term_table(ft))
+ if (mlx5_fs_cmd_is_fw_term_table(ft))
return mlx5_fs_cmd_get_fw_cmds()->destroy_flow_group(ns, ft, fg);
return mlx5dr_matcher_destroy(fg->fs_dr_matcher.dr_matcher);
@@ -279,7 +271,7 @@ static int mlx5_cmd_dr_create_fte(struct mlx5_flow_root_namespace *ns,
int err = 0;
int i;
- if (dr_is_fw_term_table(ft))
+ if (mlx5_fs_cmd_is_fw_term_table(ft))
return mlx5_fs_cmd_get_fw_cmds()->create_fte(ns, ft, group, fte);
actions = kcalloc(MLX5_FLOW_CONTEXT_ACTION_MAX, sizeof(*actions),
@@ -740,7 +732,7 @@ static int mlx5_cmd_dr_delete_fte(struct mlx5_flow_root_namespace *ns,
int err;
int i;
- if (dr_is_fw_term_table(ft))
+ if (mlx5_fs_cmd_is_fw_term_table(ft))
return mlx5_fs_cmd_get_fw_cmds()->delete_fte(ns, ft, fte);
err = mlx5dr_rule_destroy(rule->dr_rule);
@@ -765,7 +757,7 @@ static int mlx5_cmd_dr_update_fte(struct mlx5_flow_root_namespace *ns,
struct fs_fte fte_tmp = {};
int ret;
- if (dr_is_fw_term_table(ft))
+ if (mlx5_fs_cmd_is_fw_term_table(ft))
return mlx5_fs_cmd_get_fw_cmds()->update_fte(ns, ft, group, modify_mask, fte);
/* Backup current dr rule details */
--
2.46.0
next prev parent reply other threads:[~2024-09-11 20:18 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-11 20:17 [pull request][net-next 00/15] mlx5 updates 2024-09-11 Saeed Mahameed
2024-09-11 20:17 ` [net-next 01/15] net/mlx5: HWS, updated API functions comments to kernel doc Saeed Mahameed
2024-09-12 18:52 ` Jacob Keller
2024-09-13 4:00 ` patchwork-bot+netdevbpf
2024-09-11 20:17 ` [net-next 02/15] net/mlx5: HWS, fixed error flow return values of some functions Saeed Mahameed
2024-09-12 18:52 ` Jacob Keller
2024-09-11 20:17 ` Saeed Mahameed [this message]
2024-09-12 18:53 ` [net-next 03/15] net/mlx5: fs, move steering common function to fs_cmd.h Jacob Keller
2024-09-11 20:17 ` [net-next 04/15] net/mlx5: fs, make get_root_namespace API function Saeed Mahameed
2024-09-12 18:54 ` Jacob Keller
2024-09-13 3:23 ` Kalesh Anakkur Purayil
2024-09-11 20:17 ` [net-next 05/15] net/mlx5: fs, move hardware fte deletion function reset Saeed Mahameed
2024-09-12 19:01 ` Jacob Keller
2024-09-11 20:17 ` [net-next 06/15] net/mlx5: fs, remove unused member Saeed Mahameed
2024-09-12 19:06 ` Jacob Keller
2024-09-11 20:17 ` [net-next 07/15] net/mlx5: fs, separate action and destination into distinct struct Saeed Mahameed
2024-09-12 19:08 ` Jacob Keller
2024-09-11 20:17 ` [net-next 08/15] net/mlx5: fs, add support for no append at software level Saeed Mahameed
2024-09-12 19:10 ` Jacob Keller
2024-09-11 20:17 ` [net-next 09/15] net/mlx5: Add device cap for supporting hot reset in sync reset flow Saeed Mahameed
2024-09-12 19:11 ` Jacob Keller
2024-09-11 20:17 ` [net-next 10/15] net/mlx5: Add support for sync reset using hot reset Saeed Mahameed
2024-09-12 19:12 ` Jacob Keller
2024-09-11 20:17 ` [net-next 11/15] net/mlx5: Skip HotPlug check on " Saeed Mahameed
2024-09-12 19:12 ` Jacob Keller
2024-09-11 20:17 ` [net-next 12/15] net/mlx5: Allow users to configure affinity for SFs Saeed Mahameed
2024-09-12 19:13 ` Jacob Keller
2024-09-13 3:19 ` Kalesh Anakkur Purayil
2024-09-11 20:17 ` [net-next 13/15] net/mlx5: Add NOT_READY command return status Saeed Mahameed
2024-09-12 19:14 ` Jacob Keller
2024-09-13 3:20 ` Kalesh Anakkur Purayil
2024-09-11 20:17 ` [net-next 14/15] net/mlx5e: SHAMPO, Add no-split ethtool counters for header/data split Saeed Mahameed
2024-09-12 19:15 ` Jacob Keller
2024-09-11 20:17 ` [net-next 15/15] net/mlx5e: Match cleanup order in mlx5e_free_rq in reverse of mlx5e_alloc_rq Saeed Mahameed
2024-09-12 19:15 ` Jacob Keller
2024-09-13 3:53 ` [pull request][net-next 00/15] mlx5 updates 2024-09-11 Jakub Kicinski
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=20240911201757.1505453-4-saeed@kernel.org \
--to=saeed@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=kliteyn@nvidia.com \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=moshe@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@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.