summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2015-11-16 16:47:18 +0100
committerTom Gundersen <teg@jklm.no>2015-11-17 13:26:46 +0100
commit62379e884e8a30cabbad994095c76e2f44b8f425 (patch)
tree48e04258a1a980091b073a9c9e47f17883bbd06a
parent63348d13fae61fefcb29133bfae8371b33cf4b6d (diff)
downloadsystemd-62379e884e8a30cabbad994095c76e2f44b8f425.tar.gz
networkd: ndisc - always configure dhcp6 client
The ndisc client may trigger the dhcpv6 client to be started (this is the common case), so we should allocate the dhcpv6 client whenever we allocate the ndisc one.
-rw-r--r--src/network/networkd-dhcp6.c3
-rw-r--r--src/network/networkd-link.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
index f83ff54369..e67e51f7ef 100644
--- a/src/network/networkd-dhcp6.c
+++ b/src/network/networkd-dhcp6.c
@@ -211,6 +211,9 @@ int dhcp6_configure(Link *link) {
assert(link);
+ if (link->dhcp6_client)
+ return 0;
+
r = sd_dhcp6_client_new(&client);
if (r < 0)
return r;
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index f97600e2b5..ba64473cd3 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -2089,7 +2089,8 @@ static int link_configure(Link *link) {
return r;
}
- if (link_dhcp6_enabled(link)) {
+ if (link_dhcp6_enabled(link) ||
+ link_ipv6_accept_ra_enabled(link)) {
r = dhcp6_configure(link);
if (r < 0)
return r;