Bonding driver Issue: Dynamically changing mode (Active-Backup / Broadcast)
I am using a fairly old Linux kernel 2.6.23. I am trying to test if it is possible to change mode of a bond interface on the fly i.e. without removing its slaves or tearing down the bond interface.
Here are the steps that I am following -
1. Set up bond0. Do ifconfig bond0 up
2. echo 1 > mode ---> thus setting it to Active-Backup
3. echo +eth0 > slaves; echo +eth1 > slaves
This correctly sets up bond0 in Aactive-Backup mode. Now I join a multicast group. I can see the IGMP Joins only being sent on Active slave (eth0). So far so good.
To change the mode -
1. ifconfig bond0 down
2. echo 3 > mode ---> thus setting it to Broadcast
3. ifconfig bond0 up
If I delete the multicast program, I still see the IGMP Leave messages being sent on eth0 (previously active slave in Active-Backup mode). If I ping via bond0, still I see ARP packets going to eth0 alone.
Is it at all possible to change the mode dynamically? I have tested this behaviour in 2.6.23, 2.6.26 and 2.6.32. But the same result.