- <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, <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>
- <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 <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>
- </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>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>
- <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>