src/dpdk/drivers/net/mlx5/mlx5_trigger.c
int
mlx5_hairpin_unbind(struct rte_eth_dev *dev, uint16_t rx_port)
{
	int ret = 0;
	uint16_t p;
	struct mlx5_priv *priv = dev->data->dev_private;

	if (rx_port == RTE_MAX_ETHPORTS)
		MLX5_ETH_FOREACH_DEV(p, priv->pci_dev) {
			ret = mlx5_hairpin_unbind_single_port(dev, p);
			if (ret != 0)
				return ret;
		}
	else
		ret = mlx5_hairpin_unbind_single_port(dev, rx_port);
	return ret;
}
/*
 * Unbind hairpin ports, Rx could be all ports when using RTE_MAX_ETHPORTS.
 * @see mlx5_hairpin_unbind_single_port()
 */
Unbind hairpin ports, Rx could be all ports when using RTE_MAX_ETHPORTS.
Unbind hairpin ports Rx could be all ports when using RTE_MAX_ETHPORTS .
int
mlx5_hairpin_unbind(struct rte_eth_dev *dev, uint16_t rx_port)
{
	int ret = 0;
	uint16_t p;
	struct mlx5_priv *priv = dev->data->dev_private;
	if (rx_port == RTE_MAX_ETHPORTS)
		MLX5_ETH_FOREACH_DEV(p, priv->pci_dev) {
			ret = mlx5_hairpin_unbind_single_port(dev, p);
			if (ret != 0)
				return ret;
		}
	else
		ret = mlx5_hairpin_unbind_single_port(dev, rx_port);
	return ret;
}
int mlx5_hairpin_unbind ( struct rte_eth_dev * dev , uint16_t rx_port ) { int ret = 0 ; uint16_t p ; struct mlx5_priv * priv = dev -> data -> dev_private ; if ( rx_port == RTE_MAX_ETHPORTS ) MLX5_ETH_FOREACH_DEV ( p , priv -> pci_dev ) { ret = mlx5_hairpin_unbind_single_port ( dev , p ) ; if ( ret != 0 ) return ret ; } else ret = mlx5_hairpin_unbind_single_port ( dev , rx_port ) ; return ret ; }
Unbind hairpin ports, Rx could be all ports when using RTE_MAX_ETHPORTS.
Unbind hairpin ports Rx could be all ports when using RTE_MAX_ETHPORTS .