From 2ea065f9e8334dc4632eb2671e5b1f5857949278 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Mon, 3 Apr 2023 19:42:43 +0200 Subject: Revert "config: recheck have_link_local on interface reload if already init" This reverts commit 29c934d7ab98ca0b5da0e3757b885a1d3c19a2f4. Replace with a better more safe implementation. Signed-off-by: Christian Marangi --- src/config.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/config.c b/src/config.c index 85d77b0..6122fb1 100644 --- a/src/config.c +++ b/src/config.c @@ -594,21 +594,21 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr if (len > 0) iface->addr6_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; + } + } + len = netlink_get_interface_addrs(iface->ifindex, false, &iface->addr4); if (len > 0) 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])) -- cgit v1.2.3