- name in <filename>/lib</filename>. This can be used to override a
- system-supplied network file with a local file if needed; a symlink in
- <filename>/etc</filename> with the same name as a network file in
- <filename>/lib</filename>, pointing to <filename>/dev/null</filename>,
- disables the network file entirely. Network files must have the extension
- <filename>.network</filename>; other extensions are ignored.</para>
-
- <para>The network file contains a <literal>[Match]</literal> section,
- which determines if a given network file may be applied to a given device;
- and a <literal>[Network]</literal> section specifying how the device should
- be configured. The first (in lexical order) of the network files that
- matches a given device is applied.</para>
-
- <para>A network file is said to match a device if each of the entries in the
- <literal>[Match]</literal> section matches, or if the section is empty.
- The following keys are accepted:</para>
-
- <variablelist class='network-directives'>
- <varlistentry>
- <term><varname>MACAddress</varname></term>
- <listitem>
- <para>The hardware address.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>Path</varname></term>
- <listitem>
- <para>The persistent path, as exposed by the udev
- property <literal>ID_PATH</literal>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>Driver</varname></term>
- <listitem>
- <para>The driver currently bound to the device, as
- exposed by the udev property <literal>DRIVER</literal>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>Type</varname></term>
- <listitem>
- <para>The device type, as exposed by the udev property
- <literal>DEVTYPE</literal>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>Name</varname></term>
- <listitem>
- <para>The device name, as exposed by the udev property
- <literal>INTERFACE</literal>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>The <literal>[Network]</literal> section accepts the following keys:</para>
-
- <variablelist class='network-directives'>
- <varlistentry>
- <term><varname>Description</varname></term>
- <listitem>
- <para>A description of the device. This is only used for
- presentation purposes.</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
- be as described in
- <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- .</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>Gateway</varname></term>
- <listitem>
- <para>The gateway address, which must be in the format described in
- <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- .</para>
- </listitem>
- </varlistentry>
- </variablelist>
+ 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>/usr/lib</filename>, pointing to <filename>/dev/null</filename>,
+ disables the configuration file entirely.</para>
+
+ <refsect2><title>Virtual Network Devices</title>
+ <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>[NetDev]</literal> section accepts the following
+ keys:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>Name</varname></term>
+ <listitem>
+ <para>The interface name used when creating the
+ bridge. This option is compulsory.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Kind</varname></term>
+ <listitem>
+ <para>The netdev kind. Currently, 'bridge', 'bond' and 'vlan'
+ are supported. This option is compulsory.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>The <literal>[VLAN]</literal> section only applies for netdevs of kind 'vlan',
+ and accepts the following keys:</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>
+ <para>Network files must have the extension <filename>.network</filename>;
+ other extensions are ignored. Networks are applied to links whenever the links
+ appear.</para>
+
+ <para>The network file contains a <literal>[Match]</literal> section,
+ which determines if a given network file may be applied to a given device;
+ and a <literal>[Network]</literal> section specifying how the device should
+ be configured. The first (in lexical order) of the network files that
+ matches a given device is applied.</para>
+
+ <para>A network file is said to match a device if each of the entries in the
+ <literal>[Match]</literal> section matches, or if the section is empty.
+ The following keys are accepted:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>MACAddress</varname></term>
+ <listitem>
+ <para>The hardware address.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Path</varname></term>
+ <listitem>
+ <para>The persistent path, as exposed by the udev
+ property <literal>ID_PATH</literal>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Driver</varname></term>
+ <listitem>
+ <para>The driver currently bound to the device, as
+ exposed by the udev property <literal>DRIVER</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Type</varname></term>
+ <listitem>
+ <para>The device type, as exposed by the udev property
+ <literal>DEVTYPE</literal>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Name</varname></term>
+ <listitem>
+ <para>The device name, as exposed by the udev property
+ <literal>INTERFACE</literal>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>The <literal>[Network]</literal> section accepts the following keys:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>Description</varname></term>
+ <listitem>
+ <para>A description of the device. This is only used for
+ 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
+ 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>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Gateway</varname></term>
+ <listitem>
+ <para>The gateway address, which must be in the format described in
+ <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ . 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 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>
+
+ <para>The <literal>[Address]</literal> section accepts the following keys:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>Address</varname></term>
+ <listitem>
+ <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Label</varname></term>
+ <listitem>
+ <para>An address label.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>The <literal>[Route]</literal> section accepts the following keys:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>Gateway</varname></term>
+ <listitem>
+ <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Destination</varname></term>
+ <listitem>
+ <para>The destination prefix of the route. Possibly followed by a slash and the
+ 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>