|
@@ -837,9 +837,10 @@ int mlx4_en_config_rss_steer(struct mlx4_en_priv *priv)
|
|
|
struct mlx4_en_dev *mdev = priv->mdev;
|
|
|
struct mlx4_en_rss_map *rss_map = &priv->rss_map;
|
|
|
struct mlx4_qp_context context;
|
|
|
- struct mlx4_en_rss_context *rss_context;
|
|
|
+ struct mlx4_rss_context *rss_context;
|
|
|
void *ptr;
|
|
|
- u8 rss_mask = 0x3f;
|
|
|
+ u8 rss_mask = (MLX4_RSS_IPV4 | MLX4_RSS_TCP_IPV4 | MLX4_RSS_IPV6 |
|
|
|
+ MLX4_RSS_TCP_IPV6 | MLX4_RSS_UDP_IPV4 | MLX4_RSS_UDP_IPV6);
|
|
|
int i, qpn;
|
|
|
int err = 0;
|
|
|
int good_qps = 0;
|
|
@@ -877,13 +878,14 @@ int mlx4_en_config_rss_steer(struct mlx4_en_priv *priv)
|
|
|
mlx4_en_fill_qp_context(priv, 0, 0, 0, 1, priv->base_qpn,
|
|
|
priv->rx_ring[0].cqn, &context);
|
|
|
|
|
|
- ptr = ((void *) &context) + 0x3c;
|
|
|
+ ptr = ((void *) &context) + offsetof(struct mlx4_qp_context, pri_path)
|
|
|
+ + MLX4_RSS_OFFSET_IN_QPC_PRI_PATH;
|
|
|
rss_context = ptr;
|
|
|
rss_context->base_qpn = cpu_to_be32(ilog2(priv->rx_ring_num) << 24 |
|
|
|
(rss_map->base_qpn));
|
|
|
rss_context->default_qpn = cpu_to_be32(rss_map->base_qpn);
|
|
|
rss_context->flags = rss_mask;
|
|
|
- rss_context->hash_fn = 1;
|
|
|
+ rss_context->hash_fn = MLX4_RSS_HASH_TOP;
|
|
|
for (i = 0; i < 10; i++)
|
|
|
rss_context->rss_key[i] = rsskey[i];
|
|
|
|