]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
man: reorder items in [DHCPv4] and [DHCPv6] sections
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 14 May 2021 06:58:44 +0000 (08:58 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 14 May 2021 09:48:33 +0000 (11:48 +0200)
The settings were listen in a completely random order, also different
between the v4 and v6 sections. Order by "options sent", "options received",
"communication settings" in both sections.

Also minor formatting changes are done, e.g. "=" is added in various places.

man/systemd.network.xml

index 5c1c6e118eeed0785a0997c9e62f05fb2de05fd3..15ba1dfb06dd539401ddc4c773696e0c1f82d29e 100644 (file)
@@ -1616,56 +1616,101 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
       <varname>DHCP=</varname> setting described above:</para>
 
       <variablelist class='network-directives'>
+
+        <!-- DHCP packet contents -->
+
         <varlistentry>
-          <term><varname>UseDNS=</varname></term>
+          <term><varname>SendHostname=</varname></term>
           <listitem>
-            <para>When true (the default), the DNS servers received from the DHCP server will be used.</para>
+            <para>When true (the default), the machine's hostname will be sent to the DHCP server.
+            Note that the machine's hostname must consist only of 7-bit ASCII lower-case characters and
+            no spaces or dots, and be formatted as a valid DNS domain name. Otherwise, the hostname is not
+            sent even if this is set to true.</para>
+          </listitem>
+        </varlistentry>
 
-            <para>This corresponds to the <option>nameserver</option>
-            option in <citerefentry
-            project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
+        <varlistentry>
+          <term><varname>Hostname=</varname></term>
+          <listitem>
+            <para>Use this value for the hostname which is sent to the DHCP server, instead of machine's hostname.
+            Note that the specified hostname must consist only of 7-bit ASCII lower-case characters and
+            no spaces or dots, and be formatted as a valid DNS domain name.</para>
           </listitem>
         </varlistentry>
+
         <varlistentry>
-          <term><varname>RoutesToDNS=</varname></term>
+          <term><varname>MUDURL=</varname></term>
           <listitem>
-            <para>When true, the routes to the DNS servers received from the DHCP server will be
-            configured. When <varname>UseDNS=</varname> is disabled, this setting is ignored.
-            Defaults to true.</para>
+            <para>When configured, the specified Manufacturer Usage Description (MUD) URL will be sent to the
+            DHCPv4 server. Takes a URL of length up to 255 characters. A superficial verification that the
+            string is a valid URL will be performed. DHCPv4 clients are intended to have at most one MUD URL
+            associated with them. See <ulink url="https://tools.ietf.org/html/rfc8520">RFC 8520</ulink>.
+            </para>
+
+            <para>MUD is an embedded software standard defined by the IETF that allows IoT device makers to
+            advertise device specifications, including the intended communication patterns for their device
+            when it connects to the network. The network can then use this to author a context-specific
+            access policy, so the device functions only within those parameters.</para>
           </listitem>
         </varlistentry>
+
         <varlistentry>
-          <term><varname>UseNTP=</varname></term>
+          <term><varname>ClientIdentifier=</varname></term>
           <listitem>
-            <para>When true (the default), the NTP servers received from the DHCP server will be used by
-            <filename>systemd-timesyncd.service</filename>.</para>
+            <para>The DHCPv4 client identifier to use. Takes one of <option>mac</option>,
+            <option>duid</option> or <option>duid-only</option>. If set to <option>mac</option>, the
+            MAC address of the link is used. If set to <option>duid</option>, an RFC4361-compliant Client
+            ID, which is the combination of IAID and DUID (see below), is used. If set to
+            <option>duid-only</option>, only DUID is used, this may not be RFC compliant, but some setups
+            may require to use this.  Defaults to <option>duid</option>.</para>
           </listitem>
         </varlistentry>
+
         <varlistentry>
-          <term><varname>RoutesToNTP=</varname></term>
+          <term><varname>VendorClassIdentifier=</varname></term>
           <listitem>
-            <para>When true, the routes to the NTP servers received from the DHCP server will be
-            configured. When <varname>UseNTP=</varname> is disabled, this setting is ignored.
-            Defaults to true.</para>
+            <para>The vendor class identifier used to identify vendor
+            type and configuration.</para>
           </listitem>
         </varlistentry>
+
         <varlistentry>
-          <term><varname>UseSIP=</varname></term>
+          <term><varname>UserClass=</varname></term>
           <listitem>
-            <para>When true (the default), the SIP servers received from the DHCP server will be collected
-            and made available to client programs.</para>
+            <para>A DHCPv4 client can use UserClass option to identify the type or category of user or
+            applications it represents. The information contained in this option is a string that represents
+            the user class of which the client is a member. Each class sets an identifying string of
+            information to be used by the DHCP service to classify clients. Takes a whitespace-separated list
+            of strings.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>UseMTU=</varname></term>
+          <term><varname>DUIDType=</varname></term>
           <listitem>
-            <para>When true, the interface maximum transmission unit
-            from the DHCP server will be used on the current link.
-            If <varname>MTUBytes=</varname> is set, then this setting is ignored.
-            Defaults to false.</para>
+            <para>Override the global <varname>DUIDType=</varname> setting for this network. See
+            <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+            for a description of possible values.</para>
           </listitem>
         </varlistentry>
+
+        <varlistentry>
+          <term><varname>DUIDRawData=</varname></term>
+          <listitem>
+            <para>Override the global <varname>DUIDRawData=</varname> setting for this network. See
+            <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+            for a description of possible values.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><varname>IAID=</varname></term>
+          <listitem>
+            <para>The DHCP Identity Association Identifier (IAID) for the interface, a 32-bit unsigned
+            integer.</para>
+          </listitem>
+        </varlistentry>
+
         <varlistentry>
           <term><varname>Anonymize=</varname></term>
           <listitem>
@@ -1674,7 +1719,7 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
             DHCP Clients) to minimize disclosure of identifying information. Defaults to false.</para>
 
             <para>This option should only be set to true when <varname>MACAddressPolicy=</varname> is
-            set to <literal>random</literal> (see
+            set to <option>random</option> (see
             <citerefentry project='man-pages'><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
             </para>
 
@@ -1689,166 +1734,142 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
             though most of the requested data is not actually used.</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.
-            Note that the machine's hostname must consist only of 7-bit ASCII lower-case characters and
-            no spaces or dots, and be formatted as a valid DNS domain name. Otherwise, the hostname is not
-            sent even if this is set to true.</para>
-          </listitem>
-        </varlistentry>
 
         <varlistentry>
-          <term><varname>MUDURL=</varname></term>
+          <term><varname>RequestOptions=</varname></term>
           <listitem>
-            <para>When configured, the specified Manufacturer Usage Description (MUD) URL will be sent to the
-            DHCPv4 server. Takes a URL of length up to 255 characters. A superficial verification that the
-            string is a valid URL will be performed. DHCPv4 clients are intended to have at most one MUD URL
-            associated with them. See <ulink url="https://tools.ietf.org/html/rfc8520">RFC 8520</ulink>.
-            </para>
-
-            <para>MUD is an embedded software standard defined by the IETF that allows IoT device makers to
-            advertise device specifications, including the intended communication patterns for their device
-            when it connects to the network. The network can then use this to author a context-specific
-            access policy, so the device functions only within those parameters.</para>
+            <para>Sets request options to be sent to the server in the DHCPv4 request options list. A
+            whitespace-separated list of integers in the range 1…254. Defaults to unset.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>UseHostname=</varname></term>
+          <term><varname>SendOption=</varname></term>
           <listitem>
-            <para>When true (the default), the hostname received from
-            the DHCP server will be set as the transient hostname of the system.
-            </para>
+            <para>Send an arbitrary raw option in the DHCPv4 request. Takes a DHCP option number, data type
+            and data separated with a colon
+            (<literal><replaceable>option</replaceable>:<replaceable>type</replaceable>:<replaceable>value</replaceable></literal>).
+            The option number must be an integer in the range 1…254. The type takes one of
+            <literal>uint8</literal>, <literal>uint16</literal>, <literal>uint32</literal>,
+            <literal>ipv4address</literal>, or <literal>string</literal>. Special characters in the data
+            string may be escaped using <ulink
+            url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style
+            escapes</ulink>. This setting can be specified multiple times. If an empty string is specified,
+            then all options specified earlier are cleared. Defaults to unset.</para>
           </listitem>
         </varlistentry>
+
         <varlistentry>
-          <term><varname>Hostname=</varname></term>
+          <term><varname>SendVendorOption=</varname></term>
           <listitem>
-            <para>Use this value for the hostname which is sent to the DHCP server, instead of machine's hostname.
-            Note that the specified hostname must consist only of 7-bit ASCII lower-case characters and
-            no spaces or dots, and be formatted as a valid DNS domain name.</para>
+            <para>Send an arbitrary vendor option in the DHCPv4 request. Takes a DHCP option number, data
+            type and data separated with a colon
+            (<literal><replaceable>option</replaceable>:<replaceable>type</replaceable>:<replaceable>value</replaceable></literal>).
+            The option number must be an integer in the range 1…254. The type takes one of
+            <literal>uint8</literal>, <literal>uint16</literal>, <literal>uint32</literal>,
+            <literal>ipv4address</literal>, or <literal>string</literal>. Special characters in the data
+            string may be escaped using <ulink
+            url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style
+            escapes</ulink>. This setting can be specified multiple times. If an empty string is specified,
+            then all options specified earlier are cleared. Defaults to unset.</para>
           </listitem>
         </varlistentry>
-        <varlistentry>
-          <term><varname>UseDomains=</varname></term>
-          <listitem>
-            <para>Takes a boolean, or the special value <literal>route</literal>. When true, the domain name
-            received from the DHCP server will be used as DNS search domain over this link, similar to the effect of
-            the <option>Domains=</option> setting. If set to <literal>route</literal>, the domain name received from
-            the DHCP server will be used for routing DNS queries only, but not for searching, similar to the effect of
-            the <option>Domains=</option> setting when the argument is prefixed with <literal>~</literal>. Defaults to
-            false.</para>
 
-            <para>It is recommended to enable this option only on trusted networks, as setting this affects resolution
-            of all hostnames, in particular of single-label names. It is generally safer to use the supplied domain
-            only as routing domain, rather than as search domain, in order to not have it affect local resolution of
-            single-label names.</para>
+        <!-- How to use the DHCP lease -->
 
-            <para>When set to true, this setting corresponds to the <option>domain</option> option in <citerefentry
-            project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</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 a metric of 1024, and a scope of "global", "link" or "host", depending on the route's
-              destination and gateway. If the destination is on the local host, e.g., 127.x.x.x, or the same as the
-              link's own address, the scope will be set to "host". Otherwise if the gateway is null (a direct route), a
-              "link" scope will be used. For anything else, scope defaults to "global".</para>
-          </listitem>
-        </varlistentry>
         <varlistentry>
-          <term><varname>UseGateway=</varname></term>
+          <term><varname>UseDNS=</varname></term>
           <listitem>
-            <para>When true, the gateway will be requested from the DHCP server and added to the routing table with a
-            metric of 1024, and a scope of "link". When unset, the value specified with <option>UseRoutes=</option>
-            is used.</para>
+            <para>When true (the default), the DNS servers received from the DHCP server will be used.</para>
+
+            <para>This corresponds to the <option>nameserver</option>
+            option in <citerefentry
+            project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
           </listitem>
         </varlistentry>
-        <varlistentry>
-          <term><varname>UseTimezone=</varname></term>
-          <listitem><para>When true, the timezone received from the
-          DHCP server will be set as timezone of the local
-          system. Defaults to <literal>no</literal>.</para></listitem>
-        </varlistentry>
 
         <varlistentry>
-          <term><varname>ClientIdentifier=</varname></term>
+          <term><varname>RoutesToDNS=</varname></term>
           <listitem>
-            <para>The DHCPv4 client identifier to use. Takes one of <literal>mac</literal>, <literal>duid</literal> or <literal>duid-only</literal>.
-            If set to <literal>mac</literal>, the MAC address of the link is used.
-            If set to <literal>duid</literal>, an RFC4361-compliant Client ID, which is the combination of IAID and DUID (see below), is used.
-            If set to <literal>duid-only</literal>, only DUID is used, this may not be RFC compliant, but some setups may require to use this.
-            Defaults to <literal>duid</literal>.</para>
+            <para>When true, the routes to the DNS servers received from the DHCP server will be
+            configured. When <varname>UseDNS=</varname> is disabled, this setting is ignored.
+            Defaults to true.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>VendorClassIdentifier=</varname></term>
+          <term><varname>UseNTP=</varname></term>
           <listitem>
-            <para>The vendor class identifier used to identify vendor
-            type and configuration.</para>
+            <para>When true (the default), the NTP servers received from the DHCP server will be used by
+            <filename>systemd-timesyncd.service</filename>.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>UserClass=</varname></term>
+          <term><varname>RoutesToNTP=</varname></term>
           <listitem>
-            <para>A DHCPv4 client can use UserClass option to identify the type or category of user or applications
-            it represents. The information contained in this option is a string that represents the user class of which
-            the client is a member. Each class sets an identifying string of information to be used by the DHCP
-            service to classify clients. Takes a whitespace-separated list of strings.</para>
+            <para>When true, the routes to the NTP servers received from the DHCP server will be
+            configured. When <varname>UseNTP=</varname> is disabled, this setting is ignored.
+            Defaults to true.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>MaxAttempts=</varname></term>
+          <term><varname>UseSIP=</varname></term>
           <listitem>
-            <para>Specifies how many times the DHCPv4 client configuration should be attempted. Takes a
-            number or <literal>infinity</literal>. Defaults to <literal>infinity</literal>. Note that the
-            time between retries is increased exponentially, up to approximately one per minute, so the
-            network will not be overloaded even if this number is high. The default is suitable in most
-            circumstances.</para>
+            <para>When true (the default), the SIP servers received from the DHCP server will be collected
+            and made available to client programs.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>DUIDType=</varname></term>
+          <term><varname>UseMTU=</varname></term>
           <listitem>
-            <para>Override the global <varname>DUIDType</varname> setting for this network. See
-            <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-            for a description of possible values.</para>
+            <para>When true, the interface maximum transmission unit from the DHCP server will be used on the
+            current link. If <varname>MTUBytes=</varname> is set, then this setting is ignored. Defaults to
+            false.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>DUIDRawData=</varname></term>
+          <term><varname>UseHostname=</varname></term>
           <listitem>
-            <para>Override the global <varname>DUIDRawData</varname> setting for this network. See
-            <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-            for a description of possible values.</para>
+            <para>When true (the default), the hostname received from the DHCP server will be set as the
+            transient hostname of the system.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>IAID=</varname></term>
+          <term><varname>UseDomains=</varname></term>
           <listitem>
-            <para>The DHCP Identity Association Identifier (IAID) for the interface, a 32-bit unsigned integer.</para>
+            <para>Takes a boolean, or the special value <option>route</option>. When true, the domain name
+            received from the DHCP server will be used as DNS search domain over this link, similar to the
+            effect of the <option>Domains=</option> setting. If set to <option>route</option>, the domain
+            name received from the DHCP server will be used for routing DNS queries only, but not for
+            searching, similar to the effect of the <option>Domains=</option> setting when the argument is
+            prefixed with <literal>~</literal>. Defaults to false.</para>
+
+            <para>It is recommended to enable this option only on trusted networks, as setting this affects
+            resolution of all hostnames, in particular of single-label names. It is generally safer to use
+            the supplied domain only as routing domain, rather than as search domain, in order to not have it
+            affect local resolution of single-label names.</para>
+
+            <para>When set to true, this setting corresponds to the <option>domain</option> option in
+            <citerefentry project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+            </para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>RequestBroadcast=</varname></term>
+          <term><varname>UseRoutes=</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>
+            <para>When true (the default), the static routes will be requested from the DHCP server and added
+            to the routing table with a metric of 1024, and a scope of <option>global</option>,
+            <option>link</option> or <option>host</option>, depending on the route's destination and
+            gateway. If the destination is on the local host, e.g., 127.x.x.x, or the same as the link's own
+            address, the scope will be set to <option>host</option>. Otherwise if the gateway is null (a
+            direct route), a <option>link</option> scope will be used. For anything else, scope defaults to
+            <option>global</option>.</para>
           </listitem>
         </varlistentry>
 
@@ -1880,13 +1901,21 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>ListenPort=</varname></term>
+          <term><varname>UseGateway=</varname></term>
           <listitem>
-            <para>Allow setting custom port for the DHCP client to listen on.</para>
+            <para>When true, the gateway will be requested from the DHCP server and added to the routing
+            table with a metric of 1024, and a scope of <option>link</option>. When unset, the value specified
+            with <varname>UseRoutes=</varname> is used.</para>
           </listitem>
         </varlistentry>
 
-         <varlistentry>
+        <varlistentry>
+          <term><varname>UseTimezone=</varname></term>
+          <listitem><para>When true, the timezone received from the DHCP server will be set as timezone of
+          the local system. Defaults to false.</para></listitem>
+        </varlistentry>
+
+        <varlistentry>
           <term><varname>FallbackLeaseLifetimeSec=</varname></term>
           <listitem>
             <para>Allows to set DHCPv4 lease lifetime when DHCPv4 server does not send the lease lifetime.
@@ -1895,81 +1924,74 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
           </listitem>
         </varlistentry>
 
+        <!-- How to communicate with the server -->
+
         <varlistentry>
-          <term><varname>SendRelease=</varname></term>
+          <term><varname>RequestBroadcast=</varname></term>
           <listitem>
-            <para>When true, the DHCPv4 client sends a DHCP release packet when it stops.
-            Defaults to true.</para>
+            <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>SendDecline=</varname></term>
+          <term><varname>MaxAttempts=</varname></term>
           <listitem>
-            <para>A boolean. When <literal>true</literal>, the DHCPv4 client receives the IP address from the
-            DHCP server.  After a new IP is received, the DHCPv4 client performs IPv4 Duplicate Address
-            Detection. If duplicate use is detected, the DHCPv4 client rejects the IP by sending a
-            DHCPDECLINE packet and tries to obtain an IP address again. See <ulink
-            url="https://tools.ietf.org/html/rfc5227">RFC 5224</ulink>. Defaults to
-            <literal>unset</literal>.</para>
+            <para>Specifies how many times the DHCPv4 client configuration should be attempted. Takes a
+            number or <literal>infinity</literal>. Defaults to <literal>infinity</literal>. Note that the
+            time between retries is increased exponentially, up to approximately one per minute, so the
+            network will not be overloaded even if this number is high. The default is suitable in most
+            circumstances.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-        <term><varname>DenyList=</varname></term>
-        <listitem>
-          <para>A whitespace-separated list of IPv4 addresses. DHCP offers from servers in the list are rejected. Note that
-          if <varname>AllowList=</varname> is configured then <varname>DenyList=</varname> is ignored.</para>
-        </listitem>
+          <term><varname>ListenPort=</varname></term>
+          <listitem>
+            <para>Allow setting custom port for the DHCP client to listen on.</para>
+          </listitem>
         </varlistentry>
 
         <varlistentry>
-        <term><varname>AllowList=</varname></term>
-        <listitem>
-          <para>A whitespace-separated list of IPv4 addresses. DHCP offers from servers in the list are accepted.</para>
-        </listitem>
+          <term><varname>DenyList=</varname></term>
+          <listitem>
+            <para>A whitespace-separated list of IPv4 addresses. DHCP offers from servers in the list are
+            rejected. Note that if <varname>AllowList=</varname> is configured then
+            <varname>DenyList=</varname> is ignored.</para>
+          </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>RequestOptions=</varname></term>
+          <term><varname>AllowList=</varname></term>
           <listitem>
-            <para>Sets request options to be sent to the server in the DHCPv4 request options list. A
-            whitespace-separated list of integers in the range 1…254. Defaults to unset.</para>
+            <para>A whitespace-separated list of IPv4 addresses. DHCP offers from servers in the list are
+            accepted.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>SendOption=</varname></term>
+          <term><varname>SendRelease=</varname></term>
           <listitem>
-            <para>Send an arbitrary raw option in the DHCPv4 request. Takes a DHCP option number, data type
-            and data separated with a colon
-            (<literal><replaceable>option</replaceable>:<replaceable>type</replaceable>:<replaceable>value</replaceable></literal>).
-            The option number must be an integer in the range 1…254. The type takes one of
-            <literal>uint8</literal>, <literal>uint16</literal>, <literal>uint32</literal>,
-            <literal>ipv4address</literal>, or <literal>string</literal>. Special characters in the data
-            string may be escaped using <ulink
-            url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style
-            escapes</ulink>. This setting can be specified multiple times. If an empty string is specified,
-            then all options specified earlier are cleared. Defaults to unset.</para>
+            <para>When true, the DHCPv4 client sends a DHCP release packet when it stops. Defaults to
+            true.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>SendVendorOption=</varname></term>
+          <term><varname>SendDecline=</varname></term>
           <listitem>
-            <para>Send an arbitrary vendor option in the DHCPv4 request. Takes a DHCP option number, data
-            type and data separated with a colon
-            (<literal><replaceable>option</replaceable>:<replaceable>type</replaceable>:<replaceable>value</replaceable></literal>).
-            The option number must be an integer in the range 1…254. The type takes one of
-            <literal>uint8</literal>, <literal>uint16</literal>, <literal>uint32</literal>,
-            <literal>ipv4address</literal>, or <literal>string</literal>. Special characters in the data
-            string may be escaped using <ulink
-            url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style
-            escapes</ulink>. This setting can be specified multiple times. If an empty string is specified,
-            then all options specified earlier are cleared. Defaults to unset.</para>
+            <para>A boolean. When <literal>true</literal>, the DHCPv4 client receives the IP address from the
+            DHCP server. After a new IP is received, the DHCPv4 client performs IPv4 Duplicate Address
+            Detection. If duplicate use is detected, the DHCPv4 client rejects the IP by sending a
+            <constant>DHCPDECLINE</constant> packet and tries to obtain an IP address again. See <ulink
+            url="https://tools.ietf.org/html/rfc5227">RFC 5224</ulink>. Defaults to
+            <literal>unset</literal>.</para>
           </listitem>
         </varlistentry>
-       </variablelist>
+
+      </variablelist>
    </refsect1>
 
   <refsect1>
@@ -1978,88 +2000,67 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
       <varname>DHCP=</varname> setting described above, or invoked by the IPv6 Router Advertisement:</para>
 
       <variablelist class='network-directives'>
-        <varlistentry>
-          <term><varname>UseAddress=</varname></term>
-          <listitem>
-            <para>When true (the default), the IP addresses provided by the DHCPv6 server will be
-            assigned.</para>
-          </listitem>
-        </varlistentry>
+
+        <!-- DHCP packet contents -->
 
         <varlistentry>
-          <term><varname>UseDNS=</varname></term>
-          <term><varname>UseNTP=</varname></term>
-          <term><varname>UseHostname=</varname></term>
-          <term><varname>UseDomains=</varname></term>
+          <term><varname>MUDURL=</varname></term>
           <term><varname>IAID=</varname></term>
           <term><varname>DUIDType=</varname></term>
           <term><varname>DUIDRawData=</varname></term>
+          <term><varname>RequestOptions=</varname></term>
           <listitem>
             <para>As in the [DHCPv4] section.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>RapidCommit=</varname></term>
-          <listitem>
-            <para>Takes a boolean. The DHCPv6 client can obtain configuration parameters from a DHCPv6 server through
-            a rapid two-message exchange (solicit and reply). When the rapid commit option is enabled by both
-            the DHCPv6 client and the DHCPv6 server, the two-message exchange is used, rather than the default
-            four-message exchange (solicit, advertise, request, and reply). The two-message exchange provides
-            faster client configuration and is beneficial in environments in which networks are under a heavy load.
-            See <ulink url="https://tools.ietf.org/html/rfc3315#section-17.2.1">RFC 3315</ulink> for details.
-            Defaults to true.</para>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry>
-          <term><varname>MUDURL=</varname></term>
+          <term><varname>SendOption=</varname></term>
           <listitem>
-            <para>When configured, the specified Manufacturer Usage Description (MUD) URL will be sent to
-            the DHCPv6 server. The syntax and semantics are the same as for <varname>MUDURL=</varname> in the
-            [DHCPv4] section described above.</para>
+            <para>As in the [DHCPv4] section, however because DHCPv6 uses 16-bit fields to store option
+            numbers, the option number is an integer in the range 1…65536.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>RequestOptions=</varname></term>
+          <term><varname>SendVendorOption=</varname></term>
           <listitem>
-            <para>When configured, allows to set arbitrary request options in the DHCPv6 request options list
-            that will be sent to the DHCPv6 server. A whitespace-separated list of integers in the range
-            1…254. Defaults to unset.</para>
+            <para>Send an arbitrary vendor option in the DHCPv6 request. Takes an enterprise identifier, DHCP
+            option number, data type, and data separated with a colon (<literal><replaceable>enterprise
+            identifier</replaceable>:<replaceable>option</replaceable>:<replaceable>type</replaceable>:<replaceable>value</replaceable></literal>).
+            Enterprise identifier is an unsigned integer in the range 1…4294967294. The option number must be
+            an integer in the range 1…254. Data type takes one of <literal>uint8</literal>,
+            <literal>uint16</literal>, <literal>uint32</literal>, <literal>ipv4address</literal>,
+            <literal>ipv6address</literal>, or <literal>string</literal>. Special characters in the data
+            string may be escaped using <ulink
+            url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style
+            escapes</ulink>. This setting can be specified multiple times. If an empty string is specified,
+            then all options specified earlier are cleared. Defaults to unset.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>SendVendorOption=</varname></term>
+          <term><varname>UserClass=</varname></term>
           <listitem>
-            <para>Send an arbitrary vendor option in the DHCPv6 request. Takes an enterprise identifier, DHCP
-            option number, data type, and data separated with a colon (<literal><replaceable>enterprise
-            identifier</replaceable>:<replaceable>option</replaceable>:<replaceable>type</replaceable>:
-            <replaceable>value</replaceable></literal>). Enterprise identifier is an unsigned integer in the
-            range 1–4294967294. The option number must be an integer in the range 1–254. Data type takes one
-            of <literal>uint8</literal>, <literal>uint16</literal>, <literal>uint32</literal>,
-            <literal>ipv4address</literal>, <literal>ipv6address</literal>, or
-            <literal>string</literal>. Special characters in the data string may be escaped using <ulink
+            <para>A DHCPv6 client can use User Class option to identify the type or category of user or
+            applications it represents. The information contained in this option is a string that represents
+            the user class of which the client is a member. Each class sets an identifying string of
+            information to be used by the DHCP service to classify clients. Special characters in the data
+            string may be escaped using <ulink
             url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style
             escapes</ulink>. This setting can be specified multiple times. If an empty string is specified,
-            then all options specified earlier are cleared. Defaults to unset.</para>
+            then all options specified earlier are cleared. Takes a whitespace-separated list of
+            strings. Note that currently <constant>NUL</constant> bytes are not allowed.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>ForceDHCPv6PDOtherInformation=</varname></term>
+          <term><varname>VendorClass=</varname></term>
           <listitem>
-            <para>Takes a boolean that enforces DHCPv6 stateful mode when the 'Other information' bit is set in
-            Router Advertisement messages. By default setting only the 'O' bit in Router Advertisements
-            makes DHCPv6 request network information in a stateless manner using a two-message Information
-            Request and Information Reply message exchange.
-            <ulink url="https://tools.ietf.org/html/rfc7084">RFC 7084</ulink>, requirement WPD-4, updates
-            this behavior for a Customer Edge router so that stateful DHCPv6 Prefix Delegation is also
-            requested when only the 'O' bit is set in Router Advertisements. This option enables such a CE
-            behavior as it is impossible to automatically distinguish the intention of the 'O' bit otherwise.
-            By default this option is set to 'false', enable it if no prefixes are delegated when the device
-            should be acting as a CE router.</para>
+            <para>A DHCPv6 client can use VendorClass option to identify the vendor that manufactured the
+            hardware on which the client is running. The information contained in the data area of this
+            option is contained in one or more opaque fields that identify details of the hardware
+            configuration. Takes a whitespace-separated list of strings.</para>
           </listitem>
         </varlistentry>
 
@@ -2073,45 +2074,63 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
           </listitem>
         </varlistentry>
 
+        <!-- How to use the DHCP lease -->
+
         <varlistentry>
-          <term><varname>WithoutRA=</varname></term>
+          <term><varname>UseAddress=</varname></term>
           <listitem>
-            <para>Allows DHCPv6 client to start without router advertisements's managed or other address
-            configuration flag. Takes one of <literal>solicit</literal> or
-            <literal>information-request</literal>. Defaults to unset.</para>
+            <para>When true (the default), the IP addresses provided by the DHCPv6 server will be
+            assigned.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>SendOption=</varname></term>
+          <term><varname>UseDNS=</varname></term>
+          <term><varname>UseNTP=</varname></term>
+          <term><varname>UseHostname=</varname></term>
+          <term><varname>UseDomains=</varname></term>
           <listitem>
-            <para>As in the [DHCPv4] section, however because DHCPv6 uses 16-bit fields to store
-            option numbers, the option number is an integer in the range 1…65536.</para>
+            <para>As in the [DHCPv4] section.</para>
           </listitem>
         </varlistentry>
 
+        <!-- How to communicate with the server -->
+
         <varlistentry>
-          <term><varname>UserClass=</varname></term>
+          <term><varname>ForceDHCPv6PDOtherInformation=</varname></term>
           <listitem>
-            <para>A DHCPv6 client can use User Class option to identify the type or category of user or applications
-            it represents. The information contained in this option is a string that represents the user class of which
-            the client is a member. Each class sets an identifying string of information to be used by the DHCP
-            service to classify clients. Special characters in the data string may be escaped using
-            <ulink url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style
-            escapes</ulink>. This setting can be specified multiple times. If an empty string is specified,
-            then all options specified earlier are cleared. Takes a whitespace-separated list of strings. Note that
-            currently <constant>NUL</constant> bytes are not allowed.</para>
+            <para>Takes a boolean that enforces DHCPv6 stateful mode when the 'Other information' bit is set in
+            Router Advertisement messages. By default setting only the 'O' bit in Router Advertisements
+            makes DHCPv6 request network information in a stateless manner using a two-message Information
+            Request and Information Reply message exchange.
+            <ulink url="https://tools.ietf.org/html/rfc7084">RFC 7084</ulink>, requirement WPD-4, updates
+            this behavior for a Customer Edge router so that stateful DHCPv6 Prefix Delegation is also
+            requested when only the 'O' bit is set in Router Advertisements. This option enables such a CE
+            behavior as it is impossible to automatically distinguish the intention of the 'O' bit otherwise.
+            By default this option is set to false, enable it if no prefixes are delegated when the device
+            should be acting as a CE router.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term><varname>VendorClass=</varname></term>
+          <term><varname>WithoutRA=</varname></term>
+          <listitem>
+            <para>Allows DHCPv6 client to start without router advertisements's managed or other address
+            configuration flag. Takes one of <literal>solicit</literal> or
+            <literal>information-request</literal>. Defaults to unset.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><varname>RapidCommit=</varname></term>
           <listitem>
-            <para>A DHCPv6 client can use VendorClass option to identify the vendor that
-            manufactured the hardware on which the client is running. The information
-            contained in the data area of this option is contained in one or more opaque
-            fields that identify details of the hardware configuration. Takes a
-            whitespace-separated list of strings.</para>
+            <para>Takes a boolean. The DHCPv6 client can obtain configuration parameters from a DHCPv6 server through
+            a rapid two-message exchange (solicit and reply). When the rapid commit option is enabled by both
+            the DHCPv6 client and the DHCPv6 server, the two-message exchange is used, rather than the default
+            four-message exchange (solicit, advertise, request, and reply). The two-message exchange provides
+            faster client configuration and is beneficial in environments in which networks are under a heavy load.
+            See <ulink url="https://tools.ietf.org/html/rfc3315#section-17.2.1">RFC 3315</ulink> for details.
+            Defaults to true.</para>
           </listitem>
         </varlistentry>
       </variablelist>