summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ospf6d/interface.c
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2011-07-04 04:08:34 +0000
committerclaudio <claudio@openbsd.org>2011-07-04 04:08:34 +0000
commit4b3b5807368b9e26093ce772a2a57d89cabf62d0 (patch)
tree43c15dde87ab1fc3d690660022347f4383b4ce7f /usr.sbin/ospf6d/interface.c
parentredo the timeout and input handling. unify them and fix some bugs. (diff)
downloadwireguard-openbsd-4b3b5807368b9e26093ce772a2a57d89cabf62d0.tar.xz
wireguard-openbsd-4b3b5807368b9e26093ce772a2a57d89cabf62d0.zip
Make sure that passive interfaces (like carp) are added to the
intra-area rtr LSA. Diff initialy made by Patrick Coleman but simplified by myself. Tested and OK dlg@
Diffstat (limited to 'usr.sbin/ospf6d/interface.c')
-rw-r--r--usr.sbin/ospf6d/interface.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/usr.sbin/ospf6d/interface.c b/usr.sbin/ospf6d/interface.c
index 0d085a15288..6779b962c65 100644
--- a/usr.sbin/ospf6d/interface.c
+++ b/usr.sbin/ospf6d/interface.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: interface.c,v 1.16 2011/05/06 13:48:46 claudio Exp $ */
+/* $OpenBSD: interface.c,v 1.17 2011/07/04 04:08:34 claudio Exp $ */
/*
* Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org>
@@ -145,11 +145,11 @@ if_fsm(struct iface *iface, enum iface_event event)
if (iface->state != old_state) {
orig_rtr_lsa(iface);
orig_link_lsa(iface);
-
- /* state change inform RDE */
- ospfe_imsg_compose_rde(IMSG_IFINFO,
- iface->self->peerid, 0, iface, sizeof(struct iface));
}
+
+ /* Inform RDE in any case since the link state may have changed */
+ ospfe_imsg_compose_rde(IMSG_IFINFO,
+ iface->self->peerid, 0, iface, sizeof(struct iface));
if (old_state & (IF_STA_MULTI | IF_STA_POINTTOPOINT) &&
(iface->state & (IF_STA_MULTI | IF_STA_POINTTOPOINT)) == 0)