mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 05:34:13 +08:00
net/mlx5e: Fix hairpin RSS table size
Set hairpin table size to the corret size, based on the groups that
would be created in it. Groups are laid out on the table such that a
group occupies a range of entries in the table. This implies that the
group ranges should have correspondence to the table they are laid upon.
The patch cited below made group 1's size to grow hence causing
overflow of group range laid on the table.
Fixes: a795d8db2a
("net/mlx5e: Support RSS for IP-in-IP and IPv6 tunneled packets")
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
4ce380ca47
commit
6412bb396a
@ -122,6 +122,22 @@ 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)
|
||||
|
||||
#ifdef CONFIG_MLX5_EN_RXNFC
|
||||
|
||||
struct mlx5e_ethtool_table {
|
||||
|
@ -904,22 +904,6 @@ del_rules:
|
||||
return err;
|
||||
}
|
||||
|
||||
#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)
|
||||
|
||||
static int mlx5e_create_ttc_table_groups(struct mlx5e_ttc_table *ttc,
|
||||
bool use_ipv)
|
||||
{
|
||||
|
@ -592,7 +592,7 @@ static void mlx5e_hairpin_set_ttc_params(struct mlx5e_hairpin *hp,
|
||||
for (tt = 0; tt < MLX5E_NUM_INDIR_TIRS; tt++)
|
||||
ttc_params->indir_tirn[tt] = hp->indir_tirn[tt];
|
||||
|
||||
ft_attr->max_fte = MLX5E_NUM_TT;
|
||||
ft_attr->max_fte = MLX5E_TTC_TABLE_SIZE;
|
||||
ft_attr->level = MLX5E_TC_TTC_FT_LEVEL;
|
||||
ft_attr->prio = MLX5E_TC_PRIO;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user