<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<!--
  This file is part of systemd.

  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/>.
-->

<refentry id="networkd.conf" conditional='ENABLE_NETWORKD'
    xmlns:xi="http://www.w3.org/2001/XInclude">
  <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>
    <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>[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>

    <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>link-layer-time</option> </term>
            <term><option>link-layer</option> </term>
            <term><option>uuid</option> </term>
            <listitem><para>Those values are parsed and can be used to set the DUID type
            field, but DUID contents must be provided using <varname>DUIDRawData=</varname>.
            </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 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>.
        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>See Also</title>
      <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>
      </para>
  </refsect1>

</refentry>
