From: Yu Watanabe Date: Tue, 11 Jan 2022 11:56:40 +0000 (+0900) Subject: network: dhcp6: do not request address if UseAddress=no X-Git-Tag: v251-rc1~551 X-Git-Url: http://git-history.diyao.me/?a=commitdiff_plain;h=d5f8fd5b00e938710b5e80396f8b3fab59dd6d00;p=systemd%2F.git network: dhcp6: do not request address if UseAddress=no Fixes #22068. --- diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c index 9e90366993..e591043111 100644 --- a/src/network/networkd-dhcp6.c +++ b/src/network/networkd-dhcp6.c @@ -646,9 +646,15 @@ static int dhcp6_configure(Link *link) { r = sd_dhcp6_client_set_prefix_delegation(client, link->network->dhcp6_use_pd_prefix); if (r < 0) - return log_link_debug_errno(link, r, "DHCPv6 CLIENT: Failed to %s prefix delegation: %m", + 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. */ + 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", + enable_disable(link->network->dhcp6_use_address)); + if (link->network->dhcp6_pd_prefix_length > 0) { r = sd_dhcp6_client_set_prefix_delegation_hint(client, link->network->dhcp6_pd_prefix_length,