---
ldpe.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/ldpe.c b/ldpe.c
index f643272..d422603 100644
--- a/ldpe.c
+++ b/ldpe.c
@@ -414,17 +414,18 @@ ldpe_dispatch_main(int fd, short event, void *bula)
break;
LIST_REMOVE(if_addr, global_entry);
+ iface = if_lookup(kaddr->ifindex);
+ if (iface) {
+ LIST_REMOVE(if_addr, iface_entry);
+ if_fsm(iface, IF_EVT_DELADDR);
+ }
+
RB_FOREACH(nbr, nbr_id_head, &nbrs_by_id) {
if (nbr->state != NBR_STA_OPER)
continue;
send_address_withdraw(nbr, if_addr);
}
- iface = if_lookup(kaddr->ifindex);
- if (iface) {
- LIST_REMOVE(if_addr, iface_entry);
- if_fsm(iface, IF_EVT_DELADDR);
- }
free(if_addr);
break;
case IMSG_RECONF_CONF:
--
1.9.1