linux/drivers/net/bonding
Peter Pan(潘卫平) ba3211ccd0 bonding:reset backup and inactive flag of slave
Eduard Sinelnikov (eduard.sinelnikov@gmail.com) found that if we change
bonding mode from active backup to round robin, some slaves are still keeping
"backup", and won't transmit packets.

As Jay Vosburgh(fubar@us.ibm.com) pointed out that we can work around that by
removing the bond_is_active_slave() check, because the "backup" flag is only
meaningful for active backup mode.

But if we just simply ignore the bond_is_active_slave() check,
the transmission will work fine, but we can't maintain the correct value of
"backup" flag for each slaves, though it is meaningless for other mode than
active backup.

I'd like to reset "backup" and "inactive" flag in bond_open,
thus we can keep the correct value of them.

As for bond_is_active_slave(), I'd like to prepare another patch to handle it.

V2:
Use C style comment.
Move read_lock(&bond->curr_slave_lock).
Replace restore with reset, for active backup mode, it means "restore",
but for other modes, it means "reset".

Signed-off-by: Weiping Pan <panweiping3@gmail.com>
Reviewed-by: WANG Cong <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-08-17 20:12:06 -07:00
..
Makefile bonding, ipv4, ipv6, vlan: Handle NETDEV_BONDING_FAILOVER like NETDEV_NOTIFY_PEERS 2011-04-17 23:36:03 -07:00
bond_3ad.c bonding: add min links parameter to 802.3ad 2011-06-23 02:12:55 -07:00
bond_3ad.h bonding: delete unused ad_timer 2011-06-09 15:02:19 -07:00
bond_alb.c bonding: do vlan cleanup 2011-07-21 13:47:58 -07:00
bond_alb.h bonding: move processing of recv handlers into handle_frame() 2011-04-25 12:00:30 -07:00
bond_debugfs.c bonding: add the debugfs interface to see RLB hash table 2010-12-16 13:16:05 -08:00
bond_ipv6.c bonding: do vlan cleanup 2011-07-21 13:47:58 -07:00
bond_main.c bonding:reset backup and inactive flag of slave 2011-08-17 20:12:06 -07:00
bond_procfs.c bonding: add min links parameter to 802.3ad 2011-06-23 02:12:55 -07:00
bond_sysfs.c bonding: fix string comparison errors 2011-07-27 22:39:30 -07:00
bonding.h bonding: do vlan cleanup 2011-07-21 13:47:58 -07:00