summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/network/networkd-address.c11
-rw-r--r--src/network/networkd-link.c5
2 files changed, 11 insertions, 5 deletions
diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c
index 549f5f1f82..c188320872 100644
--- a/src/network/networkd-address.c
+++ b/src/network/networkd-address.c
@@ -9,6 +9,7 @@
#include "netlink-util.h"
#include "networkd-address-pool.h"
#include "networkd-address.h"
+#include "networkd-ipv6-proxy-ndp.h"
#include "networkd-manager.h"
#include "networkd-network.h"
#include "parse-util.h"
@@ -911,6 +912,7 @@ int address_configure(
static int static_address_ready_callback(Address *address) {
Address *a;
Link *link;
+ int r;
assert(address);
assert(address->link);
@@ -935,6 +937,10 @@ static int static_address_ready_callback(Address *address) {
link->addresses_ready = true;
+ r = link_set_ipv6_proxy_ndp_addresses(link);
+ if (r < 0)
+ return r;
+
return link_set_routes(link);
}
@@ -1059,6 +1065,11 @@ int link_set_addresses(Link *link) {
if (link->address_messages == 0) {
link->addresses_configured = true;
link->addresses_ready = true;
+
+ r = link_set_ipv6_proxy_ndp_addresses(link);
+ if (r < 0)
+ return r;
+
r = link_set_routes(link);
if (r < 0)
return r;
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index ccefb46cbc..aacfc31c52 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -29,7 +29,6 @@
#include "networkd-dhcp6.h"
#include "networkd-fdb.h"
#include "networkd-ipv4ll.h"
-#include "networkd-ipv6-proxy-ndp.h"
#include "networkd-link-bus.h"
#include "networkd-link.h"
#include "networkd-lldp-tx.h"
@@ -2036,10 +2035,6 @@ int link_configure(Link *link) {
if (r < 0)
return r;
- r = link_set_ipv6_proxy_ndp_addresses(link);
- if (r < 0)
- return r;
-
r = link_set_mac(link);
if (r < 0)
return r;