<varlistentry>
<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>no</literal>, <literal>solicit</literal>
- or <literal>information-request</literal>. If this is not specified,
+ <para>Allows DHCPv6 client to start without router advertisements's
+ <literal>managed</literal> or <literal>other configuration</literal> flag. Takes one of
+ <literal>no</literal>, <literal>solicit</literal>, or
+ <literal>information-request</literal>. If this is not specified,
<literal>solicit</literal> is used when <varname>DHCPPrefixDelegation=</varname> is enabled
and <varname>UplinkInterface=:self</varname> is specified in the [DHCPPrefixDelegation]
section. Otherwise, defaults to <literal>no</literal>, and the DHCPv6 client will be started
<term><varname>DHCPv6Client=</varname></term>
<listitem>
<para>Takes a boolean, or the special value <literal>always</literal>. When true, the
- DHCPv6 client will be started when the RA has the managed or other information flag. If set
- to <literal>always</literal>, the DHCPv6 client will be started in managed mode when an RA
- is received, even if neither managed nor other information flag is set in the RA. This will
- be ignored when <varname>WithoutRA=</varname> in the [DHCPv6] section is enabled, or
+ DHCPv6 client will be started in <literal>solicit</literal> mode if the RA has the
+ <literal>managed</literal> flag or <literal>information-request</literal> mode if the RA
+ lacks the <literal>managed</literal> flag but has the
+ <literal>other configuration</literal> flag. If set to <literal>always</literal>, the
+ DHCPv6 client will be started in <literal>solicit</literal> mode when an RA is received,
+ even if neither the <literal>managed</literal> nor the
+ <literal>other configuration</literal> flag is set in the RA. This will be ignored when
+ <varname>WithoutRA=</varname> in the [DHCPv6] section is enabled, or
<varname>UplinkInterface=:self</varname> in the [DHCPPrefixDelegation] section is
specified. Defaults to true.</para>
</listitem>
}
log_dhcp6_client(client, "Starting in %s mode",
- client->information_request ? "Information request" : "Managed");
+ client->information_request ? "Information request" : "Solicit");
return client_start_transaction(client, state);
}
if (link->network->dhcp6_client_start_mode >= 0)
return link->network->dhcp6_client_start_mode;
- /* When this interface itself is an uplink interface, then start dhcp6 client in managed mode. */
+ /* When this interface itself is an uplink interface, then start dhcp6 client in solicit mode. */
if (dhcp_pd_is_uplink(link, link, /* accept_auto = */ false))
return DHCP6_CLIENT_START_MODE_SOLICIT;
return log_link_debug_errno(link, r, "DHCPv6 CLIENT: Failed to %s requesting prefixes to be delegated: %m",
enable_disable(link->network->dhcp6_use_pd_prefix));
- /* Even if UseAddress=no, we need to request IA_NA, as the dhcp6 client may be started in managed mode. */
+ /* Even if UseAddress=no, we need to request IA_NA, as the dhcp6 client may be started in solicit mode. */
r = sd_dhcp6_client_set_address_request(client, link->network->dhcp6_use_pd_prefix ? link->network->dhcp6_use_address : true);
if (r < 0)
return log_link_debug_errno(link, r, "DHCPv6 CLIENT: Failed to %s requesting address: %m",
return 0;
/* (re)start DHCPv6 client in stateful or stateless mode according to RA flags.
- * Note, if both managed and other information bits are set, then ignore other
- * information bit. See RFC 4861. */
+ * Note, if both "managed" and "other configuration" bits are set, then ignore
+ * "other configuration" bit. See RFC 4861. */
r = dhcp6_start_on_ra(link, !(flags & ND_RA_FLAG_MANAGED));
break;
}
case IPV6_ACCEPT_RA_START_DHCP6_CLIENT_ALWAYS:
- /* When IPv6AcceptRA.DHCPv6Client=always, start dhcp6 client in managed mode
+ /* When IPv6AcceptRA.DHCPv6Client=always, start dhcp6 client in solicit mode
* even if the router flags have neither M nor O flags. */
r = dhcp6_start_on_ra(link, /* information_request = */ false);
break;