diff --git a/man/systemd.network.xml b/man/systemd.network.xml index 530319606a..ac8cd1342d 100644 --- a/man/systemd.network.xml +++ b/man/systemd.network.xml @@ -2172,9 +2172,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 +2508,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;