net/mlx5e: RSS, Block XOR hash with over 128 channels
authorCarolina Jubran <cjubran@nvidia.com>
Tue, 9 Apr 2024 19:08:18 +0000 (22:08 +0300)
committerJakub Kicinski <kuba@kernel.org>
Thu, 11 Apr 2024 02:48:14 +0000 (19:48 -0700)
commit49e6c9387051716169ff6a6c5ddd4d9f358db2e9
tree154b8defc17641d834f1126fca55fa487ced519c
parent86b0ca5b118d3a0bae5e5645a13e66f8a4f6c525
net/mlx5e: RSS, Block XOR hash with over 128 channels

When supporting more than 128 channels, the RQT size is
calculated by multiplying the number of channels by 2
and rounding up to the nearest power of 2.

The index of the RQT is derived from the RSS hash
calculations. If XOR8 is used as the RSS hash function,
there are only 256 possible hash results, and therefore,
only 256 indexes can be reached in the RQT.

Block setting the RSS hash function to XOR when the number
of channels exceeds 128.

Fixes: 74a8dadac17e ("net/mlx5e: Preparations for supporting larger number of channels")
Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://lore.kernel.org/r/20240409190820.227554-11-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en/rqt.c
drivers/net/ethernet/mellanox/mlx5/core/en/rqt.h
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c