</refsect1>
+ <refsect1>
+ <title>[Link] Section Options</title>
+
+ <para> The <literal>[Link]</literal> section accepts the following keys:</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>MACAddress=</varname></term>
+ <listitem>
+ <para>The hardware address.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>MTUBytes=</varname></term>
+ <listitem>
+ <para>The maximum transmission unit in bytes to
+ set for the device. The usual suffixes K, M, G,
+ are supported and are understood to the base of
+ 1024.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
<refsect1>
<title>[Network] Section Options</title>
<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>yes</literal>, <literal>no</literal>,
+ <literal>ipv4</literal> or <literal>ipv6</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 one has not been 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 false.
+ </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>LLDP=</varname></term>
+ <listitem>
+ <para>A boolean. When true, enables LLDP link receive support.
</para>
</listitem>
</varlistentry>
interfaces and all
known network
configuration files to
- avoid IP range
+ 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::] for
+ and fc00::/7 for
IPv6. This
functionality is
useful to manage a
This option may be specified more than once.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>Domains=</varname></term>
+ <listitem>
+ <para>The domains used for DNS resolution over this link.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>NTP=</varname></term>
+ <listitem>
+ <para>An NTP server address. This option may be specified more than once.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>IPForward=</varname></term>
+ <listitem><para>Configures IP
+ forwarding for the network
+ interface. If enabled incoming
+ packets on the network
+ interface will be forwarded to
+ other interfaces according to
+ the routing table. Takes
+ either a boolean argument, or
+ the values
+ <literal>ipv4</literal> or
+ <literal>ipv6</literal>, which
+ only enables IP forwarding for
+ the specified address
+ family.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>IPMasquerade=</varname></term>
+ <listitem><para>Configures IP
+ masquerading for the network
+ interface. If enabled packets
+ forwarded from the network
+ interface will be appear as
+ coming from the local
+ host. Takes a boolean
+ argument. Implies
+ <varname>IPForward=yes</varname>.</para></listitem>
+ </varlistentry>
<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>
<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>
<varlistentry>
<term><varname>Gateway=</varname></term>
<listitem>
- <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
+ <para>As in the <literal>[Network]</literal> section.</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>
+ prefixlength. If omitted, a full-length host route is assumed.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>Source=</varname></term>
+ <listitem>
+ <para>The source prefix of the route. Possibly followed by a slash and the
+ prefixlength. If omitted, 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>
<refsect1>
- <title>[DHCPv4] Section Options</title>
- <para>The <literal>[DHCPv4]</literal> section accepts the following keys:</para>
+ <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>UseDomains=</varname></term>
+ <listitem>
+ <para>When true (not the default), the domain name received from the DHCP server
+ will be used for DNS resolution over this link.</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>
+ <varlistentry>
+ <term><varname>RouteMetric=</varname></term>
+ <listitem>
+ <para>Set the routing metric for routes specified by the DHCP server.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect1>
+ <refsect1>
+ <title>[Bridge] Section Options</title>
+ <para>The <literal>[Bridge]</literal> section accepts the following keys.</para>
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>Cost=</varname></term>
+ <listitem>
+ <para>Each port in a bridge may have different speed. Cost is used to decide which link to use. Faster interfaces should have lower costs</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>[BridgeFDB] Section Options</title>
+ <para>The <literal>[BridgeFDB]</literal> section manages the forwarding database table of a port and accepts the following keys. Specify
+ several <literal>[BridgeFDB]</literal> sections to configure several static MAC table entries.</para>
+
+ <variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>MACAddress=</varname></term>
+ <listitem>
+ <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>VLANId=</varname></term>
+ <listitem>
+ <para>The VLAN Id for the new static MAC table entry.
+ If omitted, no VLAN Id info is appended to the new static MAC table entry.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
<refsect1>
<title>Example</title>
<example>
Name=en*
[Network]
-DHCP=yes</programlisting>
+DHCP=both</programlisting>
</example>
<example>
[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>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>