mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
bonding: disallow change of MAC if fail_over_mac enabled
Currently, if fail_over_mac is set to active, then attempts to change the MAC of the bond itself silently fail. However, if fail_over_mac is set to follow, changes are permitted. Permitting the bond's MAC to change with fail_over_mac=follow will disrupt the follow functionality, which normally controls the assignment of MAC address to the bond and its slaves, and can cause multiple ports to be assigned the same MAC address. which will interfere with the functioning of the device (where the device here is a virtualization-aware card for s390, qeth). Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
303d1cbf61
commit
1b5acd2923
@ -3780,11 +3780,10 @@ static int bond_set_mac_address(struct net_device *bond_dev, void *addr)
|
||||
pr_debug("bond=%p, name=%s\n",
|
||||
bond, bond_dev ? bond_dev->name : "None");
|
||||
|
||||
/*
|
||||
* If fail_over_mac is set to active, do nothing and return
|
||||
* success. Returning an error causes ifenslave to fail.
|
||||
/* If fail_over_mac is enabled, do nothing and return success.
|
||||
* Returning an error causes ifenslave to fail.
|
||||
*/
|
||||
if (bond->params.fail_over_mac == BOND_FOM_ACTIVE)
|
||||
if (bond->params.fail_over_mac)
|
||||
return 0;
|
||||
|
||||
if (!is_valid_ether_addr(sa->sa_data))
|
||||
|
Loading…
Reference in New Issue
Block a user