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