src/dpdk/drivers/net/mlx5/mlx5_mac.c
int
mlx5_mac_addr_set(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr)
{
	uint16_t port_id;
	struct mlx5_priv *priv = dev->data->dev_private;

	/*
	 * Configuring the VF instead of its representor,
	 * need to skip the special case of HPF on Bluefield.
	 */
	if (priv->representor && priv->representor_id >= 0) {
		DRV_LOG(DEBUG, "VF represented by port %u setting primary MAC address",
			dev->data->port_id);
		RTE_ETH_FOREACH_DEV_SIBLING(port_id, dev->data->port_id) {
			priv = rte_eth_devices[port_id].data->dev_private;
			if (priv->master == 1) {
				priv = dev->data->dev_private;
				return mlx5_os_vf_mac_addr_modify
				       (priv,
					mlx5_ifindex(&rte_eth_devices[port_id]),
					mac_addr, priv->representor_id);
			}
		}
		rte_errno = -ENOTSUP;
		return rte_errno;
	}

	DRV_LOG(DEBUG, "port %u setting primary MAC address",
		dev->data->port_id);
	return mlx5_mac_addr_add(dev, mac_addr, 0, 0);
}
/**
 * DPDK callback to set primary MAC address.
 *
 * @param dev
 *   Pointer to Ethernet device structure.
 * @param mac_addr
 *   MAC address to register.
 *
 * @return
 *   0 on success, a negative errno value otherwise and rte_errno is set.
 */
DPDK callback to set primary MAC address.
@param dev
Pointer to Ethernet device structure.
@param mac_addr
MAC address to register.

@return
0 on success, a negative errno value otherwise and rte_errno is set.
DPDK callback to set primary MAC address . @param dev Pointer to Ethernet device structure . @param mac_addr MAC address to register . @return 0 on success a negative errno value otherwise and rte_errno is set .
int
mlx5_mac_addr_set(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr)
{
	uint16_t port_id;
	struct mlx5_priv *priv = dev->data->dev_private;
	if (priv->representor && priv->representor_id >= 0) {
		DRV_LOG(DEBUG, "VF represented by port %u setting primary MAC address",
			dev->data->port_id);
		RTE_ETH_FOREACH_DEV_SIBLING(port_id, dev->data->port_id) {
			priv = rte_eth_devices[port_id].data->dev_private;
			if (priv->master == 1) {
				priv = dev->data->dev_private;
				return mlx5_os_vf_mac_addr_modify
				       (priv,
					mlx5_ifindex(&rte_eth_devices[port_id]),
					mac_addr, priv->representor_id);
			}
		}
		rte_errno = -ENOTSUP;
		return rte_errno;
	}
	DRV_LOG(DEBUG, "port %u setting primary MAC address",
		dev->data->port_id);
	return mlx5_mac_addr_add(dev, mac_addr, 0, 0);
}
int mlx5_mac_addr_set ( struct rte_eth_dev * dev , struct rte_ether_addr * mac_addr ) { uint16_t port_id ; struct mlx5_priv * priv = dev -> data -> dev_private ; if ( priv -> representor && priv -> representor_id >= 0 ) { DRV_LOG ( DEBUG , " " , dev -> data -> port_id ) ; RTE_ETH_FOREACH_DEV_SIBLING ( port_id , dev -> data -> port_id ) { priv = rte_eth_devices [ port_id ] . data -> dev_private ; if ( priv -> master == 1 ) { priv = dev -> data -> dev_private ; return mlx5_os_vf_mac_addr_modify ( priv , mlx5_ifindex ( & rte_eth_devices [ port_id ] ) , mac_addr , priv -> representor_id ) ; } } rte_errno = - ENOTSUP ; return rte_errno ; } DRV_LOG ( DEBUG , " " , dev -> data -> port_id ) ; return mlx5_mac_addr_add ( dev , mac_addr , 0 , 0 ) ; }
DPDK callback to set primary MAC address.
DPDK callback to set primary MAC address .
/*
	 * Configuring the VF instead of its representor,
	 * need to skip the special case of HPF on Bluefield.
	 */