There seems to a few issues with respect to adding/removing bond members live (i.e. during commit, as opposed to at boot time):
- Adding individual bond members beyond the first two does not result in the interfaces being slaved to the bond until a reboot
- Adding/Removing bond members does not respect the interface's disabled state, bringing interfaces online
After a reboot the interface states correctly match the running/effective config, but after a commit interface states don't match the config if one of the above criteria is hit. Hitting the first case is particularly annoying as the only way to get bond members to be enslaved on commit would be to remove all bond members, commit, then add all the members back, or rebooting.
Changes have been tested against equuleus (vyos-1x commit e8eed64ae) and current (vyos-1.4-rolling-202208291850-amd64.iso) on QEMU/KVM. Additionally tested against equuleus 1.3.1 on bare-metal.