net/mlx5: fix GENEVE protocol type translation
authorGregory Etelson <getelson@nvidia.com>
Sun, 14 Nov 2021 15:36:15 +0000 (17:36 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Tue, 16 Nov 2021 09:22:55 +0000 (10:22 +0100)
commit690391dd0e8bc7a8d02a3aba844ffc3dffe7aecd
tree29eba6d78d83743a628a53b169c009c12670b7f4
parenta21d616b99ffc5810a4b5333e5efdf1ddff21405
net/mlx5: fix GENEVE protocol type translation

When application creates several flows to match on GENEVE tunnel
without explicitly specifying GENEVE protocol type value in
flow rules, PMD will translate that to zero mask.
RDMA-CORE cannot distinguish between different inner flow types and
produces identical matchers for each zero mask.

The patch extracts inner header type from flow rule and forces it
in GENEVE protocol type, if application did not specify
any without explicitly specifying GENEVE protocol type value in
flow rules, protocol type value.

Fixes: e59a5dbcfd07 ("net/mlx5: add flow match on GENEVE item")
Cc: stable@dpdk.org
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_flow_dv.c