net/mlx5: fix missing shared RSS hash types
authorXiaoyu Min <jackmin@nvidia.com>
Fri, 26 Mar 2021 05:20:21 +0000 (13:20 +0800)
committerRaslan Darawsheh <rasland@nvidia.com>
Wed, 7 Apr 2021 07:43:30 +0000 (09:43 +0200)
commit212d17b6a65063f3a6d176c539158847d5aee7d5
tree8189287466dda7f76212290371ed4e1775e4b586
parentb27bbe81579202409de8bb5ca307f9e10d5bb9e2
net/mlx5: fix missing shared RSS hash types

Shared RSS action create all supported RSS hash combination
in advance and lookup the right hash TIR when flow is actually
applied by comparing hash field value.

Unfortunately some hash combination is missed, for example,
UDP/TCP dest port only, L3-src-only, etc.

This patch add the missing hash combination.

In order to reduce the usage of pre-created TIRs and because
for one L3+L4 combination only one IBV hash type is possible,
for example, either IBV_RX_HASH_SRC_PORT_UDP or IBV_RX_HASH_DST_PORT_UDP
or both of them could be set so they can share same slot in
mlx5_rss_hash_fields, means only one TIR will be created.

Fixes: d2046c09aa64 ("net/mlx5: support shared action for RSS")
Cc: stable@dpdk.org
Signed-off-by: Xiaoyu Min <jackmin@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/net/mlx5/mlx5_flow.h
drivers/net/mlx5/mlx5_flow_dv.c