systemd System and Service Manager
+CHANGES WITH 235:
+
+ * modprobe.d drop-in is now shipped by default that sets bonding module
+ option max_bonds=0. This overrides the kernel default, to avoid
+ conflicts and ambigiuty as to whether or not bond0 should be managed
+ by networkd or not. This resolves multiple bugs of bond0 properties
+ not being applied, when bond0 is configured with
+ networkd. Distributors may choose to not package this, however in
+ that case users will be prevented from correctly managing bond0
+ interface using networkd.
+
CHANGES WITH 234:
* Meson is now supported as build system in addition to Automake. It is
It's a good idea to disable the implicit creation of networking bonding
devices by the kernel networking bonding module, so that the
automatically created "bond0" interface doesn't conflict with any such
- device created by systemd-networkd (or other tools). Please make sure
- that the kernel module bonding.ko is shipped with max_bonds=0 set by
- default. Ideally there would be a kernel compile-time option for this,
- but there currently isn't. The next best thing is to make this change
- through a modprobe.d drop-in.
+ device created by systemd-networkd (or other tools). Ideally there
+ would be a kernel compile-time option for this, but there currently
+ isn't. The next best thing is to make this change through a modprobe.d
+ drop-in. This is shipped by default, see modprobe.d/systemd.conf.
Note that kernel auditing is broken when used with systemd's
container code. When using systemd in conjunction with
varlogdir = join_paths(localstatedir, 'log')
xinitrcdir = join_paths(sysconfdir, 'X11/xinit/xinitrc.d')
rpmmacrosdir = get_option('rpmmacrosdir')
+modprobedir = join_paths(rootlibdir, 'modprobe.d')
# Our own paths
pkgdatadir = join_paths(datadir, 'systemd')
install_dir : xinitrcdir)
install_data('system-preset/90-systemd.preset',
install_dir : systempresetdir)
+install_data('modprobe.d/systemd.conf',
+ install_dir : modprobedir)
install_data('README',
'NEWS',
'CODING_STYLE',
'PAM modules dir: @0@'.format(pamlibdir),
'PAM configuration dir: @0@'.format(pamconfdir),
'RPM macros dir: @0@'.format(rpmmacrosdir),
+ 'modprobe.d dir: @0@'.format(modprobedir),
'D-Bus policy dir: @0@'.format(dbuspolicydir),
'D-Bus session dir: @0@'.format(dbussessionservicedir),
'D-Bus system dir: @0@'.format(dbussystemservicedir),
--- /dev/null
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# When bonding module is loaded, it creates bond0 by default due to max_bonds
+# option default value 1. This interferes with the network configuration
+# management / networkd, as it is not possible to detect whether this bond0 was
+# intentionally configured by the user, or should be managed by
+# networkd/NM/etc. Therefore disable bond0 creation.
+
+options bonding max_bonds=0