X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmlx5%2Fmlx5_ethdev.c;h=7631f644b24ada506371f8dd3d96289e11bd916b;hb=c4c2bc7e2e49ffe1169b22b537c495354e2c71ea;hp=cefb45064eeae56765c913e721151475b4ee2eda;hpb=83c2047c5fe82fb25674c3053d4871838e7455cb;p=dpdk.git diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index cefb45064e..7631f644b2 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -43,7 +43,7 @@ mlx5_ifindex(const struct rte_eth_dev *dev) MLX5_ASSERT(priv); MLX5_ASSERT(priv->if_index); - ifindex = priv->if_index; + ifindex = priv->bond_ifindex > 0 ? priv->bond_ifindex : priv->if_index; if (!ifindex) rte_errno = ENXIO; return ifindex; @@ -569,12 +569,12 @@ mlx5_dev_to_eswitch_info(struct rte_eth_dev *dev) * 0 on success, a negative errno value otherwise and rte_errno is set. */ int -mlx5_hairpin_cap_get(struct rte_eth_dev *dev, - struct rte_eth_hairpin_cap *cap) +mlx5_hairpin_cap_get(struct rte_eth_dev *dev, struct rte_eth_hairpin_cap *cap) { struct mlx5_priv *priv = dev->data->dev_private; + struct mlx5_dev_config *config = &priv->config; - if (priv->sh->devx == 0) { + if (!priv->sh->devx || !config->dest_tir || !config->dv_flow_en) { rte_errno = ENOTSUP; return -rte_errno; }