<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>
+ network devices are created as soon as networkd is started. If a netdev
+ with the specified name already exists, networkd will use that as-is
+ rather than create its own. Note that the settings of the pre-existing
+ netdev will not be changed by networkd.</para>
<para>The <filename>.netdev</filename> files are read from the files located in the
system network directory <filename>/usr/lib/systemd/network</filename>,
<literal>macvlan</literal>, <literal>vxlan</literal>,
<literal>ipip</literal>, <literal>gre</literal>,
<literal>sit</literal>, <literal>vti</literal>,
- <literal>veth</literal> are supported. This option
- is compulsory.</para>
+ <literal>veth</literal>, <literal>tun</literal>,
+ <literal>tap</literal> and <literal>dummy</literal>
+ are supported. This option is compulsory.</para>
</listitem>
</varlistentry>
<varlistentry>
</varlistentry>
</variablelist>
</refsect1>
+ <refsect1>
+ <title>[Tun] Section Options</title>
+
+ <para>The <literal>[Tun]</literal> section only applies for netdevs of kind
+ <literal>tun</literal>, and accepts the following keys:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>OneQueue=</varname></term>
+ <listitem><para>Takes a boolean argument. Configures whether
+ all packets are queued at the device (enabled), or a fixed number
+ of packets are queued at the device and the rest at the
+ <literal>qdisc</literal>. Defaults to <literal>no</literal>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>MultiQueue=</varname></term>
+ <listitem><para>Takes a boolean argument. Configures whether to
+ use multiple file descriptors (queues) to parallelize packets
+ sending and receiving. Defaults to <literal>no</literal>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>PacketInfo=</varname></term>
+ <listitem><para>Takes a boolean argument. Configures whether packets
+ should be prepened with four extra bytes (two flag bytes and two
+ protocol bytes). If disabled it indicates that the packets will be
+ pure IP packets. Defaults to <literal>no</literal>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>User=</varname></term>
+ <listitem><para>User to grant access to the <filename>/dev/net/tun</filename>
+ device.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Group=</varname></term>
+ <listitem><para>Group to grant access to the <filename>/dev/net/tun</filename>
+ device.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </refsect1>
+
+ <refsect1>
+ <title>[Tap] Section Options</title>
+
+ <para>The <literal>[Tap]</literal> section only applies for netdevs of kind
+ <literal>tap</literal>, and accepts the same keys as the
+ <literal>[Tun]</literal> section.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>[Bond] Section Options</title>
+
+ <para>The <literal>[Bond]</literal> section accepts the following
+ key:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>Mode=</varname></term>
+ <listitem>
+ <para>Specifies one of the bonding policies. The default is balance-rr (round robin).
+ <literal>balance-rr</literal>
+ <literal>active-backup</literal>
+ <literal>balance-xor</literal>
+ <literal>broadcast</literal>
+ <literal>802.3ad</literal>
+ <literal>balance-tlb</literal>
+ <literal>balance-alb</literal>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
<refsect1>
<title>Example</title>
<example>
Remote=192.169.224.239
TTL=64</programlisting>
</example>
+ <example>
+ <title>/etc/systemd/network/tap.netdev</title>
+ <programlisting>[NetDev]
+Name=tap-test
+Kind=tap
+
+[Tap]
+MultiQueue=true
+PacketInfo=true</programlisting> </example>
<example>
<title>/etc/systemd/network/sit.netdev</title>
Name=veth-peer</programlisting>
</example>
+ <example>
+ <title>/etc/systemd/network/dummy.netdev</title>
+ <programlisting>[NetDev]
+Name=dummy-test
+Kind=dummy
+MACAddress=12:34:56:78:9a:bc</programlisting>
+ </example>
+
</refsect1>
<refsect1>
<title>See Also</title>