net/mlx5e: Assign random MAC address if needed
Under SRIOV there might be a case where VFs are loaded without pre-assigned MAC address. In this case, the VF will randomize its own MAC. This will address the case of administrator not assigning MAC to the VF through the PF OS APIs and keep udev happy. Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9bd0a185c2
commit
108805fc19
|
@ -2103,6 +2103,11 @@ static void mlx5e_set_netdev_dev_addr(struct net_device *netdev)
|
|||
struct mlx5e_priv *priv = netdev_priv(netdev);
|
||||
|
||||
mlx5_query_nic_vport_mac_address(priv->mdev, 0, netdev->dev_addr);
|
||||
if (is_zero_ether_addr(netdev->dev_addr) &&
|
||||
!MLX5_CAP_GEN(priv->mdev, vport_group_manager)) {
|
||||
eth_hw_addr_random(netdev);
|
||||
mlx5_core_info(priv->mdev, "Assigned random MAC address %pM\n", netdev->dev_addr);
|
||||
}
|
||||
}
|
||||
|
||||
static void mlx5e_build_netdev(struct net_device *netdev)
|
||||
|
|
|
@ -65,6 +65,9 @@ do { \
|
|||
(__dev)->priv.name, __func__, __LINE__, current->pid, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
#define mlx5_core_info(__dev, format, ...) \
|
||||
dev_info(&(__dev)->pdev->dev, format, ##__VA_ARGS__)
|
||||
|
||||
enum {
|
||||
MLX5_CMD_DATA, /* print command payload only */
|
||||
MLX5_CMD_TIME, /* print command execution time */
|
||||
|
|
Loading…
Reference in New Issue