network: dhcp6pd: do not check Announce= setting when the link does not support RADV
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 5 Dec 2021 16:28:43 +0000 (01:28 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 7 Dec 2021 10:44:02 +0000 (19:44 +0900)
src/network/networkd-dhcp-prefix-delegation.c

index 2646aa65df099c1b076e392f338c4eea9f1289ba..61df70fd55d8cf079b0186e9599e6f4ab604a45d 100644 (file)
@@ -534,7 +534,7 @@ static int dhcp6_pd_assign_prefix(
 
         (void) in6_addr_prefix_to_string(&prefix, 64, &buf);
 
-        if (link->network->dhcp6_pd_announce) {
+        if (link_radv_enabled(link) && link->network->dhcp6_pd_announce) {
                 r = radv_add_prefix(link, &prefix, 64, lifetime_preferred_usec, lifetime_valid_usec);
                 if (r < 0)
                         return log_link_warning_errno(link, r,
@@ -571,7 +571,7 @@ static int dhcp6_pd_prepare(Link *link) {
         if (!link_dhcp6_pd_is_enabled(link))
                 return 0;
 
-        if (link->network->dhcp6_pd_announce && !link->radv)
+        if (link_radv_enabled(link) && link->network->dhcp6_pd_announce && !link->radv)
                 return 0;
 
         link_mark_addresses(link, NETWORK_CONFIG_SOURCE_DHCP6PD, NULL);