config: recheck have_link_local on interface reload if already init
[project/odhcpd.git] / src / config.c
index 30da8794487e8f65577f14969df38d96d81a0b60..27e7f0375adf30a29388215f1fd142f6da4d4b47 100644 (file)
@@ -600,6 +600,15 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr
                        iface->addr4_len = len;
        }
 
+       for (size_t i = 0; i < iface->addr6_len; i++) {
+               struct odhcpd_ipaddr *addr = &iface->addr6[i];
+
+               if (!addr->tentative) {
+                       iface->have_link_local = true;
+                       break;
+               }
+       }
+
        iface->inuse = true;
 
        if ((c = tb[IFACE_ATTR_DYNAMICDHCP]))