I recently set up an Ubuntu 16.04 system with a bonded ethernet configuration. Previously, it appears that to get this to work the bonding module needed to be included in
/etc/modules.d. This is documented here:
However, on the Ubuntu 16.04 system I just set up, I didn't doing anything to force the loading of the bonding kernel module (e.g. no entry in
/etc/modules) and yet the bonding kernel module is loaded and the bonded port is working as advertised.
I've been trying to figure out what is triggering this module load and can't find it. As far as I can tell, Canonical did not get it together to switch to systemd-networkd for the 16.04 release, so there is no systemd magic at work as far as I can tell.. Also no
udev rules are defined.
Now the whole thing is really bothering me (particularly since not explicitly loading the module in 14.04 would not have worked), so asking on StackExchange.