summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/network/networkd-dhcp6.c6
-rw-r--r--src/network/networkd-radv.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
index 8fbd2ff733..675f19c92d 100644
--- a/src/network/networkd-dhcp6.c
+++ b/src/network/networkd-dhcp6.c
@@ -160,7 +160,8 @@ static int dhcp6_pd_remove_old(Link *link, bool force) {
if (k < 0)
r = k;
- (void) sd_radv_remove_prefix(link->radv, &route->dst.in6, 64);
+ if (link->radv)
+ (void) sd_radv_remove_prefix(link->radv, &route->dst.in6, 64);
dhcp6_pd_free(hashmap_get(link->manager->dhcp6_prefixes, &route->dst.in6));
}
@@ -201,7 +202,8 @@ int dhcp6_pd_remove(Link *link) {
if (k < 0)
r = k;
- (void) sd_radv_remove_prefix(link->radv, &route->dst.in6, 64);
+ if (link->radv)
+ (void) sd_radv_remove_prefix(link->radv, &route->dst.in6, 64);
dhcp6_pd_free(hashmap_get(link->manager->dhcp6_prefixes, &route->dst.in6));
}
diff --git a/src/network/networkd-radv.c b/src/network/networkd-radv.c
index e0c490baba..003a50b68b 100644
--- a/src/network/networkd-radv.c
+++ b/src/network/networkd-radv.c
@@ -681,7 +681,9 @@ int radv_add_prefix(Link *link, const struct in6_addr *prefix, uint8_t prefix_le
int r;
assert(link);
- assert(link->radv);
+
+ if (!link->radv)
+ return 0;
r = sd_radv_prefix_new(&p);
if (r < 0)