[Bug 1937953] Re: systemd forcibly disables use of dummy/bond interfaces
Dan Streetman
1937953 at bugs.launchpad.net
Mon Jul 26 13:02:26 UTC 2021
> because configuration in /lib/modprobe.d/ overrides configuration in
/etc/modprobe.d/
well, not quite.
kmod reads files from the dirs in this order:
/run/modprobe.d/
/etc/modprobe.d/
/lib/modprobe.d/
any duplicate files, with the exact same name in multiple directories,
will ignore the same-named file from later dirs (e.g. as you noticed,
/etc/modprobe.d/systemd.conf will override
/lib/modprobe.d/systemd.conf).
However, once all files are loaded and duplicates removed/ignored, kmod
will process the files in lexical - i.e. alphabetical, using strcmp() -
order.
Since your filename 'local-dummy.conf' is lexically before
'systemd.conf', its content is processed before the content in
systemd.conf; thus, your setting is replaced[1]. If you rename your file
to any (unique) filename that's lexically *after* systemd.conf, your
setting will be used, not the setting in the 'systemd.conf' file.
Is that obvious? No. In the man page? Not that I see, and it probably
should be, but that should be discussed with upstream for kmod.
(1) - note that your setting isn't actually being *replaced*, what modprobe is doing is *appending* each new module option. So when your file is lexically before systemd.conf, what's happening is actually:
$ sudo modprobe -v dummy
insmod /lib/modules/5.4.0-77-generic/kernel/drivers/net/dummy.ko numdummies=0
$ ip l show dummy0
Device "dummy0" does not exist.
$ sudo rmmod dummy
$ echo "options dummy numdummies=1" | sudo tee /etc/modprobe.d/a.conf
options dummy numdummies=1
$ sudo modprobe -v dummy
insmod /lib/modules/5.4.0-77-generic/kernel/drivers/net/dummy.ko numdummies=1 numdummies=0
$ ip l show dummy0
Device "dummy0" does not exist.
$ sudo rmmod dummy
$ sudo mv /etc/modprobe.d/a.conf /etc/modprobe.d/z.conf
$ sudo modprobe -v dummy
insmod /lib/modules/5.4.0-77-generic/kernel/drivers/net/dummy.ko numdummies=0 numdummies=1
$ ip l show dummy0
216: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether f6:25:71:17:bb:ae brd ff:ff:ff:ff:ff:ff
$ sudo rmmod dummy
$ sudo rm /etc/modprobe.d/z.conf
$ sudo modprobe -v dummy
insmod /lib/modules/5.4.0-77-generic/kernel/drivers/net/dummy.ko numdummies=0
$ ip l show dummy0
Device "dummy0" does not exist.
** Changed in: systemd (Ubuntu)
Status: New => Invalid
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1937953
Title:
systemd forcibly disables use of dummy/bond interfaces
Status in systemd package in Ubuntu:
Invalid
Bug description:
/etc/modprobe.d/local-dummy.conf contains:
options dummy numdummies=10
/etc/modules-load.d/local-dummy.conf contains:
dummy
/lib/modprobe.d/systemd.conf contains:
options bonding max_bonds=0
options dummy numdummies=0
On boot, the "dummy" module is loaded with the options "numdummies=10
numdummies=0" because configuration in /lib/modprobe.d/ overrides
configuration in /etc/modprobe.d/.
This makes it impossible to automatically load the dummy module with
10 interfaces and then use them in /etc/network/interfaces.d/ because
the configuration file provided with systemd overrides my module
configuration by setting the number of interfaces back to 0.
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: systemd 237-3ubuntu10.50
Uname: Linux 5.4.132+ x86_64
ApportVersion: 2.20.9-0ubuntu7.24
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Sun Jul 25 19:18:14 2021
InstallationDate: Installed on 2014-05-10 (2633 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
MachineType: To Be Filled By O.E.M. To Be Filled By O.E.M.
ProcKernelCmdLine: BOOT_IMAGE=/@/boot/vmlinuz-5.4.132+ root=UUID=3d2fba1f-59b9-424f-a0df-2e7f1e2d8637 ro rootflags=subvol=@ sysrq_always_enabled panic=600 reboot=p sd_mod.stop_before_reboot=0 page_owner=on page_poison=1 debug_objects=1
SourcePackage: systemd
UpgradeStatus: Upgraded to bionic on 2018-11-24 (973 days ago)
dmi.bios.date: 11/22/2016
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: P7.20
dmi.board.name: Z170 Extreme4
dmi.board.vendor: ASRock
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrP7.20:bd11/22/2016:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnZ170Extreme4:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.family: To Be Filled By O.E.M.
dmi.product.name: To Be Filled By O.E.M.
dmi.product.sku: To Be Filled By O.E.M.
dmi.product.version: To Be Filled By O.E.M.
dmi.sys.vendor: To Be Filled By O.E.M.
modified.conffile..etc.systemd.journald.conf: [modified]
modified.conffile..etc.systemd.logind.conf: [modified]
mtime.conffile..etc.systemd.journald.conf: 2018-11-24T15:04:07.599704
mtime.conffile..etc.systemd.logind.conf: 2015-07-04T15:46:37.746749
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1937953/+subscriptions
More information about the foundations-bugs
mailing list