systemd-imds-early-network.service carries After=sys-devices-virtual-dmi-id.device, so that systemd-imdsd --setup-network sees the IMDS_* properties that udev applies to the DMI device from hwdb data. Ordering dependencies only take effect if both units are part of the same transaction though, and nothing ever pulled the device unit in: the generator hooks the service into sysinit.target.wants/ only, and the unit sets DefaultDependencies=no. The ordering was therefore a nop, and the service raced udev's coldplugging. When it lost that race the failure was silent: smbios_server_info() found no IMDS_VENDOR= property, so no endpoint got configured, cmdline_run() returned EXIT_NOTCONFIGURED, the unit's SuccessExitStatus=NOTCONFIGURED reported that as success, and no 85-imds-early.network was written at all. Give the unit the same drop-in we already write for systemd-imdsd@.service, which adds Wants= in addition to After= for the device unit, and factor it out into a helper. We only get here once the DMI device has been found in the hwdb, hence pulling the device unit into the transaction is safe. Note that with the race fixed I have yet to see systemd-imdsd actually work in locked mode: it appears to end up locked out by the "prohibit" route itself, despite the fwmark bypass. That is a separate issue, and left for somebody else to look into.
System and Service Manager
Details
Most documentation is available on systemd's website.
Assorted, older, general information about systemd can be found in the systemd Wiki.
Information about build requirements is provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the Code Map for information about this repository's layout and content.
Please see the Hacking guide for information on how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list, join our IRC channel #systemd on libera.chat or Matrix channel
Stable branches with backported patches are available in the stable repo.
We have a security bug bounty program sponsored by the Sovereign Tech Fund hosted on YesWeHack
Repositories with distribution packages built from git main are available on OBS, and also repositories with packages built from the latest stable release
