Skip to content

Commit 8cd37e4

Browse files
yuwatakeszybz
authored andcommitted
network: do not require DHCPv6 addresses when UseAddress=no
Follow-up for 1536b7b. Fixes systemd#19196.
1 parent 708b299 commit 8cd37e4

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

src/network/networkd-dhcp6.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@
2525
#include "radv-internal.h"
2626
#include "web-util.h"
2727

28+
bool link_dhcp6_with_address_enabled(Link *link) {
29+
if (!link_dhcp6_enabled(link))
30+
return false;
31+
32+
return link->network->dhcp6_use_address;
33+
}
34+
2835
bool link_dhcp6_pd_is_enabled(Link *link) {
2936
assert(link);
3037

src/network/networkd-dhcp6.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ typedef struct DHCP6DelegatedPrefix {
2626
DHCP6DelegatedPrefix *dhcp6_pd_free(DHCP6DelegatedPrefix *p);
2727
DEFINE_TRIVIAL_CLEANUP_FUNC(DHCP6DelegatedPrefix*, dhcp6_pd_free);
2828

29+
bool link_dhcp6_with_address_enabled(Link *link);
2930
bool link_dhcp6_pd_is_enabled(Link *link);
3031
int dhcp6_pd_remove(Link *link);
3132
int dhcp6_configure(Link *link);

src/network/networkd-link.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -779,7 +779,7 @@ void link_check_ready(Link *link) {
779779
break;
780780
}
781781

782-
if ((link_dhcp4_enabled(link) || link_dhcp6_enabled(link) || link_ipv4ll_enabled(link)) &&
782+
if ((link_dhcp4_enabled(link) || link_dhcp6_with_address_enabled(link) || link_ipv4ll_enabled(link)) &&
783783
!link->dhcp_address && set_isempty(link->dhcp6_addresses) && !has_ndisc_address &&
784784
!link->ipv4ll_address_configured)
785785
/* When DHCP[46] or IPv4LL is enabled, at least one address is acquired by them. */

0 commit comments

Comments
 (0)