bonding: set fail_over_mac to none if new mode is not active-backup
Subsystems (3)
PATCH 3/5 bonding: set fail_over_mac to none if new mode is not active-backup
The fail_over_mac only affects active backup mode, if it is set to active or follow, the bonding could not set all slaves to the same MAC address for other modes, just like RR, XOR, 802.3ad or BROADCAST, so when changing bond to new mode and the new mode is not active-backup, we should check the fail_over_mac and set it to 0.
Signed-off-by Ding Tianhong <[email protected]>
--- drivers/net/bonding/bond_options.c | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/net/bonding/bond_options.c +6 -0
@@ -50,6 +50,12 @@ int bond_option_mode_set(struct bonding *bond, int mode) bond->dev->name, bond->params.miimon); } +if (mode !=BOND_MODE_ACTIVEBACKUP && bond->params.fail_over_mac) { +pr_info ("%s: fail_over_mac only affects active-backup mode, so set it to 0\n" , + bond->dev->name); + bond->params.fail_over_mac =BOND_FOM_NONE ; + } +/* don't cache arp_validate between modes */ bond->params.arp_validate =BOND_ARP_VALIDATE_NONE ; bond->params.mode = mode;
Signature · 1 line
1.8.0