summaryrefslogtreecommitdiff
path: root/usr.sbin/ospf6d/interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/ospf6d/interface.c')
-rw-r--r--usr.sbin/ospf6d/interface.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/ospf6d/interface.c b/usr.sbin/ospf6d/interface.c
index c2c34986c88..ad0fb9f1df5 100644
--- a/usr.sbin/ospf6d/interface.c
+++ b/usr.sbin/ospf6d/interface.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: interface.c,v 1.26 2019/12/22 15:34:52 denis Exp $ */
+/* $OpenBSD: interface.c,v 1.27 2019/12/23 07:33:49 denis Exp $ */
/*
* Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org>
@@ -143,6 +143,7 @@ if_fsm(struct iface *iface, enum iface_event event)
iface->state = new_state;
if (iface->state != old_state) {
+ area_track(iface->area);
orig_rtr_lsa(iface);
orig_link_lsa(iface);
@@ -649,7 +650,7 @@ if_to_ctl(struct iface *iface)
memcpy(ictl.name, iface->name, sizeof(ictl.name));
memcpy(&ictl.addr, &iface->addr, sizeof(ictl.addr));
ictl.rtr_id.s_addr = ospfe_router_id();
- memcpy(&ictl.area, &iface->area_id, sizeof(ictl.area));
+ memcpy(&ictl.area, &iface->area->id, sizeof(ictl.area));
if (iface->dr) {
memcpy(&ictl.dr_id, &iface->dr->id, sizeof(ictl.dr_id));
memcpy(&ictl.dr_addr, &iface->dr->addr, sizeof(ictl.dr_addr));