summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ospfd/rde.c
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2006-02-10 13:00:49 +0000
committerclaudio <claudio@openbsd.org>2006-02-10 13:00:49 +0000
commit2d9ff8e6330f4d1cf0b468fe30cc2c82e34b8f7c (patch)
tree06662d6b95b1b796cd771b96198c109dfa72ff7b /usr.sbin/ospfd/rde.c
parentreset $state->{dir} to the correct value after deleting the replaced package. (diff)
downloadwireguard-openbsd-2d9ff8e6330f4d1cf0b468fe30cc2c82e34b8f7c.tar.xz
wireguard-openbsd-2d9ff8e6330f4d1cf0b468fe30cc2c82e34b8f7c.zip
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;