1 <?xml version='
1.0'
?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC
"-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
4 <!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
6 <refentry id=
"systemd-network-generator.service" xmlns:
xi=
"http://www.w3.org/2001/XInclude">
9 <title>systemd-network-generator.service
</title>
10 <productname>systemd
</productname>
14 <refentrytitle>systemd-network-generator.service
</refentrytitle>
15 <manvolnum>8</manvolnum>
19 <refname>systemd-network-generator.service
</refname>
20 <refname>systemd-network-generator
</refname>
21 <refpurpose>Generate network configuration from the kernel command line
</refpurpose>
25 <para><filename>systemd-network-generator.service
</filename></para>
26 <para><filename>/usr/lib/systemd/systemd-network-generator
</filename></para>
30 <title>Description
</title>
32 <para><filename>systemd-network-generator.service
</filename> is a system service that translates
33 <varname>ip=
</varname> and related settings on the kernel command line (see below) into
34 <citerefentry><refentrytitle>systemd.network
</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
35 <citerefentry><refentrytitle>systemd.netdev
</refentrytitle><manvolnum>5</manvolnum></citerefentry>, and
36 <citerefentry><refentrytitle>systemd.link
</refentrytitle><manvolnum>5</manvolnum></citerefentry>
37 configuration files understood by
38 <citerefentry><refentrytitle>systemd-networkd.service
</refentrytitle><manvolnum>8</manvolnum></citerefentry>
40 <citerefentry><refentrytitle>systemd-udevd.service
</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
43 <para>Files are generated in
<filename>/run/systemd/network/
</filename>.
</para>
45 <para>Note: despite the name, this generator executes as a normal systemd service and is
46 <emphasis>not
</emphasis> an implementation of the
47 <citerefentry><refentrytitle>systemd.generator
</refentrytitle><manvolnum>7</manvolnum></citerefentry>
52 <title>Kernel command line options
</title>
54 <para>This tool understands the following options:
</para>
56 <variablelist class='kernel-commandline-options'
>
58 <term><varname>ip=
</varname></term>
59 <term><varname>nameserver=
</varname></term>
60 <term><varname>rd.route=
</varname></term>
61 <term><varname>rd.peerdns=
</varname></term>
64 <citerefentry><refentrytitle>systemd.network
</refentrytitle><manvolnum>5</manvolnum></citerefentry>
67 <para>In addition to the parameters
<citerefentry
68 project='man-pages'
><refentrytitle>dracut.cmdline
</refentrytitle><manvolnum>7</manvolnum></citerefentry>
69 defines the
<varname>ip=
</varname> option accepts the special value
70 <literal>link-local
</literal>. If selected, the network interfaces will be configured for
71 link-local addressing (IPv4LL, IPv6LL) only, DHCP or IPv6RA will not be enabled.
</para>
73 <xi:include href=
"version-info.xml" xpointer=
"v245"/>
78 <term><varname>ifname=
</varname></term>
79 <term><varname>net.ifname_policy=
</varname></term>
82 <citerefentry><refentrytitle>systemd.link
</refentrytitle><manvolnum>5</manvolnum></citerefentry>
85 <xi:include href=
"version-info.xml" xpointer=
"v245"/>
90 <term><varname>vlan=
</varname></term>
91 <term><varname>bond=
</varname></term>
92 <term><varname>bridge=
</varname></term>
93 <term><varname>bootdev=
</varname></term>
96 <citerefentry><refentrytitle>systemd.netdev
</refentrytitle><manvolnum>5</manvolnum></citerefentry>
99 <xi:include href=
"version-info.xml" xpointer=
"v245"/>
104 team=<teammaster>:<teamslaves>
114 <citerefentry project='man-pages'
><refentrytitle>dracut.cmdline
</refentrytitle><manvolnum>7</manvolnum></citerefentry>
116 <citerefentry><refentrytitle>systemd-udevd.service
</refentrytitle><manvolnum>8</manvolnum></citerefentry>
117 for option syntax and details.
</para>
121 <title>Credentials
</title>
123 <para><command>systemd-network-generator
</command> supports the service credentials logic as implemented
125 <varname>ImportCredential=
</varname>/
<varname>LoadCredential=
</varname>/
<varname>SetCredential=
</varname>
126 (see
<citerefentry><refentrytitle>systemd.exec
</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
127 details). The following credentials are used when passed in:
</para>
129 <variablelist class='system-credentials'
>
131 <term><varname>network.conf.*
</varname></term>
132 <term><varname>network.link.*
</varname></term>
133 <term><varname>network.netdev.*
</varname></term>
134 <term><varname>network.network.*
</varname></term>
136 <listitem><para>These credentials should contain valid
137 <citerefentry><refentrytitle>networkd.conf
</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
138 <citerefentry><refentrytitle>systemd.link
</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
139 <citerefentry><refentrytitle>systemd.netdev
</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
140 <citerefentry><refentrytitle>systemd.network
</refentrytitle><manvolnum>5</manvolnum></citerefentry>
141 configuration data. From each matching credential a separate file is created. Example: a passed
142 credential
<filename>network.link
.50-foobar
</filename> will be copied into a configuration file
143 <filename>50-foobar.link
</filename>.
</para>
145 <para>Note that the resulting files are created world-readable, it's hence recommended to not include
146 secrets in these credentials, but supply them via separate credentials directly to
147 <filename>systemd-networkd.service
</filename>.
</para>
149 <xi:include href=
"version-info.xml" xpointer=
"v256"/></listitem>
153 <para>Note that by default the
<filename>systemd-network-generator.service
</filename> unit file is set up
154 to inherit the these credentials from the service manager.
</para>
158 <title>See Also
</title>
159 <para><simplelist type=
"inline">
160 <member><citerefentry><refentrytitle>systemd
</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
161 <member><citerefentry><refentrytitle>systemd-networkd.service
</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
162 <member><citerefentry project='man-pages'
><refentrytitle>dracut
</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>