Probably not a bug. 1 Create a bond with 3 interfaces (connect them to switch). 2 Change bond's mode to active/backup. 3 Physicaly remove two cables form interfaces ( not the active interface ). 4 Put the cables back 5 Change the mode to round robin. 6 *********** use SIOCBONDCHANGEACTIVE to set the other inactive slave back to active 7 Try to ping some other computer. I notice there is a SIOCBONDCHANGEACTIVE, maybe it solve your problem. Please let me know the result after you do the test. thanks bill At 2011-08-01 17:15:44,"Eduard Sinelnikov" <eduard.sinelnikov@gmail.com> wrote:
Hi Bill,
I guess you are right, but what happens if I DO want to stay in active/backup for a while and switch to round robin later? Is it a bug?
Thanks, Eduard.
2011/8/1 bill <bill_carson@126.com>:
Hi, Eduard
Please put the cables back after change the mode to round robin, and then ping the remote PC
The scenario is: 1 Create a bond with 3 interfaces (connect them to switch). 2 Change bond's mode to active/backup. 3 Physicly remove two cables form interfaces ( not the active interface ). 4 Change the mode to round robin. 5 Put the cables back 6 Try to ping some other computer.
bill
At 2011-07-31 23:15:22,"Eduard Sinelnikov" <eduard.sinelnikov@gmail.com> wrote:
Hi,
The scenario is: * Create a bond with 3 interfaces (connect them to switch). * Change bond's mode to active/backup. * Physicly remove two cables form interfaces ( not the active interface ). * Put the cables back * Change the mode to round robin. * Try to ping some other computer.
Now only one interface is pinging to remote computer. Without removing the cables all three interface will ping to remote computer periodicly.
I did some debuging,in the code, and I see that in round robin all the interface is in active (and all of them transmiting periodically). After removing and puting back the cables(in active/backup mode). the interfaces change their status to backup. After this only one interface is transmiting ( the one which was the active).
Thanks in advance, Eduard
2011/7/31 Peter Senna Tschudin <peter.senna@gmail.com>:
Hi Eduard,
On Sun, Jul 31, 2011 at 4:59 AM, Eduard Sinelnikov <eduard.sinelnikov@gmail.com> wrote:
Hi,
In the kernel 2.6.39.3 ( /drivers/net/bond/bond_main.c).
I followed the code you mentioned. The file is actually at:
./drivers/net/bonding/bond_main.c
In the function ‘bond_xmit_roundrobin’ The code check if the bond is active via ‘bond_is_active_slave(slave)’ Function call. Which actually checks if the slave is backup or active What is the meaning of slave being backup in round robin mode? Correct me if I wrong but in round robin every slave should send a packet, regardless of being active or backup.
I'm not sure about this but my best guess is that even using all slaves to send packages, the slaves must be used one at a time, to send packages sequentially. And one slave can be deactivated when a problem is detected. I think that this two scenarios that justify the check.
Thank you, Eduard
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Peter
-- Peter Senna Tschudin peter.senna@gmail.com gpg id: 48274C36
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies