summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
diff options
context:
space:
mode:
authorSaeed Mahameed2015-12-10 16:12:38 +0100
committerDavid S. Miller2015-12-12 06:15:23 +0100
commit108805fc196e001053e9e7c76f259977804dc0d6 (patch)
tree0be46cb310679c2cb156a1c94a85b646685698d1 /drivers/net/ethernet/mellanox/mlx5/core/en_main.c
parentnet/mlx5: Fix query E-Switch capabilities (diff)
downloadkernel-qcow2-linux-108805fc196e001053e9e7c76f259977804dc0d6.tar.gz
kernel-qcow2-linux-108805fc196e001053e9e7c76f259977804dc0d6.tar.xz
kernel-qcow2-linux-108805fc196e001053e9e7c76f259977804dc0d6.zip
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>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_main.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index d67058afe87e..a20be56df553 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -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)