chiark / gitweb /
networkd: Introduce tun/tap device
[elogind.git] / man / systemd.netdev.xml
index 5d033e77d39c5e24259895b8d2bf1a0691a0fde2..a57ba7ad8cf1ecf9cd00d5e2da21d93c100efd7b 100644 (file)
                                 </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
+                                        to enable disable one queue . it determines whether all packets
+                                        queue at the device (enabled), or a fixed number queue at the device and
+                                        the rest at the "qdisc". Defaults to <literal>no</literal>.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>MultiQueue=</varname></term>
+                                        <listitem><para>Takes a boolean argument. Configures whether the
+                                        to disable or disable . Linux supports multiqueue tuntap which can
+                                        uses multiple file descriptors (queues) to parallelize
+                                        packets sending or receiving. The device allocation is the same as before,
+                                        and if user wants to create multiple queues. Defaults to
+                                        <literal>no</literal>.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>PacketInfo=</varname></term>
+                                        <listitem><para>Takes a boolean argument. Configures whether the
+                                        to enable or disable . PacketInfo tells the kernel to not provide packet
+                                        information. The purpose of PacketInfo is to tell the kernel that packets
+                                        will be "pure" IP packets, with no added bytes. Otherwise (if PacketInfo is unset),
+                                        4 extra bytes are added to the beginning of the packet (2 flag bytes and 2 protocol bytes).
+                                        Defaults to <literal>no</literal>.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>User=</varname></term>
+                                        <listitem><para>User to be allowed to access this device. Give ownership to unprivileged users,
+                                        so that /dev/net/tun device to be usable by this user.
+                                      </para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Group=</varname></term>
+                                        <listitem><para>Group to be allowed to access this device. Give ownership to unprivileged group,
+                                        so that /dev/net/tun device to be usable by this group.</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 following keys:</para>
+        </refsect1>
+
+                        <variablelist class='network-directives'>
+                                <varlistentry>
+                                        <term><varname>OneQueue=</varname></term>
+                                        <listitem><para>Takes a boolean argument. Configures whether
+                                        to enable disable one queue . it determines whether all packets
+                                        queue at the device (enabled), or a fixed number queue at the device and
+                                        the rest at the "qdisc". Defaults to <literal>no</literal>.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>MultiQueue=</varname></term>
+                                        <listitem><para>Takes a boolean argument. Configures whether the
+                                        to disable or disable . From version 3.8, Linux supports multiqueue
+                                        tuntap which can uses multiple file descriptors (queues) to parallelize
+                                        packets sending or receiving. The device allocation is the same as before,
+                                        and if user wants to create multiple queues. Defaults to
+                                        <literal>no</literal>.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>PacketInfo=</varname></term>
+                                        <listitem><para>Takes a boolean argument. Configures whether the
+                                        to enable or disable . PacketInfo tells the kernel to not provide packet
+                                        information. The purpose of PacketInfo is to tell the kernel that packets
+                                        will be "pure" IP packets, with no added bytes. Otherwise (if PacketInfo is unset),
+                                        4 extra bytes are added to the beginning of the packet (2 flag bytes and 2 protocol bytes).
+                                        Defaults to <literal>no</literal>.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>User=</varname></term>
+                                        <listitem><para>User to be allowed to access this device. Give ownership to unprivileged users,
+                                        so that /dev/net/tun device to be usable by this user.
+                                      </para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Group=</varname></term>
+                                        <listitem><para>Group to be allowed to access this device. Give ownership to unprivileged group,
+                                        so that /dev/net/tun device to be usable by this group.</para>
+                                        </listitem>
+                                </varlistentry>
+
+                        </variablelist>
+
+
         <refsect1>
                 <title>Example</title>
                 <example>
@@ -374,6 +480,15 @@ Local=192.168.223.238
 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>