1<?xml version='1.0'?>
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5<!--
6  SPDX-License-Identifier: LGPL-2.1-or-later
7
8  Copyright © 2014 Vinay Kulkarni
9-->
10
11<refentry id="networkd.conf" conditional='ENABLE_NETWORKD'
12    xmlns:xi="http://www.w3.org/2001/XInclude">
13  <refentryinfo>
14    <title>networkd.conf</title>
15    <productname>systemd</productname>
16  </refentryinfo>
17
18  <refmeta>
19    <refentrytitle>networkd.conf</refentrytitle>
20    <manvolnum>5</manvolnum>
21  </refmeta>
22
23  <refnamediv>
24    <refname>networkd.conf</refname>
25    <refname>networkd.conf.d</refname>
26    <refpurpose>Global Network configuration files</refpurpose>
27  </refnamediv>
28
29  <refsynopsisdiv>
30    <para><filename>/etc/systemd/networkd.conf</filename></para>
31    <para><filename>/etc/systemd/networkd.conf.d/*.conf</filename></para>
32    <para><filename>/usr/lib/systemd/networkd.conf.d/*.conf</filename></para>
33  </refsynopsisdiv>
34
35  <refsect1>
36    <title>Description</title>
37
38    <para>These configuration files control global network parameters.
39    Currently the DHCP Unique Identifier (DUID).</para>
40
41  </refsect1>
42
43  <xi:include href="standard-conf.xml" xpointer="main-conf" />
44
45  <refsect1>
46    <title>[Network] Section Options</title>
47
48    <para>The following options are available in the [Network] section:</para>
49
50    <variablelist class='network-directives'>
51      <varlistentry>
52        <term><varname>SpeedMeter=</varname></term>
53        <listitem><para>Takes a boolean. If set to yes, then <command>systemd-networkd</command>
54        measures the traffic of each interface, and
55        <command>networkctl status <replaceable>INTERFACE</replaceable></command> shows the measured speed.
56        Defaults to no.</para></listitem>
57      </varlistentry>
58
59      <varlistentry>
60        <term><varname>SpeedMeterIntervalSec=</varname></term>
61        <listitem><para>Specifies the time interval to calculate the traffic speed of each interface.
62        If <varname>SpeedMeter=no</varname>, the value is ignored. Defaults to 10sec.</para></listitem>
63      </varlistentry>
64
65      <varlistentry>
66        <term><varname>ManageForeignRoutingPolicyRules=</varname></term>
67        <listitem><para>A boolean. When true, <command>systemd-networkd</command> will remove rules
68        that are not configured in .network files (except for rules with protocol
69        <literal>kernel</literal>). When false, it will not remove any foreign rules, keeping them even
70        if they are not configured in a .network file. Defaults to yes.
71        </para></listitem>
72      </varlistentry>
73
74      <varlistentry>
75        <term><varname>ManageForeignRoutes=</varname></term>
76        <listitem><para>A boolean. When true, <command>systemd-networkd</command> will remove routes
77        that are not configured in .network files (except for routes with protocol
78        <literal>kernel</literal>, <literal>dhcp</literal> when <varname>KeepConfiguration=</varname>
79        is true or <literal>dhcp</literal>, and <literal>static</literal> when
80        <varname>KeepConfiguration=</varname> is true or <literal>static</literal>). When false, it will
81        not remove any foreign routes, keeping them even if they are not configured in a .network file.
82        Defaults to yes.</para></listitem>
83      </varlistentry>
84
85      <varlistentry>
86        <term><varname>RouteTable=</varname></term>
87        <listitem><para>Defines the route table name. Takes a whitespace-separated list of the pairs of
88        route table name and number. The route table name and number in each pair are separated with a
89        colon, i.e., <literal><replaceable>name</replaceable>:<replaceable>number</replaceable></literal>.
90        The route table name must not be <literal>default</literal>, <literal>main</literal>, or
91        <literal>local</literal>, as these route table names are predefined with route table number 253,
92        254, and 255, respectively. The route table number must be an integer in the range 1…4294967295.
93        This setting can be specified multiple times. If an empty string is specified, then the list
94        specified earlier are cleared. Defaults to unset.</para></listitem>
95      </varlistentry>
96
97    </variablelist>
98  </refsect1>
99
100  <refsect1>
101    <title>[DHCPv4] Section Options</title>
102
103    <para>This section configures the DHCP Unique Identifier (DUID) value used by DHCP protocol. DHCPv4
104    client protocol sends IAID and DUID to the DHCP server when acquiring a dynamic IPv4 address if
105    <option>ClientIdentifier=duid</option>. IAID and DUID allows a DHCP server to uniquely identify the
106    machine and the interface requesting a DHCP IP address. To configure IAID and ClientIdentifier, see
107    <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
108    </para>
109
110    <para>The following options are understood:</para>
111
112    <variablelist class='network-directives'>
113      <varlistentry>
114        <term><varname>DUIDType=</varname></term>
115        <listitem><para>Specifies how the DUID should be generated. See
116        <ulink url="https://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>
117        for a description of all the options.</para>
118
119        <para>The following values are understood:
120        <variablelist>
121          <varlistentry>
122            <term><option>vendor</option></term>
123            <listitem><para>If <literal>DUIDType=vendor</literal>, then the DUID value will be generated using
124            <literal>43793</literal> as the vendor identifier (systemd) and hashed contents of
125            <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
126            This is the default if <varname>DUIDType=</varname> is not specified.
127            </para></listitem>
128          </varlistentry>
129
130          <varlistentry>
131            <term><option>uuid</option></term>
132            <listitem><para>If <literal>DUIDType=uuid</literal>, and <varname>DUIDRawData=</varname> is not set,
133            then the product UUID is used as a DUID value. If a system does not have valid product UUID, then
134            an application-specific
135            <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>
136            is used as a DUID value. About the application-specific machine ID, see
137            <citerefentry><refentrytitle>sd_id128_get_machine_app_specific</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
138            </para></listitem>
139          </varlistentry>
140
141          <varlistentry>
142            <term><option>link-layer-time[:<replaceable>TIME</replaceable>]</option></term>
143            <term><option>link-layer</option></term>
144            <listitem><para>If <literal>link-layer-time</literal> or <literal>link-layer</literal> is specified,
145            then the MAC address of the interface is used as a DUID value. The value <literal>link-layer-time</literal>
146            can take additional time value after a colon, e.g. <literal>link-layer-time:2018-01-23 12:34:56 UTC</literal>.
147            The default time value is <literal>2000-01-01 00:00:00 UTC</literal>.
148            </para></listitem>
149          </varlistentry>
150        </variablelist>
151        </para>
152
153        <para>In all cases, <varname>DUIDRawData=</varname> can be used to override the
154        actual DUID value that is used.</para></listitem>
155      </varlistentry>
156
157      <varlistentry>
158        <term><varname>DUIDRawData=</varname></term>
159        <listitem><para>Specifies the DHCP DUID value as a single newline-terminated, hexadecimal string, with each
160        byte separated by <literal>:</literal>. The DUID that is sent is composed of the DUID type specified by
161        <varname>DUIDType=</varname> and the value configured here.</para>
162
163        <para>The DUID value specified here overrides the DUID that
164        <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
165        generates from the machine ID. To configure DUID per-network, see
166        <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
167        The configured DHCP DUID should conform to the specification in
168        <ulink url="http://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>,
169        <ulink url="http://tools.ietf.org/html/rfc6355">RFC 6355</ulink>. To configure IAID, see
170        <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum>
171        </citerefentry>.</para>
172
173        <example>
174          <title>A <option>DUIDType=vendor</option> with a custom value</title>
175
176          <programlisting>DUIDType=vendor
177DUIDRawData=00:00:ab:11:f9:2a:c2:77:29:f9:5c:00</programlisting>
178
179          <para>This specifies a 14 byte DUID, with the type DUID-EN (<literal>00:02</literal>), enterprise number
180          43793 (<literal>00:00:ab:11</literal>), and identifier value <literal>f9:2a:c2:77:29:f9:5c:00</literal>.
181          </para>
182        </example>
183        </listitem>
184      </varlistentry>
185    </variablelist>
186  </refsect1>
187
188  <refsect1>
189    <title>[DHCPv6] Section Options</title>
190
191    <para>This section configures the DHCP Unique Identifier (DUID) value used by DHCPv6 protocol.
192    DHCPv6 client protocol sends the DHCP Unique Identifier and the interface Identity Association
193    Identifier (IAID) to a DHCPv6 server when acquiring a dynamic IPv6 address. IAID and DUID allows a
194    DHCPv6 server to uniquely identify the machine and the interface requesting a DHCP IP address. To
195    configure IAID, see
196    <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
197    </para>
198
199    <para>The following options are understood:</para>
200
201    <variablelist class='network-directives'>
202      <varlistentry>
203        <term><varname>DUIDType=</varname></term>
204        <term><varname>DUIDRawData=</varname></term>
205        <listitem><para>As in the [DHCPv4] section.</para></listitem>
206      </varlistentry>
207    </variablelist>
208  </refsect1>
209
210  <refsect1>
211      <title>See Also</title>
212      <para>
213      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
214      <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
215      <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
216      <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
217      <citerefentry><refentrytitle>sd_id128_get_machine_app_specific</refentrytitle><manvolnum>3</manvolnum></citerefentry>
218      </para>
219  </refsect1>
220
221</refentry>
222