diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2005-05-12 08:55:40 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2005-05-12 08:55:40 +0000 |
commit | bcbe4b13eb93b6f2d9d53233186733d2079af903 (patch) | |
tree | 51e7d66bde8ccd5865426aaf8545a0be5c05a690 /usr.sbin/ospfd/neighbor.c | |
parent | 1a3b287a0be3f9277039b96380699269417b27b7 (diff) |
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.c | 3 |
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); |