OS Manuals

systemd-network-generator.service(8)

SYSTEMD-NETWORK-GENERATOR.SERVICE(8) systemd-network-generator.service SYSTEMD-NETWORK-GENERATOR.SERVICE(8)


.SH "NAME" systemd-network-generator.service, systemd-network-generator - Generate network configuration from the kernel command line


.SH "SYNOPSIS"


.PP systemd-network-generator.service


.PP /usr/lib/systemd/systemd-network-generator


.SH "DESCRIPTION"


.PP systemd-network-generator.service is a system service that translates ip= and related settings on the kernel command line (see below) into systemd.network(5), systemd.netdev(5), and systemd.link(5) configuration files understood by systemd-networkd.service(8) and systemd-udevd.service(8).


.PP Files are generated in /run/systemd/network/.


.PP Note: despite the name, this generator executes as a normal systemd service and is not an implementation of the systemd.generator(7) concept.


.SH "KERNEL COMMAND LINE OPTIONS"


.PP This tool understands the following options:


.PP ip=, nameserver=, rd.route=, rd.peerdns=


Translated into systemd.network(5) files.


In addition to the parameters dracut.cmdline(7) 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.


Added in version 245.


.RE


.PP ifname=, net.ifname_policy=


Translated into systemd.link(5) files.


Added in version 245.


.RE


.PP vlan=, bond=, bridge=, bootdev=


Translated into systemd.netdev(5) files.


Added in version 245.


.RE


.PP BOOTIF=, rd.bootif=


When BOOTIF is specified in the interface field of ip=, it is treated as a special placeholder rather than a real interface name. Then, in combination with the MAC address provided by BOOTIF=, this is translated into a systemd.network(5) file which matches on the provided MAC address. When rd.bootif=0 is passed, this functionality is disabled, and the BOOTIF= option is ignored.


See dracut.cmdline(7) for details on the usage of these options.


Added in version 261.


.RE


.PP See dracut.cmdline(7) and systemd-udevd.service(8) for option syntax and details.


.SH "CREDENTIALS"


.PP systemd-network-generator supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:


.PP network.conf.*, network.link.*, network.netdev.*, network.network.*


These credentials should contain valid networkd.conf(5), systemd.link(5), systemd.netdev(5), systemd.network(5) 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 is hence recommended to not include secrets in these credentials, but to supply them via separate credentials directly to systemd-networkd.service(8).


Added in version 256.


.RE


.PP Note that by default the systemd-networkd.service(8) service is set up to inherit the these credentials from the service manager.


.SH "SEE ALSO"


.PP systemd(1), systemd-networkd.service(8), dracut(8)

systemd 262.2

systemd 262.2-r1 · os · ingested 2026-11-06