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>
return 0;
}
/* Reference counter is zero, we should initialize structures. */
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;
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;
if (!ns) {
DRV_LOG(ERR, "egress mlx5dv_dr_create_ns failed");
err = errno;
error:
/* Rollback the created objects. */
if (sh->rx_ns) {
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) {
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) {
sh->tx_ns = NULL;
}
if (sh->fdb_ns) {
if (sh->dv_refcnt && --sh->dv_refcnt)
return;
if (sh->rx_ns) {
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) {
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
sh->tx_ns = NULL;
}
#ifdef HAVE_MLX5DV_DR_ESWITCH