Skip to content

Commit

Permalink
mlx5: DR, Enable SW Steering RX/TX domains
Browse files Browse the repository at this point in the history
Till the use of force-loopback QP we didn't support RX/TX DR-steering
due to a missing recovery mechanism in case the GID was changed by the
user.
Now when using loopback QP there is no need to worry about gid staff and
we able to support RX/TX steering like it's done with FDB steering.

Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
Reviewed-by: Alex Vesker <valex@mellanox.com>
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
  • Loading branch information
Erez Shitrit authored and yishaih committed Jul 9, 2020
1 parent b86cd5c commit 244015c
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions providers/mlx5/dr_domain.c
Expand Up @@ -188,17 +188,20 @@ static int dr_domain_caps_init(struct ibv_context *ctx,
if (ret)
return ret;

/* Non FDB type is supported only over root table */
if (dmn->type != MLX5DV_DR_DOMAIN_TYPE_FDB)
return 0;

ret = dr_devx_query_device(ctx, &dmn->info.caps);
if (ret)
/* Ignore devx query failure to allow steering on root level
* tables in case devx is not supported over mlx5dv_dr API
*/
return 0;

/* Non FDB type is supported over root table or when we can enable
* force-loopback.
*/
if ((dmn->type != MLX5DV_DR_DOMAIN_TYPE_FDB) &&
!dmn->info.caps.roce_caps.fl_rc_qp_when_roce_enabled)
return 0;

ret = dr_domain_query_fdb_caps(ctx, dmn);
if (ret)
return ret;
Expand Down

0 comments on commit 244015c

Please sign in to comment.