-<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+<?xml version='1.0'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
- This file is part of systemd.
+ SPDX-License-Identifier: LGPL-2.1+
- Copyright 2014 Vinay Kulkarni
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ Copyright © 2014 Vinay Kulkarni
-->
<refentry id="networkd.conf" conditional='ENABLE_NETWORKD'
<refentryinfo>
<title>networkd.conf</title>
<productname>systemd</productname>
-
- <authorgroup>
- <author>
- <contrib>Developer</contrib>
- <firstname>Vinay</firstname>
- <surname>Kulkarni</surname>
- <email>kulkarniv@vmware.com</email>
- </author>
- </authorgroup>
</refentryinfo>
<refmeta>
<title>Description</title>
<para>These configuration files control global network parameters.
- For e.g. DHCP Unique Identifier (DUID).</para>
+ Currently the DHCP Unique Identifier (DUID).</para>
</refsect1>
<xi:include href="standard-conf.xml" xpointer="main-conf" />
<refsect1>
- <title>[DUID] Section Options</title>
+ <title>[Network] Section Options</title>
- <para>This section configures the DHCP Unique Idendifier (DUID) value used by DHCP
- protocol. DHCPv6 client protocol sends the DHCP Unique Identifier and the interface
- Identity Association Identifier (IAID) to a DHCP server when acquiring a dynamic IPv6
- address. DHCPv4 client protocol sends IAID and DUID to the DHCP server when acquiring
- a dynamic IPv4 address if <option>ClientIdentifier=duid</option>. IAID and DUID allows
- a DHCP server to uniquely identify the machine and the interface requesting a DHCP IP.
- To configure IAID and ClientIdentifier, see <citerefentry><refentrytitle>systemd.network
- </refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
-
- <para>The DUID value specified here overrides the DUID that systemd-networkd
- generates using the machine-id from the <filename>/etc/machine-id</filename> file.
- To configure DUID per-network, see <citerefentry><refentrytitle>systemd.network
- </refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
-
- <para>The configured DHCP DUID should conform to the specification in
- <ulink url="http://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>,
- <ulink url="http://tools.ietf.org/html/rfc6355">RFC 6355</ulink>. To configure IAID, see
- <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum>
- </citerefentry>.</para>
-
- <para>The following options are available in <literal>[DUID]</literal> section:</para>
+ <para>The following options are available in the [Network] section:</para>
<variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>SpeedMeter=</varname></term>
+ <listitem><para>Takes a boolean. If set to yes, then <command>systemd-networkd</command>
+ measures the traffic of each interface, and
+ <command>networkctl status <replaceable>INTERFACE</replaceable> shows the measured speed.
+ </command>Defaults to no.</para></listitem>
+ </varlistentry>
<varlistentry>
- <term><varname>Type=</varname></term>
- <listitem><para>The type of DUID specified in this section. The following values are
- supported:</para>
- <para>raw : If <literal>Type=raw</literal>, then <literal>RawData=</literal> specifies
- the entire DUID. For e.g: <literal>RawData=00:02:00:00:ab:11:f9:2a:c2:77:29:f9:5c:00</literal>
- specifies a 14 byte long DUID-EN ("00:02"), with enterprise number 43793 ("00:00:ab:11"),
- and identifier value "f9:2a:c2:77:29:f9:5c:00".</para><para>If Type is not specified and
- RawData is specified, Type defaults to 'raw'.</para>
- <para>Type will support the following values in the future:</para>
- <para>link-layer-and-time : If <literal>Type=link-layer-and-time</literal>, then
- <literal>MACAddress=</literal> and <literal>TimeStamp=</literal> specify the hardware
- address and time-stamp for DUID-LLT.</para>
- <para>vendor : If <literal>Type=vendor</literal>, then <literal>EnterpriseNumber=</literal>
- and <literal>RawData=</literal> specify the enterprise number and identifier for DUID-EN.</para>
- <para>link-layer : If <literal>Type=link-layer</literal>, then <literal>MACAddress=</literal>
- specifies the hardware address for DUID-LL.</para>
- <para>uuid : If <literal>Type=uuid</literal>, then <literal>UUID=</literal> specifies DUID-UUID.
- </para></listitem>
+ <term><varname>SpeedMeterIntervalSec=</varname></term>
+ <listitem><para>Specifies the time interval to calculate the traffic speed of each interface.
+ If <varname>SpeedMeter=no</varname>, the value is ignored. Defaults to 10sec.</para></listitem>
</varlistentry>
<varlistentry>
- <term><varname>RawData=</varname></term>
- <listitem><para>Specifies the DUID bytes as a single newline-terminated, hexadecimal
- string, with each byte separated by a ':'.</para></listitem>
+ <term><varname>ManageForeignRoutes=</varname></term>
+ <listitem><para>A boolean. When true, <command>systemd-networkd</command> will store any routes
+ configured by other tools in its memory. When false, <command>systemd-networkd</command> will
+ not manage the foreign routes, thus they are kept even if <varname>KeepConfiguration=</varname>
+ is false. Defaults to yes.</para></listitem>
</varlistentry>
+
</variablelist>
</refsect1>
<refsect1>
- <para>The following options will be supported in the future:
+ <title>[DHCP] Section Options</title>
+
+ <para>This section configures the DHCP Unique Identifier (DUID) value used by DHCP
+ protocol. DHCPv6 client protocol sends the DHCP Unique Identifier and the interface
+ Identity Association Identifier (IAID) to a DHCP server when acquiring a dynamic IPv6
+ address. DHCPv4 client protocol sends IAID and DUID to the DHCP server when acquiring
+ a dynamic IPv4 address if <option>ClientIdentifier=duid</option>. IAID and DUID allows
+ a DHCP server to uniquely identify the machine and the interface requesting a DHCP IP.
+ To configure IAID and ClientIdentifier, see
+ <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
</para>
- <variablelist>
- <varlistentry>
- <term><varname>MACAddress=</varname></term>
- <listitem><para>Specifies the link-layer address for DUID Type <option>link-layer
- </option> or <option>link-layer-and-time</option>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>TimeStamp=</varname></term>
- <listitem><para>Specifies the DUID generation time for DUID Type <option>
- link-layer-and-time</option>.</para></listitem>
- </varlistentry>
+
+ <para>The following options are understood:</para>
+
+ <variablelist class='network-directives'>
<varlistentry>
- <term><varname>EnterpriseNumber=</varname></term>
- <listitem><para>Specifies the enterprise number for DUID Type
- <option>vendor</option>.</para></listitem>
+ <term><varname>DUIDType=</varname></term>
+ <listitem><para>Specifies how the DUID should be generated. See
+ <ulink url="https://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>
+ for a description of all the options.</para>
+
+ <para>The following values are understood:
+ <variablelist>
+ <varlistentry>
+ <term><option>vendor</option></term>
+ <listitem><para>If <literal>DUIDType=vendor</literal>, then the DUID value will be generated using
+ <literal>43793</literal> as the vendor identifier (systemd) and hashed contents of
+ <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ This is the default if <varname>DUIDType=</varname> is not specified.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>uuid</option></term>
+ <listitem><para>If <literal>DUIDType=uuid</literal>, and <varname>DUIDRawData=</varname> is not set,
+ then the product UUID is used as a DUID value. If a system does not have valid product UUID, then
+ an application-specific
+ <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ is used as a DUID value. About the application-specific machine ID, see
+ <citerefentry><refentrytitle>sd_id128_get_machine_app_specific</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>link-layer-time[:<replaceable>TIME</replaceable>]</option></term>
+ <term><option>link-layer</option></term>
+ <listitem><para>If <literal>link-layer-time</literal> or <literal>link-layer</literal> is specified,
+ then the MAC address of the interface is used as a DUID value. The value <literal>link-layer-time</literal>
+ can take additional time value after a colon, e.g. <literal>link-layer-time:2018-01-23 12:34:56 UTC</literal>.
+ The default time value is <literal>2000-01-01 00:00:00 UTC</literal>.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ <para>In all cases, <varname>DUIDRawData=</varname> can be used to override the
+ actual DUID value that is used.</para></listitem>
</varlistentry>
+
<varlistentry>
- <term><varname>UUID=</varname></term>
- <listitem><para>Specifies the UUID for DUID Type <option>uuid</option>.</para>
+ <term><varname>DUIDRawData=</varname></term>
+ <listitem><para>Specifies the DHCP DUID value as a single newline-terminated, hexadecimal string, with each
+ byte separated by <literal>:</literal>. The DUID that is sent is composed of the DUID type specified by
+ <varname>DUIDType=</varname> and the value configured here.</para>
+
+ <para>The DUID value specified here overrides the DUID that
+ <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ generates from the machine ID. To configure DUID per-network, see
+ <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ The configured DHCP DUID should conform to the specification in
+ <ulink url="http://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>,
+ <ulink url="http://tools.ietf.org/html/rfc6355">RFC 6355</ulink>. To configure IAID, see
+ <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry>.</para>
+
+ <example>
+ <title>A <option>DUIDType=vendor</option> with a custom value</title>
+
+ <programlisting>DUIDType=vendor
+DUIDRawData=00:00:ab:11:f9:2a:c2:77:29:f9:5c:00</programlisting>
+
+ <para>This specifies a 14 byte DUID, with the type DUID-EN (<literal>00:02</literal>), enterprise number
+ 43793 (<literal>00:00:ab:11</literal>), and identifier value <literal>f9:2a:c2:77:29:f9:5c:00</literal>.
+ </para>
+ </example>
</listitem>
</varlistentry>
</variablelist>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_id128_get_machine_app_specific</refentrytitle><manvolnum>3</manvolnum></citerefentry>
</para>
</refsect1>