chiark / gitweb /
networkd: add and expose per-link LLMNR config option
[elogind.git] / man / systemd.network.xml
index f49de17ee175c64f530ecfc3140d7de27ae11485..3af199e84ac9b0d88614f0448c99b3e59f7e57fd 100644 (file)
                 <filename>/usr/lib</filename>, pointing to <filename>/dev/null</filename>,
                 disables the configuration file entirely.</para>
 
+        </refsect1>
+
+        <refsect1>
+                <title>[Match] Section Options</title>
+
                         <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
                                 </varlistentry>
                         </variablelist>
 
+        </refsect1>
+
+        <refsect1>
+                <title>[Network] Section Options</title>
+
                         <para>The <literal>[Network]</literal> section accepts the following keys:</para>
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
                                         <term><varname>DHCP=</varname></term>
                                         <listitem>
-                                                <para>A boolean. When true, enables basic DHCPv4 support.</para>
+                                                <para>Enables DHCPv4 and/or DHCPv6 support. Accepts
+                                                <literal>both</literal>, <literal>none</literal>,
+                                                <literal>v4</literal> or <literal>v6</literal>.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>DHCPServer=</varname></term>
+                                        <listitem>
+                                                <para>A boolean. Enables a basic DHCPv4 server on the
+                                                device. Mostly useful for handing out leases to container
+                                                instances.</para>
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
                                         <term><varname>IPv4LL=</varname></term>
                                         <listitem>
                                                 <para>A boolean. When true, enables IPv4 link-local support.
-                                                If <literal>DHCP=</literal> is also true, acquiring DHCP address
-                                                will deprecate previously acquired IPv4 link-local address or
-                                                stop acquiring process if there hasn't been one acquired before.
                                                 </para>
                                         </listitem>
                                 </varlistentry>
+                                <varlistentry>
+                                        <term><varname>IPv4LLRoute=</varname></term>
+                                        <listitem>
+                                                <para>A boolean. When true, sets up the route needed for
+                                                non-IPv4LL hosts to communicate with IPv4LL-only hosts. Defaults
+                                                to true.
+                                                </para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>LLMNR=</varname></term>
+                                        <listitem>
+                                                <para>A boolean or <literal>resolve</literal>. When true, enables
+                                                Link-Local Multicast Name Resolution on the link, when set to
+                                                <literal>resolve</literal> only resolution is enabled, but not
+                                                announcement. Defaults to true.</para>
+                                        </listitem>
+                                </varlistentry>
                                 <varlistentry>
                                         <term><varname>Address=</varname></term>
                                         <listitem>
                                                 an Address key (see below). This option may be specified
                                                 more than once.
                                                 </para>
+
+                                                <para>If the specified
+                                                address is 0.0.0.0
+                                                (for IPv4) or [::]
+                                                (for IPv6), a new
+                                                address range of the
+                                                requested size is
+                                                automatically
+                                                allocated from a
+                                                system-wide pool of
+                                                unused ranges. The
+                                                allocated range is
+                                                checked against all
+                                                current network
+                                                interfaces and all
+                                                known network
+                                                configuration files to
+                                                avoid address range
+                                                conflicts. The default
+                                                system-wide pool
+                                                consists of
+                                                192.168.0.0/16,
+                                                172.16.0.0/12 and
+                                                10.0.0.0/8 for IPv4,
+                                                and fc00::/7 for
+                                                IPv6. This
+                                                functionality is
+                                                useful to manage a
+                                                large number of
+                                                dynamically created
+                                                network interfaces
+                                                with the same network
+                                                configuration and
+                                                automatic address
+                                                range
+                                                assignment.</para>
+
                                         </listitem>
                                 </varlistentry>
                                 <varlistentry>
                                                 This option may be specified more than once.</para>
                                         </listitem>
                                 </varlistentry>
+<!-- TODO: document NTP= option when it is actually used somewhere -->
                                 <varlistentry>
                                         <term><varname>Bridge=</varname></term>
                                         <listitem>
                                                 may be specified more than once.</para>
                                         </listitem>
                                 </varlistentry>
+                                <varlistentry>
+                                        <term><varname>VXLAN=</varname></term>
+                                        <listitem>
+                                                <para>The name of a VXLAN to create on the link. This option
+                                                may be specified more than once.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Tunnel=</varname></term>
+                                        <listitem>
+                                                <para>The name of a Tunnel to create on the link. This option
+                                                may be specified more than once.</para>
+                                        </listitem>
+                                </varlistentry>
                         </variablelist>
 
+        </refsect1>
+
+        <refsect1>
+                <title>[Address] Section Options</title>
+
                         <para>An <literal>[Address]</literal> section accepts the following keys.
                         Specify several <literal>[Address]</literal> sections to configure several
                         addresses.</para>
                                                 <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
                                         </listitem>
                                 </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Peer=</varname></term>
+                                        <listitem>
+                                                <para>The peer address in a point-to-point connection. Accepts the same format as
+                                                the <literal>Address</literal> key.</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
+                                                <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>
                                         </listitem>
                                 </varlistentry>
                         </variablelist>
+        </refsect1>
 
+        <refsect1>
+                <title>[Route] Section Options</title>
                         <para>The <literal>[Route]</literal> section accepts the following keys. Specify
                         several <literal>[Route]</literal> sections to configure several routes.</para>
 
                                         <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>
+                                                prefixlength. If ommitted, a full-length host route is assumed.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Metric=</varname></term>
+                                        <listitem>
+                                                <para>The metric of the route. An unsigned integer</para>
                                         </listitem>
                                 </varlistentry>
                         </variablelist>
+        </refsect1>
 
-                        <para>The <literal>[DHCPv4]</literal> section accepts the following keys:</para>
+        <refsect1>
+                <title>[DHCP] Section Options</title>
+                        <para>The <literal>[DHCP]</literal> section accepts the following keys:</para>
 
                         <variablelist class='network-directives'>
                                 <varlistentry>
                                                 be used on the current link. Defaults to false.</para>
                                         </listitem>
                                 </varlistentry>
+                                <varlistentry>
+                                        <term><varname>SendHostname=</varname></term>
+                                        <listitem>
+                                                <para>When true (the default), the machine's hostname will be sent to the DHCP
+                                                server</para>
+                                        </listitem>
+                                </varlistentry>
                                 <varlistentry>
                                         <term><varname>UseHostname=</varname></term>
                                         <listitem>
                                                 will be used as the transient hostname.</para>
                                         </listitem>
                                 </varlistentry>
+                                <varlistentry>
+                                        <term><varname>UseRoutes=</varname></term>
+                                        <listitem>
+                                                <para>When true (the default), the static routes will be requested from the DHCP server
+                                                and added to the routing table with metric of 1024.</para>
+                                        </listitem>
+                                </varlistentry>
                                 <varlistentry>
                                         <term><varname>CriticalConnection=</varname></term>
                                         <listitem>
                                                 if, say, the root filesystem relies on this connection. Defaults to false.</para>
                                         </listitem>
                                 </varlistentry>
+                                <varlistentry>
+                                        <term><varname>VendorClassIdentifier=</varname></term>
+                                        <listitem>
+                                                <para>The vendor class identifier used to identify vendor type and configuration.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>RequestBroadcast=</varname></term>
+                                        <listitem>
+                                                <para>Request the server to use broadcast messages before the IP address has been
+                                                configured. This is necessary for devices that cannot receive RAW packets, or that
+                                                cannot receive packets at all before an IP address has been configured. On the other
+                                                hand, this must not be enabled on networks where broadcasts are filtered out.</para>
+                                        </listitem>
+                                </varlistentry>
                        </variablelist>
 
         </refsect1>
@@ -360,7 +500,7 @@ Gateway=192.168.0.1</programlisting>
 Name=en*
 
 [Network]
-DHCP=yes</programlisting>
+DHCP=both</programlisting>
                 </example>
 
                 <example>
@@ -384,6 +524,45 @@ Name=enp2s0
 [Network]
 Bridge=bridge0</programlisting>
                 </example>
+                <example>
+                        <title>/etc/systemd/network/ipip.network</title>
+
+                        <programlisting>[Match]
+Name=em1
+
+[Network]
+Tunnel=ipip-tun</programlisting>
+                </example>
+
+                <example>
+                        <title>/etc/systemd/network/sit.network</title>
+
+                        <programlisting>[Match]
+Name=em1
+
+[Network]
+Tunnel=sit-tun</programlisting>
+                </example>
+
+                <example>
+                        <title>/etc/systemd/network/gre.network</title>
+
+                        <programlisting>[Match]
+Name=em1
+
+[Network]
+Tunnel=gre-tun</programlisting>
+                </example>
+
+                <example>
+                        <title>/etc/systemd/network/vti.network</title>
+
+                        <programlisting>[Match]
+Name=em1
+
+[Network]
+Tunnel=vti-tun</programlisting>
+                </example>
         </refsect1>
 
         <refsect1>