]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/systemd-network-generator.service.xml
network-generator: pick up .netdev/.link/.network configuration via credentials
[thirdparty/systemd.git] / man / systemd-network-generator.service.xml
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 -->
5
6 <refentry id="systemd-network-generator.service" xmlns:xi="http://www.w3.org/2001/XInclude">
7
8 <refentryinfo>
9 <title>systemd-network-generator.service</title>
10 <productname>systemd</productname>
11 </refentryinfo>
12
13 <refmeta>
14 <refentrytitle>systemd-network-generator.service</refentrytitle>
15 <manvolnum>8</manvolnum>
16 </refmeta>
17
18 <refnamediv>
19 <refname>systemd-network-generator.service</refname>
20 <refname>systemd-network-generator</refname>
21 <refpurpose>Generate network configuration from the kernel command line</refpurpose>
22 </refnamediv>
23
24 <refsynopsisdiv>
25 <para><filename>systemd-network-generator.service</filename></para>
26 <para><filename>/usr/lib/systemd/systemd-network-generator</filename></para>
27 </refsynopsisdiv>
28
29 <refsect1>
30 <title>Description</title>
31
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>
39 and
40 <citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
41 </para>
42
43 <para>Files are generated in <filename>/run/systemd/network/</filename>.</para>
44
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>
48 concept.</para>
49 </refsect1>
50
51 <refsect1>
52 <title>Kernel command line options</title>
53
54 <para>This tool understands the following options:</para>
55
56 <variablelist class='kernel-commandline-options'>
57 <varlistentry>
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>
62 <listitem>
63 <para>Translated into
64 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
65 files.</para>
66
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>
72
73 <xi:include href="version-info.xml" xpointer="v245"/>
74 </listitem>
75 </varlistentry>
76
77 <varlistentry>
78 <term><varname>ifname=</varname></term>
79 <term><varname>net.ifname-policy=</varname></term>
80 <listitem>
81 <para>Translated into
82 <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>
83 files.</para>
84
85 <xi:include href="version-info.xml" xpointer="v245"/>
86 </listitem>
87 </varlistentry>
88
89 <varlistentry>
90 <term><varname>vlan=</varname></term>
91 <term><varname>bond=</varname></term>
92 <term><varname>bridge=</varname></term>
93 <term><varname>bootdev=</varname></term>
94 <listitem>
95 <para>Translated into
96 <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>
97 files.</para>
98
99 <xi:include href="version-info.xml" xpointer="v245"/>
100 </listitem>
101 </varlistentry>
102
103 <!-- unsupported:
104 team=<teammaster>:<teamslaves>
105 bootdev=
106 BOOTIF=
107 bootdev=
108 bootdev=
109 bootdev=
110 -->
111 </variablelist>
112
113 <para>See
114 <citerefentry project='man-pages'><refentrytitle>dracut.cmdline</refentrytitle><manvolnum>7</manvolnum></citerefentry>
115 and
116 <citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
117 for option syntax and details.</para>
118 </refsect1>
119
120 <refsect1>
121 <title>Credentials</title>
122
123 <para><command>systemd-network-generator</command> supports the service credentials logic as implemented
124 by
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>
128
129 <variablelist class='system-credentials'>
130 <varlistentry>
131 <term><varname>network.netdev.*</varname></term>
132 <term><varname>network.link.*</varname></term>
133 <term><varname>network.network.*</varname></term>
134
135 <listitem><para>These credentials should contain valid
136 <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
137 <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
138 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
139 configuration data. From each matching credential a separate file is created. Example: a passed
140 credential <filename>network.link.50-foobar</filename> will be copied into a configuration file
141 <filename>50-foobar.link</filename>.</para>
142
143 <para>Note that the resulting files are created world-readable, it's hence recommended to not include
144 secrets in these credentials, but supply them via separate credentials directly to
145 <filename>systemd-networkd.service</filename>.</para>
146
147 <xi:include href="version-info.xml" xpointer="v256"/></listitem>
148 </varlistentry>
149 </variablelist>
150
151 <para>Note that by default the <filename>systemd-network-generator.service</filename> unit file is set up
152 to inherit the these credentials from the service manager.</para>
153 </refsect1>
154
155 <refsect1>
156 <title>See Also</title>
157 <para><simplelist type="inline">
158 <member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
159 <member><citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
160 <member><citerefentry project='man-pages'><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
161 </simplelist></para>
162 </refsect1>
163
164 </refentry>