Skip to content

Commit

Permalink
net/mlx5e: Rename traffic type enums
Browse files Browse the repository at this point in the history
Rename traffic type enums as part of the preparation for moving
the traffic type logic to a separate file.

Signed-off-by: Maor Gottlieb <maorg@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
  • Loading branch information
Maor Gottlieb authored and Saeed Mahameed committed Aug 3, 2021
1 parent 3ac90de commit d443c6f
Show file tree
Hide file tree
Showing 13 changed files with 162 additions and 159 deletions.
89 changes: 46 additions & 43 deletions drivers/net/ethernet/mellanox/mlx5/core/en/fs.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,22 +67,23 @@ struct mlx5e_l2_table {
bool promisc_enabled;
};

enum mlx5e_traffic_types {
MLX5E_TT_IPV4_TCP,
MLX5E_TT_IPV6_TCP,
MLX5E_TT_IPV4_UDP,
MLX5E_TT_IPV6_UDP,
MLX5E_TT_IPV4_IPSEC_AH,
MLX5E_TT_IPV6_IPSEC_AH,
MLX5E_TT_IPV4_IPSEC_ESP,
MLX5E_TT_IPV6_IPSEC_ESP,
MLX5E_TT_IPV4,
MLX5E_TT_IPV6,
MLX5E_TT_ANY,
MLX5E_NUM_TT,
MLX5E_NUM_INDIR_TIRS = MLX5E_TT_ANY,
enum mlx5_traffic_types {
MLX5_TT_IPV4_TCP,
MLX5_TT_IPV6_TCP,
MLX5_TT_IPV4_UDP,
MLX5_TT_IPV6_UDP,
MLX5_TT_IPV4_IPSEC_AH,
MLX5_TT_IPV6_IPSEC_AH,
MLX5_TT_IPV4_IPSEC_ESP,
MLX5_TT_IPV6_IPSEC_ESP,
MLX5_TT_IPV4,
MLX5_TT_IPV6,
MLX5_TT_ANY,
MLX5_NUM_TT,
};

#define MLX5E_NUM_INDIR_TIRS (MLX5_NUM_TT - 1)

#define MLX5_HASH_IP (MLX5_HASH_FIELD_SEL_SRC_IP |\
MLX5_HASH_FIELD_SEL_DST_IP)
#define MLX5_HASH_IP_L4PORTS (MLX5_HASH_FIELD_SEL_SRC_IP |\
Expand All @@ -93,14 +94,14 @@ enum mlx5e_traffic_types {
MLX5_HASH_FIELD_SEL_DST_IP |\
MLX5_HASH_FIELD_SEL_IPSEC_SPI)

enum mlx5e_tunnel_types {
MLX5E_TT_IPV4_GRE,
MLX5E_TT_IPV6_GRE,
MLX5E_TT_IPV4_IPIP,
MLX5E_TT_IPV6_IPIP,
MLX5E_TT_IPV4_IPV6,
MLX5E_TT_IPV6_IPV6,
MLX5E_NUM_TUNNEL_TT,
enum mlx5_tunnel_types {
MLX5_TT_IPV4_GRE,
MLX5_TT_IPV6_GRE,
MLX5_TT_IPV4_IPIP,
MLX5_TT_IPV6_IPIP,
MLX5_TT_IPV4_IPV6,
MLX5_TT_IPV6_IPV6,
MLX5_NUM_TUNNEL_TT,
};

bool mlx5e_tunnel_inner_ft_supported(struct mlx5_core_dev *mdev);
Expand All @@ -113,8 +114,8 @@ struct mlx5e_ttc_rule {
/* L3/L4 traffic type classifier */
struct mlx5e_ttc_table {
struct mlx5e_flow_table ft;
struct mlx5e_ttc_rule rules[MLX5E_NUM_TT];
struct mlx5_flow_handle *tunnel_rules[MLX5E_NUM_TUNNEL_TT];
struct mlx5e_ttc_rule rules[MLX5_NUM_TT];
struct mlx5_flow_handle *tunnel_rules[MLX5_NUM_TUNNEL_TT];
};

/* NIC prio FTS */
Expand All @@ -138,21 +139,21 @@ enum {
#endif
};

#define MLX5E_TTC_NUM_GROUPS 3
#define MLX5E_TTC_GROUP1_SIZE (BIT(3) + MLX5E_NUM_TUNNEL_TT)
#define MLX5E_TTC_GROUP2_SIZE BIT(1)
#define MLX5E_TTC_GROUP3_SIZE BIT(0)
#define MLX5E_TTC_TABLE_SIZE (MLX5E_TTC_GROUP1_SIZE +\
MLX5E_TTC_GROUP2_SIZE +\
MLX5E_TTC_GROUP3_SIZE)

#define MLX5E_INNER_TTC_NUM_GROUPS 3
#define MLX5E_INNER_TTC_GROUP1_SIZE BIT(3)
#define MLX5E_INNER_TTC_GROUP2_SIZE BIT(1)
#define MLX5E_INNER_TTC_GROUP3_SIZE BIT(0)
#define MLX5E_INNER_TTC_TABLE_SIZE (MLX5E_INNER_TTC_GROUP1_SIZE +\
MLX5E_INNER_TTC_GROUP2_SIZE +\
MLX5E_INNER_TTC_GROUP3_SIZE)
#define MLX5_TTC_NUM_GROUPS 3
#define MLX5_TTC_GROUP1_SIZE (BIT(3) + MLX5_NUM_TUNNEL_TT)
#define MLX5_TTC_GROUP2_SIZE BIT(1)
#define MLX5_TTC_GROUP3_SIZE BIT(0)
#define MLX5_TTC_TABLE_SIZE (MLX5_TTC_GROUP1_SIZE +\
MLX5_TTC_GROUP2_SIZE +\
MLX5_TTC_GROUP3_SIZE)

#define MLX5_INNER_TTC_NUM_GROUPS 3
#define MLX5_INNER_TTC_GROUP1_SIZE BIT(3)
#define MLX5_INNER_TTC_GROUP2_SIZE BIT(1)
#define MLX5_INNER_TTC_GROUP3_SIZE BIT(0)
#define MLX5_INNER_TTC_TABLE_SIZE (MLX5_INNER_TTC_GROUP1_SIZE +\
MLX5_INNER_TTC_GROUP2_SIZE +\
MLX5_INNER_TTC_GROUP3_SIZE)

struct mlx5e_priv;

Expand Down Expand Up @@ -251,19 +252,21 @@ void mlx5e_destroy_ttc_table(struct mlx5e_priv *priv,
struct mlx5e_ttc_table *ttc);

void mlx5e_destroy_flow_table(struct mlx5e_flow_table *ft);
int mlx5e_ttc_fwd_dest(struct mlx5e_priv *priv, enum mlx5e_traffic_types type,
int mlx5e_ttc_fwd_dest(struct mlx5e_priv *priv, enum mlx5_traffic_types type,
struct mlx5_flow_destination *new_dest);
struct mlx5_flow_destination
mlx5e_ttc_get_default_dest(struct mlx5e_priv *priv, enum mlx5e_traffic_types type);
int mlx5e_ttc_fwd_default_dest(struct mlx5e_priv *priv, enum mlx5e_traffic_types type);
mlx5e_ttc_get_default_dest(struct mlx5e_priv *priv,
enum mlx5_traffic_types type);
int mlx5e_ttc_fwd_default_dest(struct mlx5e_priv *priv,
enum mlx5_traffic_types type);

void mlx5e_enable_cvlan_filter(struct mlx5e_priv *priv);
void mlx5e_disable_cvlan_filter(struct mlx5e_priv *priv);

int mlx5e_create_flow_steering(struct mlx5e_priv *priv);
void mlx5e_destroy_flow_steering(struct mlx5e_priv *priv);

u8 mlx5e_get_proto_by_tunnel_type(enum mlx5e_tunnel_types tt);
u8 mlx5e_get_proto_by_tunnel_type(enum mlx5_tunnel_types tt);
int mlx5e_add_vlan_trap(struct mlx5e_priv *priv, int trap_id, int tir_num);
void mlx5e_remove_vlan_trap(struct mlx5e_priv *priv);
int mlx5e_add_mac_trap(struct mlx5e_priv *priv, int trap_id, int tir_num);
Expand Down
24 changes: 12 additions & 12 deletions drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,22 +33,22 @@ static char *fs_udp_type2str(enum fs_udp_type i)
}
}

static enum mlx5e_traffic_types fs_udp2tt(enum fs_udp_type i)
static enum mlx5_traffic_types fs_udp2tt(enum fs_udp_type i)
{
switch (i) {
case FS_IPV4_UDP:
return MLX5E_TT_IPV4_UDP;
return MLX5_TT_IPV4_UDP;
default: /* FS_IPV6_UDP */
return MLX5E_TT_IPV6_UDP;
return MLX5_TT_IPV6_UDP;
}
}

static enum fs_udp_type tt2fs_udp(enum mlx5e_traffic_types i)
static enum fs_udp_type tt2fs_udp(enum mlx5_traffic_types i)
{
switch (i) {
case MLX5E_TT_IPV4_UDP:
case MLX5_TT_IPV4_UDP:
return FS_IPV4_UDP;
case MLX5E_TT_IPV6_UDP:
case MLX5_TT_IPV6_UDP:
return FS_IPV6_UDP;
default:
return FS_UDP_NUM_TYPES;
Expand All @@ -75,7 +75,7 @@ static void fs_udp_set_dport_flow(struct mlx5_flow_spec *spec, enum fs_udp_type

struct mlx5_flow_handle *
mlx5e_fs_tt_redirect_udp_add_rule(struct mlx5e_priv *priv,
enum mlx5e_traffic_types ttc_type,
enum mlx5_traffic_types ttc_type,
u32 tir_num, u16 d_port)
{
enum fs_udp_type type = tt2fs_udp(ttc_type);
Expand Down Expand Up @@ -401,7 +401,7 @@ static int fs_any_add_default_rule(struct mlx5e_priv *priv)
fs_any = priv->fs.any;
fs_any_t = &fs_any->table;

dest = mlx5e_ttc_get_default_dest(priv, MLX5E_TT_ANY);
dest = mlx5e_ttc_get_default_dest(priv, MLX5_TT_ANY);
rule = mlx5_add_flow_rules(fs_any_t->t, NULL, &flow_act, &dest, 1);
if (IS_ERR(rule)) {
err = PTR_ERR(rule);
Expand Down Expand Up @@ -514,11 +514,11 @@ static int fs_any_disable(struct mlx5e_priv *priv)
int err;

/* Modify ttc rules destination to point back to the indir TIRs */
err = mlx5e_ttc_fwd_default_dest(priv, MLX5E_TT_ANY);
err = mlx5e_ttc_fwd_default_dest(priv, MLX5_TT_ANY);
if (err) {
netdev_err(priv->netdev,
"%s: modify ttc[%d] default destination failed, err(%d)\n",
__func__, MLX5E_TT_ANY, err);
__func__, MLX5_TT_ANY, err);
return err;
}
return 0;
Expand All @@ -533,11 +533,11 @@ static int fs_any_enable(struct mlx5e_priv *priv)
dest.ft = priv->fs.any->table.t;

/* Modify ttc rules destination to point on the accel_fs FTs */
err = mlx5e_ttc_fwd_dest(priv, MLX5E_TT_ANY, &dest);
err = mlx5e_ttc_fwd_dest(priv, MLX5_TT_ANY, &dest);
if (err) {
netdev_err(priv->netdev,
"%s: modify ttc[%d] destination to accel failed, err(%d)\n",
__func__, MLX5E_TT_ANY, err);
__func__, MLX5_TT_ANY, err);
return err;
}
return 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ void mlx5e_fs_tt_redirect_del_rule(struct mlx5_flow_handle *rule);
/* UDP traffic type redirect */
struct mlx5_flow_handle *
mlx5e_fs_tt_redirect_udp_add_rule(struct mlx5e_priv *priv,
enum mlx5e_traffic_types ttc_type,
enum mlx5_traffic_types ttc_type,
u32 tir_num, u16 d_port);
void mlx5e_fs_tt_redirect_udp_destroy(struct mlx5e_priv *priv);
int mlx5e_fs_tt_redirect_udp_create(struct mlx5e_priv *priv);
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
Original file line number Diff line number Diff line change
Expand Up @@ -617,15 +617,15 @@ static int mlx5e_ptp_rx_set_fs(struct mlx5e_priv *priv)
if (err)
goto out_free;

rule = mlx5e_fs_tt_redirect_udp_add_rule(priv, MLX5E_TT_IPV4_UDP,
rule = mlx5e_fs_tt_redirect_udp_add_rule(priv, MLX5_TT_IPV4_UDP,
tirn, PTP_EV_PORT);
if (IS_ERR(rule)) {
err = PTR_ERR(rule);
goto out_destroy_fs_udp;
}
ptp_fs->udp_v4_rule = rule;

rule = mlx5e_fs_tt_redirect_udp_add_rule(priv, MLX5E_TT_IPV6_UDP,
rule = mlx5e_fs_tt_redirect_udp_add_rule(priv, MLX5_TT_IPV6_UDP,
tirn, PTP_EV_PORT);
if (IS_ERR(rule)) {
err = PTR_ERR(rule);
Expand Down
Loading

0 comments on commit d443c6f

Please sign in to comment.