IB/mlx5: Fix GRE flow specification
authorMaor Gottlieb <maorg@mellanox.com>
Sun, 1 Jul 2018 12:50:17 +0000 (15:50 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 3 Jul 2018 21:46:07 +0000 (15:46 -0600)
Currently the driver sets the mask of the gre_protocol to 0xffff
without consideration in the user request.

Fix it by copy the mask from the verbs spec.

Fixes: da2f22ae7707 ("IB/mlx5: Add support for GRE flow specification")
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Reviewed-by: Ariel Levkovich <lariel@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx5/main.c

index e4460b9..0f3649a 100644 (file)
@@ -2685,7 +2685,7 @@ static int parse_flow_attr(struct mlx5_core_dev *mdev, u32 *match_c,
                         IPPROTO_GRE);
 
                MLX5_SET(fte_match_set_misc, misc_params_c, gre_protocol,
-                        0xffff);
+                        ntohs(ib_spec->gre.mask.protocol));
                MLX5_SET(fte_match_set_misc, misc_params_v, gre_protocol,
                         ntohs(ib_spec->gre.val.protocol));