<?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">

<!--
  SPDX-License-Identifier: LGPL-2.1-or-later

  Copyright © 2014 Vinay Kulkarni
-->

<refentry id="networkd.conf" conditional='ENABLE_NETWORKD'
    xmlns:xi="http://www.w3.org/2001/XInclude">
  <refentryinfo>
    <title>networkd.conf</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>networkd.conf</refentrytitle>
    <manvolnum>5</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>networkd.conf</refname>
    <refname>networkd.conf.d</refname>
    <refpurpose>Global Network configuration files</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>/etc/systemd/networkd.conf</filename></para>
    <para><filename>/etc/systemd/networkd.conf.d/*.conf</filename></para>
    <para><filename>/usr/lib/systemd/networkd.conf.d/*.conf</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para>These configuration files control global network parameters.
    Currently the DHCP Unique Identifier (DUID).</para>

  </refsect1>

  <xi:include href="standard-conf.xml" xpointer="main-conf" />

  <refsect1>
    <title>[Network] Section Options</title>

    <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></command> shows the measured speed.
        Defaults to no.</para></listitem>
      </varlistentry>

      <varlistentry>
        <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>ManageForeignRoutingPolicyRules=</varname></term>
        <listitem><para>A boolean. When true, <command>systemd-networkd</command> will remove rules
        that are not configured in .network files (except for rules with protocol
        <literal>kernel</literal>). When false, it will not remove any foreign rules, keeping them even
        if they are not configured in a .network file. Defaults to yes.
        </para></listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>ManageForeignRoutes=</varname></term>
        <listitem><para>A boolean. When true, <command>systemd-networkd</command> will remove routes
        that are not configured in .network files (except for routes with protocol
        <literal>kernel</literal>, <literal>dhcp</literal> when <varname>KeepConfiguration=</varname>
        is true or <literal>dhcp</literal>, and <literal>static</literal> when
        <varname>KeepConfiguration=</varname> is true or <literal>static</literal>). When false, it will
        not remove any foreign routes, keeping them even if they are not configured in a .network file.
        Defaults to yes.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>RouteTable=</varname></term>
        <listitem><para>Defines the route table name. Takes a whitespace-separated list of the pairs of
        route table name and number. The route table name and number in each pair are separated with a
        colon, i.e., <literal><replaceable>name</replaceable>:<replaceable>number</replaceable></literal>.
        The route table name must not be <literal>default</literal>, <literal>main</literal>, or
        <literal>local</literal>, as these route table names are predefined with route table number 253,
        254, and 255, respectively. The route table number must be an integer in the range 1…4294967295.
        This setting can be specified multiple times. If an empty string is specified, then the list
        specified earlier are cleared. Defaults to unset.</para></listitem>
      </varlistentry>

    </variablelist>
  </refsect1>

  <refsect1>
    <title>[DHCPv4] Section Options</title>

    <para>This section configures the DHCP Unique Identifier (DUID) value used by DHCP protocol. 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 address. To configure IAID and ClientIdentifier, see
    <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
    </para>

    <para>The following options are understood:</para>

    <variablelist class='network-directives'>
      <varlistentry>
        <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>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>
  </refsect1>

  <refsect1>
    <title>[DHCPv6] Section Options</title>

    <para>This section configures the DHCP Unique Identifier (DUID) value used by DHCPv6 protocol.
    DHCPv6 client protocol sends the DHCP Unique Identifier and the interface Identity Association
    Identifier (IAID) to a DHCPv6 server when acquiring a dynamic IPv6 address. IAID and DUID allows a
    DHCPv6 server to uniquely identify the machine and the interface requesting a DHCP IP address. To
    configure IAID, see
    <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
    </para>

    <para>The following options are understood:</para>

    <variablelist class='network-directives'>
      <varlistentry>
        <term><varname>DUIDType=</varname></term>
        <term><varname>DUIDRawData=</varname></term>
        <listitem><para>As in the [DHCPv4] section.</para></listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
      <title>See Also</title>
      <para>
      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</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>

</refentry>
