summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ospfd/neighbor.c
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2005-05-12 08:55:39 +0000
committerclaudio <claudio@openbsd.org>2005-05-12 08:55:39 +0000
commit317d560cc39b5b879a37a76e11c348c9294d47c1 (patch)
treeb48133a0dd870e8d333e1db549ace84bd9837134 /usr.sbin/ospfd/neighbor.c
parentXr securelevel 7 (diff)
downloadwireguard-openbsd-317d560cc39b5b879a37a76e11c348c9294d47c1.tar.xz
wireguard-openbsd-317d560cc39b5b879a37a76e11c348c9294d47c1.zip
If activly connected to more than one area set B flag in the self-originated
router LSA. To do that correctly we need to track the number of active neighbors for each area. If the routers ABR status changes all router LSA need to be updated via orig_rtr_lsa_all(). OK norby@
Diffstat (limited to 'usr.sbin/ospfd/neighbor.c')
-rw-r--r--usr.sbin/ospfd/neighbor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/ospfd/neighbor.c b/usr.sbin/ospfd/neighbor.c
index 5731cff39e2..0a9ce8b4a03 100644
--- a/usr.sbin/ospfd/neighbor.c
+++ b/usr.sbin/ospfd/neighbor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: neighbor.c,v 1.16 2005/05/01 17:35:27 david Exp $ */
+/* $OpenBSD: neighbor.c,v 1.17 2005/05/12 08:55:39 claudio Exp $ */
/*
* Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org>
@@ -209,6 +209,7 @@ nbr_fsm(struct nbr *nbr, enum nbr_event event)
/* neighbor changed from/to FULL originate new rtr and net LSA */
if (old_state != nbr->state && (old_state & NBR_STA_FULL ||
nbr->state & NBR_STA_FULL)) {
+ area_track(nbr->iface->area, nbr->state);
orig_rtr_lsa(nbr->iface->area);
if (nbr->iface->state & IF_STA_DR)
orig_net_lsa(nbr->iface);