summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ospfd/interface.c
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2015-11-22 13:09:10 +0000
committerclaudio <claudio@openbsd.org>2015-11-22 13:09:10 +0000
commit062672287c6c3db1367c20b45bd5e58253ec0423 (patch)
tree0f9e2a13796b67525da718645f73f61c690e183d /usr.sbin/ospfd/interface.c
parentremove unneeded prototypes (diff)
downloadwireguard-openbsd-062672287c6c3db1367c20b45bd5e58253ec0423.tar.xz
wireguard-openbsd-062672287c6c3db1367c20b45bd5e58253ec0423.zip
Improve ABR support especially for self-originated stub networks.
This seems to solve the last issues people reported when using ospfd in multiple areas. OK sthen@ prodding by deraadt@
Diffstat (limited to 'usr.sbin/ospfd/interface.c')
-rw-r--r--usr.sbin/ospfd/interface.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.sbin/ospfd/interface.c b/usr.sbin/ospfd/interface.c
index 1c8fca2f388..069da3d5b47 100644
--- a/usr.sbin/ospfd/interface.c
+++ b/usr.sbin/ospfd/interface.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: interface.c,v 1.79 2015/09/27 17:31:50 stsp Exp $ */
+/* $OpenBSD: interface.c,v 1.80 2015/11/22 13:09:10 claudio Exp $ */
/*
* Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org>
@@ -136,8 +136,10 @@ if_fsm(struct iface *iface, enum iface_event event)
if (new_state != 0)
iface->state = new_state;
- if (iface->state != old_state)
+ if (iface->state != old_state) {
+ area_track(iface->area);
orig_rtr_lsa(iface->area);
+ }
if (old_state & (IF_STA_MULTI | IF_STA_POINTTOPOINT) &&
(iface->state & (IF_STA_MULTI | IF_STA_POINTTOPOINT)) == 0)