Skip to contentSkip to conversation

bonding: set fail_over_mac to none if new mode is not active-backup

PATCH In review Ding Tianhong 1 participant 1 message Jan 21, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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.

---
 drivers/net/bonding/bond_options.c | 6 ++++++
 1 file changed, 6 insertions(+)
drivers/net/bonding/bond_options.c +6 -0
index 0996ab4..74d12ba 100644
@@ -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