Skip to contentSkip to conversation

Patch "net/mlx4_core: Allow resetting VF admin mac to zero" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Oct 26, 2016

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

net/mlx4_core: Allow resetting VF admin mac to zero

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
net-mlx4_core-allow-resetting-vf-admin-mac-to-zero.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 6e5224224faa50ec4c8949dcefadf895e565f0d1 Mon Sep 17 00:00:00 2001

From: Jack Morgenstein <[email protected]>
Date: Wed, 2 Mar 2016 17:47:46 +0200
Subject: net/mlx4_core: Allow resetting VF admin mac to zero

From: Jack Morgenstein <[email protected]>

commit 6e5224224faa50ec4c8949dcefadf895e565f0d1 upstream.

The VF administrative mac addresses (stored in the PF driver) are initialized to zero when the PF driver starts up.

These addresses may be modified in the PF driver through ndo calls initiated by iproute2 or libvirt.

While we allow the PF/host to change the VF admin mac address from zero to a valid unicast mac, we do not allow restoring the VF admin mac to zero. We currently only allow changing this mac to a different unicast mac.

This leads to problems when libvirt scripts are used to deal with VF mac addresses, and libvirt attempts to revoke the mac so this host will not use it anymore.

Fix this by allowing resetting a VF administrative MAC back to zero.

Fixes 8f7ba3ca12f6 ('net/mlx4: Add set VF mac address support')
---
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/ethernet/mellanox/mlx4/en_netdev.c +1 -1
@@ -2282,7 +2282,7 @@ static int mlx4_en_set_vf_mac(struct net
 	struct mlx4_en_dev *mdev = en_priv->mdev;
 	u64 mac_u64 = mlx4_mac_to_u64(mac);
 
-	if (!is_valid_ether_addr(mac))
+	if (is_multicast_ether_addr(mac))
 		return -EINVAL;
 
 	return mlx4_set_vf_mac(mdev->dev, en_priv->port, queue, mac_u64);

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/net-mlx4_core-allow-resetting-vf-admin-mac-to-zero.patch