systemd-network-generator.service
systemd
systemd-network-generator.service
8
systemd-network-generator.service
systemd-network-generator
Generate network configuration from the kernel command line
systemd-network-generator.service
/usr/lib/systemd/systemd-network-generator
Description
systemd-network-generator.service is a system service that translates
ip= and related settings on the kernel command line (see below) into
systemd.network5,
systemd.netdev5, and
systemd.link5
configuration files understood by
systemd-networkd.service8
and
systemd-udevd.service8.
Files are generated in /run/systemd/network/.
Note: despite the name, this generator executes as a normal systemd service and is
not an implementation of the
systemd.generator7
concept.
Kernel command line options
This tool understands the following options:
ip=
nameserver=
rd.route=
rd.peerdns=
Translated into
systemd.network5
files.
In addition to the parameters dracut.cmdline7
defines the ip= option accepts the special value
link-local. If selected, the network interfaces will be configured for
link-local addressing (IPv4LL, IPv6LL) only, DHCP or IPv6RA will not be enabled.
ifname=
net.ifname_policy=
Translated into
systemd.link5
files.
vlan=
bond=
bridge=
bootdev=
Translated into
systemd.netdev5
files.
See
dracut.cmdline7
and
systemd-udevd.service8
for option syntax and details.
Credentials
systemd-network-generator supports the service credentials logic as implemented
by
ImportCredential=/LoadCredential=/SetCredential=
(see systemd.exec5 for
details). The following credentials are used when passed in:
network.conf.*
network.link.*
network.netdev.*
network.network.*
These credentials should contain valid
networkd.conf5,
systemd.link5,
systemd.netdev5,
systemd.network5
configuration data. From each matching credential a separate file is created. Example: a passed
credential network.link.50-foobar will be copied into a configuration file
50-foobar.link.
Note that the resulting files are created world-readable, it's hence recommended to not include
secrets in these credentials, but supply them via separate credentials directly to
systemd-networkd.service.
Note that by default the systemd-network-generator.service unit file is set up
to inherit the these credentials from the service manager.
See Also
systemd1
systemd-networkd.service8
dracut8