systemd-network-generator.service - Man Page

Generate network configuration from the kernel command line

Synopsis

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.network(5), systemd.netdev(5), and systemd.link(5) configuration files understood by systemd-networkd.service(8) and systemd-udevd.service(8)​.

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.generator(7) concept​.

Kernel Command Line Options

This tool understands the following options:

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​.

ifname=, net​.ifname_policy=

Translated into systemd.link(5) files​.

Added in version 245​.

vlan=, bond=, bridge=, bootdev=

Translated into systemd.netdev(5) files​.

Added in version 245​.

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​.

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

Credentials

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:

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​.

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

See Also

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

Referenced By

kernel-command-line(7), systemd.directives(7), systemd.index(7), systemd.link(5), systemd.netdev(5), systemd.network(5), systemd-networkd.service(8), systemd-storagetm.service(8), systemd.system-credentials(7), systemd-udevd.service(8).

The man page systemd-network-generator(8) is an alias of systemd-network-generator.service(8).

systemd 262~rc2