Very interesting.
Looking under the hood, it's actually handled by the /etc/sysconfig/network-scripts/ifup-eth script, which writes the values to the pseudo-files under /sys/class/net/bondX/bonding/, so there you go, another way to change that dinamically without having to restart the interface. Would you be kind to see if you can change the primary "on-the-fly" using this method?
Thanks, Filipe
Yes, indeed. I have successfully changed both the primary interface and the miimon value **while the interface is up** by directly writing to the /sys/class/net/bondX/bonding/{Key} files. Changing the bonding mode is not allowed while the interface is up (probably a good thing).
This is a great improvement over previous incarnations of Red Hat bonding support. I have even successfully configured two bonds on the same machine using different bonding modes for each. VERY useful!
Sam