net/mlx5: fix Direct Rules build

All the library calls must be called via the glue layer.

Fixes: b2177648b8de ("net/mlx5: add Direct Rules flow data alloc/free routines")
Fixes: 79e35d0d5979 ("net/mlx5: share Direct Rules/Verbs flow related structures")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
This commit is contained in:
Yongseok Koh 2019-04-19 17:02:43 -07:00 committed by Ferruh Yigit
parent 2ed187ba07
commit fc0aebe187

View File

@ -332,14 +332,16 @@ mlx5_alloc_shared_dr(struct mlx5_priv *priv)
return 0;
}
/* Reference counter is zero, we should initialize structures. */
ns = mlx5dv_dr_create_ns(sh->ctx, MLX5DV_DR_NS_DOMAIN_INGRESS_BYPASS);
ns = mlx5_glue->dr_create_ns(sh->ctx,
MLX5DV_DR_NS_DOMAIN_INGRESS_BYPASS);
if (!ns) {
DRV_LOG(ERR, "ingress mlx5dv_dr_create_ns failed");
err = errno;
goto error;
}
sh->rx_ns = ns;
ns = mlx5dv_dr_create_ns(sh->ctx, MLX5DV_DR_NS_DOMAIN_EGRESS_BYPASS);
ns = mlx5_glue->dr_create_ns(sh->ctx,
MLX5DV_DR_NS_DOMAIN_EGRESS_BYPASS);
if (!ns) {
DRV_LOG(ERR, "egress mlx5dv_dr_create_ns failed");
err = errno;
@ -367,11 +369,11 @@ mlx5_alloc_shared_dr(struct mlx5_priv *priv)
error:
/* Rollback the created objects. */
if (sh->rx_ns) {
mlx5dv_dr_destroy_ns(sh->rx_ns);
mlx5_glue->dr_destroy_ns(sh->rx_ns);
sh->rx_ns = NULL;
}
if (sh->tx_ns) {
mlx5dv_dr_destroy_ns(sh->tx_ns);
mlx5_glue->dr_destroy_ns(sh->tx_ns);
sh->tx_ns = NULL;
}
if (sh->fdb_ns) {
@ -410,11 +412,11 @@ mlx5_free_shared_dr(struct mlx5_priv *priv)
if (sh->dv_refcnt && --sh->dv_refcnt)
return;
if (sh->rx_ns) {
mlx5dv_dr_destroy_ns(sh->rx_ns);
mlx5_glue->dr_destroy_ns(sh->rx_ns);
sh->rx_ns = NULL;
}
if (sh->tx_ns) {
mlx5dv_dr_destroy_ns(sh->tx_ns);
mlx5_glue->dr_destroy_ns(sh->tx_ns);
sh->tx_ns = NULL;
}
#ifdef HAVE_MLX5DV_DR_ESWITCH