summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/ospf6d/neighbor.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.sbin/ospf6d/neighbor.c b/usr.sbin/ospf6d/neighbor.c
index 8407c02887c..3ab2126052f 100644
--- a/usr.sbin/ospf6d/neighbor.c
+++ b/usr.sbin/ospf6d/neighbor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: neighbor.c,v 1.9 2009/02/19 22:00:31 stsp Exp $ */
+/* $OpenBSD: neighbor.c,v 1.10 2009/02/19 22:02:59 stsp Exp $ */
/*
* Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org>
@@ -195,9 +195,6 @@ nbr_fsm(struct nbr *nbr, enum nbr_event event)
if (old_state != nbr->state) {
nbr->stats.sta_chng++;
- /* state change inform RDE */
- ospfe_imsg_compose_rde(IMSG_NEIGHBOR_CHANGE,
- nbr->peerid, 0, &nbr->state, sizeof(nbr->state));
if (old_state & NBR_STA_FULL || nbr->state & NBR_STA_FULL) {
extern struct ospfd_conf *oeconf; /* XXX */
@@ -215,6 +212,10 @@ nbr_fsm(struct nbr *nbr, enum nbr_event event)
nbr->uptime = now.tv_sec;
}
+ /* state change inform RDE */
+ ospfe_imsg_compose_rde(IMSG_NEIGHBOR_CHANGE,
+ nbr->peerid, 0, &nbr->state, sizeof(nbr->state));
+
/* bidirectional communication lost */
if (old_state & ~NBR_STA_PRELIM && nbr->state & NBR_STA_PRELIM)
if_fsm(nbr->iface, IF_EVT_NBR_CHNG);