SYSTEMD-....SERVICE(8)

๐Ÿ’– SYSTEMD-....SERVICE(8) ๐Ÿ’–

okay bestie, welcome to the manual page for systemd-network-generator.service and systemd-network-generator โ€” it lives in the systemd-network-generator.service section of the systemd manuals, and it is literally the girl who reads your kernel command line and turns it into network config. main character energy fr fr. ๐ŸŒธ


โœจ NAME โœจ

systemd-network-generator.service, systemd-network-generator โ€” generate network configuration from the kernel command line ๐Ÿ’…


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

systemd-network-generator.service

/usr/lib/systemd/systemd-network-generator

๐ŸŒˆ DESCRIPTION ๐ŸŒˆ

So here's the tea ๐Ÿ“: systemd-network-generator.service is a system service that translates the ip= option and all its little related settings from the kernel command line (peep the list below, bestie) into systemd.network(5), systemd.netdev(5), and systemd.link(5) configuration files โ€” the exact ones that systemd-networkd.service(8) and systemd-udevd.service(8) actually understand and vibe with. ๐Ÿซถ

The files get generated in /run/systemd/network/. yes, that's the spot. ๐Ÿ“โœจ

โš ๏ธ Note, and this one matters: despite the name, this generator executes as a normal systemd service and is not an implementation of the systemd.generator(7) concept. the name is giving generator but it's not that kind of generator, okay?? iykyk. ๐Ÿ’€

๐Ÿ‘‘ KERNEL COMMAND LINE OPTIONS ๐Ÿ‘‘

This tool understands the following options, and yes we're going through every single one:

  • ip=, nameserver=, rd.route=, rd.peerdns= โ€” these get 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 you select that, the network interfaces will be configured for link-local addressing (IPv4LL, IPv6LL) only โ€” DHCP or IPv6RA will not be enabled. no cap, that's the whole vibe. ๐Ÿ™ˆ 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 gets translated into a systemd.network(5) file which matches on the provided MAC address. and when rd.bootif=0 is passed, this functionality is disabled, and the BOOTIF= option is ignored. periodt. ๐Ÿ’… 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. go read those too, bestie, they're not boring i promise. ๐Ÿ“š


๐ŸŽ€ CREDENTIALS ๐ŸŽ€

systemd-network-generator supports the service credentials logic as implemented by ImportCredential= / LoadCredential= / SetCredential= (see systemd.exec(5) for the deets). 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, because examples ate: a passed credential network.link.50-foobar will be copied into a configuration file 50-foobar.link. iconic. ๐Ÿ‘‘
โš ๏ธ Note that the resulting files are created world-readable, so it is hence recommended to not include secrets in these credentials โ€” instead supply them via separate credentials directly to systemd-networkd.service(8). seriously, don't put your secrets in there, i'm begging. ๐Ÿ˜ญ

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)


and that's the whole page bestie!! this one came from systemd 262.1, and it's the SYSTEMD-....SERVICE(8) manual โ€” go forth and generate those network configs, you absolute legend. ๐Ÿ’–โœจ๐ŸŽ€๐Ÿฆ‹๐ŸŒธ๐Ÿ’…๐Ÿซถ

๐Ÿ“ฆ where this page comes from
  • arch rolling: systemd 262.1-1 ยท LGPL-2.1-or-later AND CC0-1.0 AND GPL-2.0-or-later AND MIT-0
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms