aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bond_alb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bonding/bond_alb.c')
-rw-r--r--drivers/net/bonding/bond_alb.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index efacb0e98ed7..03e0bcade234 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -228,7 +228,7 @@ static struct slave *tlb_get_least_loaded_slave(struct bonding *bond)
228 228
229 /* Find the slave with the largest gap */ 229 /* Find the slave with the largest gap */
230 bond_for_each_slave_rcu(bond, slave, iter) { 230 bond_for_each_slave_rcu(bond, slave, iter) {
231 if (SLAVE_IS_OK(slave)) { 231 if (bond_slave_can_tx(slave)) {
232 long long gap = compute_gap(slave); 232 long long gap = compute_gap(slave);
233 233
234 if (max_gap < gap) { 234 if (max_gap < gap) {
@@ -383,7 +383,7 @@ static struct slave *rlb_next_rx_slave(struct bonding *bond)
383 bool found = false; 383 bool found = false;
384 384
385 bond_for_each_slave(bond, slave, iter) { 385 bond_for_each_slave(bond, slave, iter) {
386 if (!SLAVE_IS_OK(slave)) 386 if (!bond_slave_can_tx(slave))
387 continue; 387 continue;
388 if (!found) { 388 if (!found) {
389 if (!before || before->speed < slave->speed) 389 if (!before || before->speed < slave->speed)
@@ -416,7 +416,7 @@ static struct slave *__rlb_next_rx_slave(struct bonding *bond)
416 bool found = false; 416 bool found = false;
417 417
418 bond_for_each_slave_rcu(bond, slave, iter) { 418 bond_for_each_slave_rcu(bond, slave, iter) {
419 if (!SLAVE_IS_OK(slave)) 419 if (!bond_slave_can_tx(slave))
420 continue; 420 continue;
421 if (!found) { 421 if (!found) {
422 if (!before || before->speed < slave->speed) 422 if (!before || before->speed < slave->speed)
@@ -1100,13 +1100,13 @@ static void alb_swap_mac_addr(struct slave *slave1, struct slave *slave2)
1100static void alb_fasten_mac_swap(struct bonding *bond, struct slave *slave1, 1100static void alb_fasten_mac_swap(struct bonding *bond, struct slave *slave1,
1101 struct slave *slave2) 1101 struct slave *slave2)
1102{ 1102{
1103 int slaves_state_differ = (SLAVE_IS_OK(slave1) != SLAVE_IS_OK(slave2)); 1103 int slaves_state_differ = (bond_slave_can_tx(slave1) != bond_slave_can_tx(slave2));
1104 struct slave *disabled_slave = NULL; 1104 struct slave *disabled_slave = NULL;
1105 1105
1106 ASSERT_RTNL(); 1106 ASSERT_RTNL();
1107 1107
1108 /* fasten the change in the switch */ 1108 /* fasten the change in the switch */
1109 if (SLAVE_IS_OK(slave1)) { 1109 if (bond_slave_can_tx(slave1)) {
1110 alb_send_learning_packets(slave1, slave1->dev->dev_addr); 1110 alb_send_learning_packets(slave1, slave1->dev->dev_addr);
1111 if (bond->alb_info.rlb_enabled) { 1111 if (bond->alb_info.rlb_enabled) {
1112 /* inform the clients that the mac address 1112 /* inform the clients that the mac address
@@ -1118,7 +1118,7 @@ static void alb_fasten_mac_swap(struct bonding *bond, struct slave *slave1,
1118 disabled_slave = slave1; 1118 disabled_slave = slave1;
1119 } 1119 }
1120 1120
1121 if (SLAVE_IS_OK(slave2)) { 1121 if (bond_slave_can_tx(slave2)) {
1122 alb_send_learning_packets(slave2, slave2->dev->dev_addr); 1122 alb_send_learning_packets(slave2, slave2->dev->dev_addr);
1123 if (bond->alb_info.rlb_enabled) { 1123 if (bond->alb_info.rlb_enabled) {
1124 /* inform the clients that the mac address 1124 /* inform the clients that the mac address
@@ -1360,7 +1360,7 @@ static int bond_do_alb_xmit(struct sk_buff *skb, struct bonding *bond,
1360 bond_info->unbalanced_load += skb->len; 1360 bond_info->unbalanced_load += skb->len;
1361 } 1361 }
1362 1362
1363 if (tx_slave && SLAVE_IS_OK(tx_slave)) { 1363 if (tx_slave && bond_slave_can_tx(tx_slave)) {
1364 if (tx_slave != rcu_dereference(bond->curr_active_slave)) { 1364 if (tx_slave != rcu_dereference(bond->curr_active_slave)) {
1365 ether_addr_copy(eth_data->h_source, 1365 ether_addr_copy(eth_data->h_source,
1366 tx_slave->dev->dev_addr); 1366 tx_slave->dev->dev_addr);