diff --git a/man/systemd.network.xml b/man/systemd.network.xml
index 530319606a..c2ce1b1d69 100644
--- a/man/systemd.network.xml
+++ b/man/systemd.network.xml
@@ -328,9 +328,10 @@
no.
Note that DHCPv6 will by default be triggered by Router Advertisement, if that is
- enabled, regardless of this parameter. By enabling DHCPv6 support explicitly, the DHCPv6
- client will be started regardless of the presence of routers on the link, or what flags the
- routers pass. See IPv6AcceptRA=.
+ enabled, regardless of this parameter. By explicitly enabling DHCPv6 support here, the
+ DHCPv6 client will be started in the mode specified by the WithoutRA=
+ setting in the [DHCPv6] section, regardless of the presence of routers on the link, or
+ what flags the routers pass. See IPv6AcceptRA=.
Furthermore, note that by default the domain name specified through DHCP is not used
for name resolution. See option below.
@@ -2172,9 +2173,10 @@ Table=1234
WithoutRA=
- Allows DHCPv6 client to start without router advertisements's managed or other
- address configuration flag. Takes one of no, solicit
- or information-request. If this is not specified,
+ Allows DHCPv6 client to start without router advertisements's
+ managed or other configuration flag. Takes one of
+ no, solicit, or
+ information-request. If this is not specified,
solicit is used when DHCPPrefixDelegation= is enabled
and UplinkInterface=:self is specified in the [DHCPPrefixDelegation]
section. Otherwise, defaults to no, and the DHCPv6 client will be started
@@ -2507,10 +2509,14 @@ Token=prefixstable:2002:da8:1::DHCPv6Client=Takes a boolean, or the special value always. When true, the
- DHCPv6 client will be started when the RA has the managed or other information flag. If set
- to always, 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 WithoutRA= in the [DHCPv6] section is enabled, or
+ DHCPv6 client will be started in solicit mode if the RA has the
+ managed flag or information-request mode if the RA
+ lacks the managed flag but has the
+ other configuration flag. If set to always, the
+ DHCPv6 client will be started in solicit mode when an RA is received,
+ even if neither the managed nor the
+ other configuration flag is set in the RA. This will be ignored when
+ WithoutRA= in the [DHCPv6] section is enabled, or
UplinkInterface=:self in the [DHCPPrefixDelegation] section is
specified. Defaults to true.
diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
index a2725c99c6..b346a50d78 100644
--- a/src/libsystemd-network/sd-dhcp6-client.c
+++ b/src/libsystemd-network/sd-dhcp6-client.c
@@ -1384,7 +1384,7 @@ int sd_dhcp6_client_start(sd_dhcp6_client *client) {
}
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);
}
diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
index 16014dbaff..5786eca803 100644
--- a/src/network/networkd-dhcp6.c
+++ b/src/network/networkd-dhcp6.c
@@ -35,7 +35,7 @@ static DHCP6ClientStartMode link_get_dhcp6_client_start_mode(Link *link) {
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;
@@ -686,7 +686,7 @@ static int dhcp6_configure(Link *link) {
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",
diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
index 8bb4477a2f..efe407fedb 100644
--- a/src/network/networkd-ndisc.c
+++ b/src/network/networkd-ndisc.c
@@ -949,13 +949,13 @@ static int ndisc_start_dhcp6_client(Link *link, sd_ndisc_router *rt) {
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;