]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: refuse to configure NDISC twice
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 10 Apr 2021 04:37:35 +0000 (13:37 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Sat, 10 Apr 2021 19:16:11 +0000 (20:16 +0100)
src/network/networkd-ndisc.c

index ba7c184b662d115f51c87c6111c3fa43b0415e7b..6830cf592e231be985d8884c4386e03b46f42bfb 100644 (file)
@@ -1315,15 +1315,16 @@ int ndisc_configure(Link *link) {
         if (!link_ipv6_accept_ra_enabled(link))
                 return 0;
 
-        if (!link->ndisc) {
-                r = sd_ndisc_new(&link->ndisc);
-                if (r < 0)
-                        return r;
+        if (link->ndisc)
+                return 0; /* Already configured. */
 
-                r = sd_ndisc_attach_event(link->ndisc, link->manager->event, 0);
-                if (r < 0)
-                        return r;
-        }
+        r = sd_ndisc_new(&link->ndisc);
+        if (r < 0)
+                return r;
+
+        r = sd_ndisc_attach_event(link->ndisc, link->manager->event, 0);
+        if (r < 0)
+                return r;
 
         r = sd_ndisc_set_mac(link->ndisc, &link->hw_addr.addr.ether);
         if (r < 0)