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>
<filename>.netdev</filename>; other extensions are ignored. Virtual
network devices are created as soon as networkd is started.</para>
+ <para>A virtual network device is only created if the
+ <literal>[Match]</literal> section matches the current
+ environment, or if the section is empty. The following keys are accepted:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>Host</varname></term>
+ <listitem>
+ <para>Matches against the hostname or machine ID of the
+ host. See <literal>ConditionHost=</literal> in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Virtualization</varname></term>
+ <listitem>
+ <para>Checks whether the system is executed in a virtualized
+ environment and optionally test whether it is a specific
+ implementation. See <literal>ConditionVirtualization=</literal> in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>KernelCommandLine</varname></term>
+ <listitem>
+ <para>Checks whether a specific kernel command line option is
+ set (or if prefixed with the exclamation mark unset). See
+ <literal>ConditionKernelCommandLine=</literal> in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Architecture</varname></term>
+ <listitem>
+ <para>Checks whether the system is running on a specific
+ architecture. See <literal>ConditionArchitecture=</literal> in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
<para>The <literal>[NetDev]</literal> section accepts the following
keys:</para>
<varlistentry>
<term><varname>Kind</varname></term>
<listitem>
- <para>The netdev kind. Currently, <literal>bridge</literal>, <literal>bond</literal> and <literal>vlan</literal>
+ <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 keys:</para>
+ and accepts the following key:</para>
<variablelist class='network-directives'>
<varlistentry>
<term><varname>Path</varname></term>
<listitem>
<para>The persistent path, as exposed by the udev
- property <literal>ID_PATH</literal>.</para>
+ property <literal>ID_PATH</literal>. May contain shell
+ style globs.</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>.
+ exposed by the udev property <literal>DRIVER</literal>
+ of its parent device.
</para>
</listitem>
</varlistentry>
<term><varname>Name</varname></term>
<listitem>
<para>The device name, as exposed by the udev property
- <literal>INTERFACE</literal>.</para>
+ <literal>INTERFACE</literal>. May contain shell style
+ globs.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Host</varname></term>
+ <listitem>
+ <para>Matches against the hostname or machine ID of the
+ host. See <literal>ConditionHost=</literal> in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Virtualization</varname></term>
+ <listitem>
+ <para>Checks whether the system is executed in a virtualized
+ environment and optionally test whether it is a specific
+ implementation. See <literal>ConditionVirtualization=</literal> in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>KernelCommandLine</varname></term>
+ <listitem>
+ <para>Checks whether a specific kernel command line option is
+ set (or if prefixed with the exclamation mark unset). See
+ <literal>ConditionKernelCommandLine=</literal> in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Architecture</varname></term>
+ <listitem>
+ <para>Checks whether the system is running on a specific
+ architecture. See <literal>ConditionArchitecture=</literal> in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<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>