We usually use interfaces or sysfs or ifenslave in linux (Ubuntu) to configure bonding interfaces for aggregating two or more NIC cards. Then, there is netlink library that allows us to create and delete bonds and add and remove interfaces from it. But what it currently doesn't offer is changing the other properties of the bond dynamically. We usually use interfaces or sysfs or ifenslave