summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd/rde.c
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2006-02-10 13:00:50 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2006-02-10 13:00:50 +0000
commit88af1274777a730c135361dbf4e5f1556cd60fbd (patch)
tree7dc837b99c536386f379855ddd21bb01e7c7d170 /usr.sbin/ospfd/rde.c
parentbedb4609ffe1d8813ab1b57de8296473771f636a (diff)
If ABR only look in the backbone area 0.0.0.0 for summary LSA. OK norby@
Diffstat (limited to 'usr.sbin/ospfd/rde.c')
-rw-r--r--usr.sbin/ospfd/rde.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.sbin/ospfd/rde.c b/usr.sbin/ospfd/rde.c
index 186b2f2f07c..9d88bd33d49 100644
--- a/usr.sbin/ospfd/rde.c
+++ b/usr.sbin/ospfd/rde.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.c,v 1.37 2006/01/12 15:10:02 claudio Exp $ */
+/* $OpenBSD: rde.c,v 1.38 2006/02/10 13:00:49 claudio Exp $ */
/*
* Copyright (c) 2004, 2005 Claudio Jeker <claudio@openbsd.org>
@@ -273,8 +273,12 @@ rde_dispatch_imsg(int fd, short event, void *bula)
fatalx("rde_dispatch_imsg: "
"neighbor does not exist");
- nbr->state = state;
+ if (state != nbr->state && (nbr->state & NBR_STA_FULL ||
+ state & NBR_STA_FULL))
+ area_track(nbr->area, state);
+
+ nbr->state = state;
if (nbr->state & NBR_STA_FULL)
rde_req_list_free(nbr);
break;