network devices as they appear, as well as creating virtual
network devices.</para>
+ <para>To configure low-level link settings independently of
+ networks, see
+ <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ .</para>
+
<para>Network configurations applied before networkd is started
- are not removed, and configuration applied by networkd are not
- removed when networkd exits. This ensures restarting networkd
- does not cut the network connection, and in particular that it
- is safe to transition between the initrd and the real root,
+ are not removed, and static configuration applied by networkd
+ are not removed when networkd exits. This ensures restarting
+ networkd does not cut the network connection, and, in particular,
+ that it is safe to transition between the initrd and the real root,
and back.</para>
</refsect1>
identical filenames replace each other. Files in
<filename>/etc</filename> have the highest priority, files in
<filename>/run</filename> take precedence over files with the same
- name in <filename>/lib</filename>. This can be used to override a
+ name in <filename>/usr/lib</filename>. This can be used to override a
system-supplied configuration file with a local file if needed; a symlink in
<filename>/etc</filename> with the same name as a configuration file in
- <filename>/lib</filename>, pointing to <filename>/dev/null</filename>,
+ <filename>/usr/lib</filename>, pointing to <filename>/dev/null</filename>,
disables the configuration file entirely.</para>
<refsect2><title>Virtual Network Devices</title>
- <para>Netdev files must have the extension <filename>.netdev</filename>;
- other extensions are ignored. Virtual network devices are created as soon
- as networkd is started.</para>
+ <para>Virtual Network Device files must have the extension
+ <filename>.netdev</filename>; other extensions are ignored. Virtual
+ network devices are created as soon as networkd is started.</para>
- <para>The <literal>[Bridge]</literal> section accepts the following
+ <para>The <literal>[NetDev]</literal> section accepts the following
keys:</para>
<variablelist class='network-directives'>
bridge. This option is compulsory.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>Kind</varname></term>
+ <listitem>
+ <para>The netdev kind. Currently, <literal>bridge</literal>,
+ <literal>bond</literal> and <literal>vlan</literal>
+ are supported. This option is compulsory.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
+
+ <para>The <literal>[VLAN]</literal> section only applies for netdevs of kind <literal>vlan</literal>,
+ and accepts the following key:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>Id</varname></term>
+ <listitem>
+ <para>The VLAN ID to use. An integer in the range 0–4094.
+ This option is compulsory.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
</refsect2>
<refsect2><title>Networks</title>
<term><varname>Driver</varname></term>
<listitem>
<para>The driver currently bound to the device, as
- exposed by the udev property <literal>DRIVER</literal>.
+ exposed by the udev property <literal>DRIVER</literal>
+ of its parent device.
</para>
</listitem>
</varlistentry>
presentation purposes.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>DHCP</varname></term>
+ <listitem>
+ <para>A boolean. When true, enables basic DHCPv4 support.</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><varname>Address</varname></term>
<listitem>
<para>A static IPv4 or IPv6 address and its prefix length,
- separated by a '/' character. The format of the address must
+ separated by a <literal>/</literal> character. The format of the address must
be as described in
<citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
. This is a short-hand for an [Address] section only containing an Address key (see below).</para>
. This is a short-hand for a [Route] section only containing a Gateway key.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>DNS</varname></term>
+ <listitem>
+ <para>A DNS server address, which must be in the format described in
+ <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ .</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><varname>Bridge</varname></term>
<listitem>
- <para>The name of the bridge to add the configured link to.</para>
+ <para>The name of the bridge to add the link to.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Bond</varname></term>
+ <listitem>
+ <para>The name of the bond to add the link to.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>VLAN</varname></term>
+ <listitem>
+ <para>The name of a VLAN to create on the link. This option
+ may be specified more than once.</para>
</listitem>
</varlistentry>
</variablelist>
<varlistentry>
<term><varname>Address</varname></term>
<listitem>
- <para>As in the <literal>[Network]</literal> section.</para>
+ <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Broadcast</varname></term>
+ <listitem>
+ <para>The broadcast address, which must be in the format described in
+ <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ . This key only applies to IPv4 addresses. If it is not given, it is
+ derived from the <literal>Address</literal> key.</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term><varname>Gateway</varname></term>
<listitem>
- <para>As in the <literal>[Network]</literal> section.</para>
+ <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
</listitem>
</varlistentry>
<varlistentry>
prefixlength, if ommitted a full-length host route is assumed.</para>
</listitem>
</varlistentry>
+ </variablelist>
+
+ <para>The <literal>[DHCPv4]</literal> section accepts the following keys:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>UseDNS</varname></term>
+ <listitem>
+ <para>When true (the default), the DNS servers received from the DHCP server will
+ be used and take precedence over any statically configured ones.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>UseMTU</varname></term>
+ <listitem>
+ <para>When true, the interface maximum transmission unit from the DHCP server will
+ be used on the current link. Defaults to false.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>UseHostname</varname></term>
+ <listitem>
+ <para>When true (the default), the hostname received from the DHCP server
+ will be used as the transient hostname.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>CriticalConnection</varname></term>
+ <listitem>
+ <para>When true, the connection will never be torn down even if the DHCP lease
+ expires. This is contrary to the DHCP specification, but may be the best choice
+ if, say, the root filesystem relies on this connection. Defaults to false.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
+
</refsect2>
</refsect1>